diff --git a/examples/tests/text-vertical-center.ts b/examples/tests/text-vertical-center.ts new file mode 100644 index 0000000..ff296ab --- /dev/null +++ b/examples/tests/text-vertical-center.ts @@ -0,0 +1,131 @@ +import type { ExampleSettings } from '../common/ExampleSettings.js'; + +/** + * Visual inspection page for vertical text alignment when + * `lineHeight === boxHeight`. + * + * Each box is a fixed size with a colored background and a horizontal red + * line drawn at the geometric center (y = h / 2). A text node is placed at + * (0, 0) inside the box with `lineHeight = boxHeight` and varying `fontSize`. + * + * What "centered" should mean is the open question — current behavior is + * baseline anchoring, so the *baseline* sits at `halfLeading + ascender` + * from the top of the line box and the visual mass of the glyphs shifts + * with the font's asc / desc ratio. The red guide line lets you eyeball + * how far each glyph row's optical center drifts from the box's geometric + * center as fontSize changes. + */ +export default async function test({ renderer, testRoot }: ExampleSettings) { + testRoot.color = 0xf0f0f0ff; + + const BOX_W = 220; + const BOX_H = 120; + const COL_GAP = 20; + const ROW_GAP = 20; + const MARGIN_X = 40; + const HEADER_H = 60; + const ROW_LABEL_W = 130; + + const FONT_SIZES = [20, 40, 60, 80, 100]; + const SAMPLES: Array<{ label: string; text: string }> = [ + { label: 'caps', text: 'TXYZ' }, + { label: 'mixed', text: 'Abcg' }, + // Mixed-case word with no descenders (caps + lowercase ascenders + + // x-height-only letters). Useful for spotting whether lowercase letters + // sit comfortably with capitals when the descender tail isn't present + // to pull the eye downward. + { label: 'no desc.', text: 'Acme' }, + { label: 'descend.', text: 'gjpqy' }, + { label: 'digits', text: '1234' }, + { label: 'punct.', text: ',._—' }, + ]; + + renderer.createTextNode({ + parent: testRoot, + x: MARGIN_X, + y: 10, + text: 'Vertical centering — lineHeight = boxHeight (red line = box center)', + fontFamily: 'Ubuntu', + fontSize: 28, + color: 0x222222ff, + }); + + // Column labels (one per sample, above the first row) + for (let c = 0; c < SAMPLES.length; c++) { + const col = SAMPLES[c]!; + renderer.createTextNode({ + parent: testRoot, + x: MARGIN_X + ROW_LABEL_W + c * (BOX_W + COL_GAP), + y: HEADER_H, + text: `${col.label}: "${col.text}"`, + fontFamily: 'Ubuntu', + fontSize: 18, + color: 0x333333ff, + }); + } + + const ROWS_Y = HEADER_H + 30; + // A repeating soft palette so each row is easy to distinguish. + const BOX_COLORS = [ + 0xdfe9f5ff, 0xf5e9dfff, 0xe2f0e2ff, 0xf0e2f0ff, 0xfff4ccff, + ]; + + for (let r = 0; r < FONT_SIZES.length; r++) { + const fontSize = FONT_SIZES[r]!; + const rowY = ROWS_Y + r * (BOX_H + ROW_GAP); + + // Row label: which fontSize this row uses. + renderer.createTextNode({ + parent: testRoot, + x: MARGIN_X, + y: rowY + BOX_H / 2, + mountY: 0.5, + text: `fontSize ${fontSize}`, + fontFamily: 'Ubuntu', + fontSize: 20, + color: 0x222222ff, + }); + + for (let c = 0; c < SAMPLES.length; c++) { + const sample = SAMPLES[c]!; + const boxX = MARGIN_X + ROW_LABEL_W + c * (BOX_W + COL_GAP); + + // Colored container. + const box = renderer.createNode({ + parent: testRoot, + x: boxX, + y: rowY, + w: BOX_W, + h: BOX_H, + color: BOX_COLORS[r % BOX_COLORS.length]!, + clipping: true, + }); + + // Geometric center guide. + renderer.createNode({ + parent: box, + x: 0, + y: Math.round(BOX_H / 2), + w: BOX_W, + h: 1, + color: 0xff0000ff, + }); + + // The text under test — lineHeight == box height. + renderer.createTextNode({ + parent: box, + x: 0, + y: 0, + text: sample.text, + fontFamily: 'Ubuntu', + fontSize, + lineHeight: BOX_H, + color: 0x111111ff, + textAlign: 'center', + maxWidth: BOX_W, + }); + } + } + + return testRoot; +} diff --git a/src/core/Stage.ts b/src/core/Stage.ts index 923a617..e3eb43e 100644 --- a/src/core/Stage.ts +++ b/src/core/Stage.ts @@ -21,6 +21,7 @@ import { type TextRenderers, type TrProps, } from './text-rendering/TextRenderer.js'; +import { setBaselineMode } from './text-rendering/TextLayoutEngine.js'; import { EventEmitter } from '../common/EventEmitter.js'; import { ContextSpy } from './lib/ContextSpy.js'; @@ -175,6 +176,12 @@ export class Stage { 'A CorePlatform is not provided in the options', ); + // Configure the engine-wide text baseline anchor before any node is + // created. TextLayoutEngine reads this value when laying out every line; + // setting it during Stage construction ensures it's stable for the + // lifetime of the renderer. + setBaselineMode(options.textBaselineMode); + this.platform = platform; this.startTime = platform.getTimeStamp(); diff --git a/src/core/text-rendering/SdfFontHandler.ts b/src/core/text-rendering/SdfFontHandler.ts index c1ad08b..d938a71 100644 --- a/src/core/text-rendering/SdfFontHandler.ts +++ b/src/core/text-rendering/SdfFontHandler.ts @@ -229,6 +229,43 @@ const processFontData = ( unitsPerEm: 1000, }; + // Derive cap-height from the atlas when the metrics block doesn't already + // supply it. The layout engine uses this value to vertically center + // capital letters on each line. BMFont stores per-glyph `yoffset` as the + // distance from the line-box top to the glyph's top, and `common.base` as + // the distance from the line-box top to the alphabetic baseline — so the + // distance from the baseline up to the top of 'H' (atlas design px) is + // `common.base - H.yoffset`. Converted into font units it slots into + // `FontMetrics.capHeight` alongside the existing ascender / descender + // values and flows through `normalizeFontMetrics`. + if (metrics.capHeight === undefined) { + const capGlyph = glyphMap.get(72); // 'H' + if (capGlyph !== undefined) { + const capHeightAtlasPx = fontData.common.base - capGlyph.yoffset; + metrics = { + ...metrics, + capHeight: (capHeightAtlasPx / fontData.info.size) * metrics.unitsPerEm, + }; + } + // If 'H' isn't in the atlas (icon-only fonts, etc.) we leave capHeight + // undefined and rely on the 0.7 × ascender fallback inside + // normalizeFontMetrics. + } + + // Same derivation for x-height using glyph 'x' (id 120). Only consumed + // when `RendererMainSettings.textBaselineMode === 'x'`; otherwise the + // 0.5 × ascender fallback inside `normalizeFontMetrics` is sufficient. + if (metrics.xHeight === undefined) { + const xGlyph = glyphMap.get(120); // 'x' + if (xGlyph !== undefined) { + const xHeightAtlasPx = fontData.common.base - xGlyph.yoffset; + metrics = { + ...metrics, + xHeight: (xHeightAtlasPx / fontData.info.size) * metrics.unitsPerEm, + }; + } + } + // Cache processed data fontCache.set(fontFamily, { data: fontData, diff --git a/src/core/text-rendering/TextLayoutEngine.ts b/src/core/text-rendering/TextLayoutEngine.ts index 86906fe..0346b14 100644 --- a/src/core/text-rendering/TextLayoutEngine.ts +++ b/src/core/text-rendering/TextLayoutEngine.ts @@ -2,6 +2,7 @@ import type { FontMetrics, MeasureTextFn, NormalizedFontMetrics, + TextBaselineMode, TextLayoutStruct, TextLineStruct, WrappedLinesStruct, @@ -35,18 +36,53 @@ type WrapStrategyFn = ( overflowWidth: number, ) => [string, number, string]; +/** + * Generic Latin-font ratios used when exact metric values aren't available. + * Within a few percent of OS/2 sCapHeight / sxHeight across the common Latin + * families (Ubuntu, Noto, Roboto, Arial, etc.). + */ +const CAP_HEIGHT_FALLBACK_RATIO = 0.7; +const X_HEIGHT_FALLBACK_RATIO = 0.5; + export const normalizeFontMetrics = ( metrics: FontMetrics, fontSize: number, ): NormalizedFontMetrics => { const scale = fontSize / metrics.unitsPerEm; + const capHeightUnits = + metrics.capHeight !== undefined + ? metrics.capHeight + : metrics.ascender * CAP_HEIGHT_FALLBACK_RATIO; + const xHeightUnits = + metrics.xHeight !== undefined + ? metrics.xHeight + : metrics.ascender * X_HEIGHT_FALLBACK_RATIO; return { ascender: metrics.ascender * scale, descender: metrics.descender * scale, lineGap: metrics.lineGap * scale, + capHeight: capHeightUnits * scale, + xHeight: xHeightUnits * scale, }; }; +/** + * Engine-wide per-line baseline anchor. Configured once at renderer creation + * via {@link RendererMainSettings.textBaselineMode}, not exposed per node so + * a single app can't mix anchor models across its text. Defaults to `'cap'` + * — see {@link TextBaselineMode} for the rationale. + */ +let baselineMode: TextBaselineMode = 'cap'; + +/** + * Sets the engine-wide baseline anchor. Called by `Stage` during construction; + * not intended to be called from user code (changing this mid-session would + * silently reflow every cached text layout). + */ +export const setBaselineMode = (mode: TextBaselineMode): void => { + baselineMode = mode; +}; + export const mapTextLayout = ( measureText: MeasureTextFn, metrics: NormalizedFontMetrics, @@ -61,18 +97,12 @@ export const mapTextLayout = ( maxWidth: number, maxHeight: number, ): TextLayoutStruct => { - const ascPx = metrics.ascender; - const descPx = metrics.descender; - const lineGapPx = metrics.lineGap; - // Default line height matches CSS 'normal': ascender + lineGap - descender. - // descPx is negative for descents below the baseline. - const bareLineHeight = ascPx - descPx + lineGapPx; + // metrics.descender is negative for descents below the baseline, so + // subtracting it adds the descent depth. + const bareLineHeight = metrics.ascender - metrics.descender + metrics.lineGap; const lineHeightPx = lineHeight <= 3 ? lineHeight * bareLineHeight : lineHeight; - // Half-leading: extra space split evenly above the ascent and below the descent. - // Negative when the user requests a line height smaller than the font's own extent. - const halfLeading = (lineHeightPx - bareLineHeight) * 0.5; let effectiveMaxLines = maxLines; @@ -154,9 +184,46 @@ export const mapTextLayout = ( const effectiveMaxHeight = effectiveLineAmount * lineHeightPx; // line[4] stores the alphabetic baseline Y of each line in screen px. - // The first baseline sits half-leading + ascender below the line box top, - // matching CSS line box layout. - const firstBaselineY = halfLeading + ascPx; + // + // ── Per-line anchor: cap-height centering ───────────────────────────── + // + // baselineY(i) = lineHeight/2 + capHeight/2 + i × lineHeight + // + // The baseline sits below the line's geometric mid-line by exactly + // `capHeight / 2`, so the top of an uppercase letter lands the same + // distance *above* the mid-line — i.e. capital letters bracket the + // center symmetrically. Cap-height centering matches what designers + // expect for UI text (button labels, headings, badges): TXYZ and 1234 + // sit centered; descenders like 'gjpq' hang slightly below, mirroring + // CSS button behavior in browsers. + // + // Alternative anchors considered (kept here for the record): + // + // ── x-height centering ────────────────────────────────────────────── + // baselineY(i) = lineHeight/2 + xHeight/2 + i × lineHeight + // Centers lowercase letters on the mid-line. Matches CSS inline + // `vertical-align: middle`. Reads well for running body text but + // capitals appear high in headings/labels — wrong default for TV UI. + // + // ── line-box centering (pre-cap-height behavior) ─────────────────── + // const halfLeading = (lineHeightPx − bareLineHeight) / 2 + // baselineY(i) = halfLeading + ascender + i × lineHeight + // Centers the abstract asc-to-desc-plus-leading rectangle. The visible + // ink lands noticeably high because asc/(asc−desc) is asymmetric for + // most Latin fonts (~4.2:1 for Ubuntu). Mathematically tidy, visually + // wrong. + // + // The active anchor is configured at renderer creation via + // `RendererMainSettings.textBaselineMode`. Defaults to `'cap'`. + let firstBaselineY: number; + if (baselineMode === 'x') { + firstBaselineY = (lineHeightPx + metrics.xHeight) * 0.5; + } else if (baselineMode === 'linebox') { + const halfLeading = (lineHeightPx - bareLineHeight) * 0.5; + firstBaselineY = halfLeading + metrics.ascender; + } else { + firstBaselineY = (lineHeightPx + metrics.capHeight) * 0.5; + } for (let i = 0; i < effectiveLineAmount; i++) { const line = lines[i] as TextLineStruct; line[4] = firstBaselineY + lineHeightPx * i; diff --git a/src/core/text-rendering/TextRenderer.ts b/src/core/text-rendering/TextRenderer.ts index 1ee56d9..5ba41e6 100644 --- a/src/core/text-rendering/TextRenderer.ts +++ b/src/core/text-rendering/TextRenderer.ts @@ -14,6 +14,24 @@ export type TextBaseline = | 'bottom'; export type TextVerticalAlign = 'top' | 'middle' | 'bottom'; export type TextRenderers = 'canvas' | 'sdf'; + +/** + * Selects which font-derived height the text layout engine centers on each + * line's geometric mid-line. Configured via {@link RendererMainSettings} and + * cannot be overridden per node — see the engine-wide reasoning in + * `TextLayoutEngine.mapTextLayout`. + * + * - `'cap'` (default): capital letters centered. Best for UI text — button + * labels, headings, badges. Capitals and digits bracket the center + * symmetrically; descenders hang slightly below, matching CSS button + * behavior in browsers. + * - `'x'`: lowercase x-height centered. Better for running body text; + * capitals appear slightly high in headings. + * - `'linebox'`: legacy. Centers the abstract asc-to-desc-plus-leading + * rectangle. Mathematically tidy but visually unbalanced because most + * Latin fonts have asymmetric asc/desc ratios. + */ +export type TextBaselineMode = 'cap' | 'x' | 'linebox'; /** * Structure mapping font family names to a set of font faces. */ @@ -41,24 +59,54 @@ export interface FontMetrics { * The number of font units per 1 EM. */ unitsPerEm: number; + /** + * The distance, in font units, from the baseline to the top of an uppercase + * letter (OS/2 sCapHeight). + * + * Used by the layout engine to vertically center capital letters on each + * line's geometric mid-line. When absent, the SDF backend derives this + * value from glyph `H` (id 72) in the BMFont atlas; the Canvas backend + * falls back to `0.7 × ascender` (a generic Latin-font approximation). + */ + capHeight?: number; + /** + * The distance, in font units, from the baseline to the top of a lowercase + * letter (OS/2 sxHeight). Optional; used only when the baseline-anchor + * mode is set to x-height centering (experimental). + */ + xHeight?: number; } /** - * Normalized font metrics where values are expressed as a fraction of 1 EM. + * Normalized font metrics where values are expressed in pixels at the + * configured font size (em-px). */ export interface NormalizedFontMetrics { /** - * The distance, as a fraction of 1 EM, from the baseline to the highest point of the font. + * The distance, in em-px, from the baseline to the highest point of the font. */ ascender: number; /** - * The distance, as a fraction of 1 EM, from the baseline to the lowest point of the font. + * The distance, in em-px, from the baseline to the lowest point of the font. */ descender: number; /** - * The additional space used in the calculation of the default line height as a fraction of 1 EM + * The additional space used in the calculation of the default line height, in em-px. */ lineGap: number; + /** + * The distance, in em-px, from the baseline to the top of an uppercase letter. + * Always populated; derived or approximated when {@link FontMetrics.capHeight} + * is not provided by the caller. + */ + capHeight: number; + /** + * The distance, in em-px, from the baseline to the top of a lowercase letter. + * Always populated; derived from glyph `x` for SDF, falls back to + * `0.5 × ascender` otherwise. Only used by the experimental x-height + * baseline-anchor mode. + */ + xHeight: number; } /** diff --git a/src/main-api/Renderer.ts b/src/main-api/Renderer.ts index 082a4a4..cedec0b 100644 --- a/src/main-api/Renderer.ts +++ b/src/main-api/Renderer.ts @@ -6,7 +6,10 @@ import { CoreNode, type CoreNodeProps } from '../core/CoreNode.js'; import { type CoreTextNodeProps } from '../core/CoreTextNode.js'; import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js'; import type { TextureMemoryManagerSettings } from '../core/TextureMemoryManager.js'; -import type { TextRenderer } from '../core/text-rendering/TextRenderer.js'; +import type { + TextBaselineMode, + TextRenderer, +} from '../core/text-rendering/TextRenderer.js'; import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js'; import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js'; import type { Inspector, InspectorOptions } from './Inspector.js'; @@ -363,6 +366,28 @@ export type RendererMainSettings = RendererRuntimeSettings & { */ fontEngines: TextRenderer[]; + /** + * Per-line vertical baseline anchor used by the text layout engine. + * + * @remarks + * Picks which font-derived height is centered on each line's geometric + * mid-line. This is engine-wide and intentionally not exposed per node — + * mixing anchor models within one app produces visually inconsistent text. + * + * - `'cap'` (default): capital letters and digits sit centered on the line. + * Best fit for UI text (button labels, headings, badges); descenders on + * words like 'gjpq' hang slightly below center, matching CSS button + * behavior in browsers. + * - `'x'`: lowercase x-height is centered. Better for running body text; + * capitals appear slightly high in headings. + * - `'linebox'`: legacy mode. Centers the asc/lineGap/desc rectangle. + * Mathematically tidy but visually unbalanced because most Latin fonts + * have asymmetric asc/desc ratios. + * + * @defaultValue `'cap'` + */ + textBaselineMode: TextBaselineMode; + /** * Force WebGL2 * @@ -530,6 +555,7 @@ export class RendererMain extends EventEmitter { renderEngine: settings.renderEngine, quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024, fontEngines: settings.fontEngines ?? [], + textBaselineMode: settings.textBaselineMode ?? 'cap', textureProcessingTimeLimit: settings.textureProcessingTimeLimit || 10, canvas: settings.canvas, createImageBitmapSupport: settings.createImageBitmapSupport || 'full', @@ -588,6 +614,7 @@ export class RendererMain extends EventEmitter { eventBus: this, quadBufferSize: settings.quadBufferSize!, fontEngines: settings.fontEngines!, + textBaselineMode: settings.textBaselineMode!, inspector: settings.inspector !== null, targetFPS: settings.targetFPS!, textureProcessingTimeLimit: settings.textureProcessingTimeLimit!, diff --git a/visual-regression/certified-snapshots/chromium-ci/alignment-1.png b/visual-regression/certified-snapshots/chromium-ci/alignment-1.png index aa4d835..a49ac96 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/alignment-1.png and b/visual-regression/certified-snapshots/chromium-ci/alignment-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/alpha-blending-1.png b/visual-regression/certified-snapshots/chromium-ci/alpha-blending-1.png index 014db23..3def764 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/alpha-blending-1.png and b/visual-regression/certified-snapshots/chromium-ci/alpha-blending-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/alpha-blending-2.png b/visual-regression/certified-snapshots/chromium-ci/alpha-blending-2.png index 97e1b91..af49983 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/alpha-blending-2.png and b/visual-regression/certified-snapshots/chromium-ci/alpha-blending-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/autosize-1.png b/visual-regression/certified-snapshots/chromium-ci/autosize-1.png index 04e322f..a085609 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/autosize-1.png and b/visual-regression/certified-snapshots/chromium-ci/autosize-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/autosize-2.png b/visual-regression/certified-snapshots/chromium-ci/autosize-2.png index 2673b7e..33ccdca 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/autosize-2.png and b/visual-regression/certified-snapshots/chromium-ci/autosize-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-1.png b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-1.png index 37bd308..38fdebc 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-1.png and b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-2.png b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-2.png index b59fe5f..b561d3b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-2.png and b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-3.png b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-3.png index a0a61e4..1784983 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-3.png and b/visual-regression/certified-snapshots/chromium-ci/clear-color-setting-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clipping-1.png b/visual-regression/certified-snapshots/chromium-ci/clipping-1.png index 552fb49..58a0205 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clipping-1.png and b/visual-regression/certified-snapshots/chromium-ci/clipping-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clipping-2.png b/visual-regression/certified-snapshots/chromium-ci/clipping-2.png index 40eeb77..12055d8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clipping-2.png and b/visual-regression/certified-snapshots/chromium-ci/clipping-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/clipping-3.png b/visual-regression/certified-snapshots/chromium-ci/clipping-3.png index c766f7d..494be82 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/clipping-3.png and b/visual-regression/certified-snapshots/chromium-ci/clipping-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/destroy-1.png b/visual-regression/certified-snapshots/chromium-ci/destroy-1.png index 36df8bf..b0381e2 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/destroy-1.png and b/visual-regression/certified-snapshots/chromium-ci/destroy-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/quads-rendered-1.png b/visual-regression/certified-snapshots/chromium-ci/quads-rendered-1.png index d827f88..303ef3a 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/quads-rendered-1.png and b/visual-regression/certified-snapshots/chromium-ci/quads-rendered-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/quads-rendered-2.png b/visual-regression/certified-snapshots/chromium-ci/quads-rendered-2.png index da6a8c4..f2a1920 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/quads-rendered-2.png and b/visual-regression/certified-snapshots/chromium-ci/quads-rendered-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-1.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-1.png index ae1e81a..40f1912 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-1.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-2.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-2.png index 0c4e29b..1cab25e 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-2.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-3.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-3.png index db0b5d4..65f1a24 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-3.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-4.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-4.png index fa1101e..73ef434 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-4.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-5.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-5.png index 363e6b4..d128d3f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-5.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/render-settings-6.png b/visual-regression/certified-snapshots/chromium-ci/render-settings-6.png index ead8bb0..8647516 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/render-settings-6.png and b/visual-regression/certified-snapshots/chromium-ci/render-settings-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/resize-mode-1.png b/visual-regression/certified-snapshots/chromium-ci/resize-mode-1.png index 9052961..29e551c 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/resize-mode-1.png and b/visual-regression/certified-snapshots/chromium-ci/resize-mode-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/resize-mode-2.png b/visual-regression/certified-snapshots/chromium-ci/resize-mode-2.png index eacffb7..fc50d72 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/resize-mode-2.png and b/visual-regression/certified-snapshots/chromium-ci/resize-mode-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/resize-mode-3.png b/visual-regression/certified-snapshots/chromium-ci/resize-mode-3.png index ff178f2..f38dc12 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/resize-mode-3.png and b/visual-regression/certified-snapshots/chromium-ci/resize-mode-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/resize-mode-4.png b/visual-regression/certified-snapshots/chromium-ci/resize-mode-4.png index 5465800..8514ce1 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/resize-mode-4.png and b/visual-regression/certified-snapshots/chromium-ci/resize-mode-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/resize-mode-5.png b/visual-regression/certified-snapshots/chromium-ci/resize-mode-5.png index 8951634..d3d8d77 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/resize-mode-5.png and b/visual-regression/certified-snapshots/chromium-ci/resize-mode-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-1.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-1.png index e4c69d0..1e5b3fa 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-1.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-2.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-2.png index 0da1546..6883b48 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-2.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-3.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-3.png index bda4309..5b3b90d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-3.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-4.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-4.png index bda4309..5b3b90d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-4.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-5.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-5.png index f1f5c3e..6bb842a 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-5.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-6.png b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-6.png index e6880b7..2c4709a 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-6.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-dimension-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/rtt-spritemap-1.png b/visual-regression/certified-snapshots/chromium-ci/rtt-spritemap-1.png index d1afd2d..1216ed7 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/rtt-spritemap-1.png and b/visual-regression/certified-snapshots/chromium-ci/rtt-spritemap-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/scaling-1.png b/visual-regression/certified-snapshots/chromium-ci/scaling-1.png index 14fe631..e6e5b00 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/scaling-1.png and b/visual-regression/certified-snapshots/chromium-ci/scaling-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/scaling-2.png b/visual-regression/certified-snapshots/chromium-ci/scaling-2.png index 606d122..967e630 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/scaling-2.png and b/visual-regression/certified-snapshots/chromium-ci/scaling-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/scaling-3.png b/visual-regression/certified-snapshots/chromium-ci/scaling-3.png index 2226dbc..c5f36ad 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/scaling-3.png and b/visual-regression/certified-snapshots/chromium-ci/scaling-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/shader-animation_animation1-1.png b/visual-regression/certified-snapshots/chromium-ci/shader-animation_animation1-1.png index 6f1dd8a..16a486d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/shader-animation_animation1-1.png and b/visual-regression/certified-snapshots/chromium-ci/shader-animation_animation1-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/shader-animation_startup-1.png b/visual-regression/certified-snapshots/chromium-ci/shader-animation_startup-1.png index ca1df2a..f994de2 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/shader-animation_startup-1.png and b/visual-regression/certified-snapshots/chromium-ci/shader-animation_startup-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-1.png b/visual-regression/certified-snapshots/chromium-ci/text-align-1.png index 59a6bff..080549f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-2.png b/visual-regression/certified-snapshots/chromium-ci/text-align-2.png index 86f7d58..144d7a4 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-3.png b/visual-regression/certified-snapshots/chromium-ci/text-align-3.png index eb982d9..7a21640 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-4.png b/visual-regression/certified-snapshots/chromium-ci/text-align-4.png index 71394fa..54d6cc6 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-5.png b/visual-regression/certified-snapshots/chromium-ci/text-align-5.png index 3893b32..4a350f0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-5.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-align-6.png b/visual-regression/certified-snapshots/chromium-ci/text-align-6.png index b21e95a..ce86992 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-align-6.png and b/visual-regression/certified-snapshots/chromium-ci/text-align-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-alpha-1.png b/visual-regression/certified-snapshots/chromium-ci/text-alpha-1.png index ddafc65..0180ada 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-alpha-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-alpha-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-alpha-2.png b/visual-regression/certified-snapshots/chromium-ci/text-alpha-2.png index 5440389..7747043 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-alpha-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-alpha-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-1.png b/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-1.png index b9de88e..f1ead90 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-2.png b/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-2.png index 3fce90d..342fa6f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-canvas-font-no-metrics-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-1.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-1.png index 61246a5..e28ae56 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-10.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-10.png index 36e6757..ccfc566 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-10.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-10.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-2.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-2.png index 600db21..7480d96 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-3.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-3.png index f217bb4..9f320b8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-4.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-4.png index b98b8fa..82f9e80 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-5.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-5.png index 43cec4e..1f513ec 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-5.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-6.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-6.png index 1c9897c..60cc675 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-6.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-7.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-7.png index a7890f5..b08125b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-7.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-7.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-8.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-8.png index 10de3e2..8eaf7fd 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-8.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-8.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-9.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-9.png index 24f4325..76f0544 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-9.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-9.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-1.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-1.png index e91dfd1..eebf534 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-2.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-2.png index b1e394f..b46c024 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-3.png b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-3.png index c11282e..bc0815b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-contain-adv-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-1.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-1.png index b4c1bd6..09fb890 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-2.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-2.png index be200e1..1082429 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-3.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-3.png index c7c4a15..b7c584c 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-4.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-4.png index 3da3f94..28825ce 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-5.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-5.png index 7004d13..1803d03 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-5.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-6.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-6.png index 7f47493..92cd1a3 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-6.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-7.png b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-7.png index 893ffd9..587d242 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-dimensions-7.png and b/visual-regression/certified-snapshots/chromium-ci/text-dimensions-7.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-jump-1.png b/visual-regression/certified-snapshots/chromium-ci/text-jump-1.png index 327ebd5..2d1830f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-jump-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-jump-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-1.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-1.png index 5e11582..c217dd4 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-2.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-2.png index 9e2e60f..09bb914 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-3.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-3.png index 44937c7..9baf931 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-1.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-1.png index 59a6bff..080549f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-2.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-2.png index 841c425..dcccd71 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-3.png b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-3.png index 8fb41fa..6ad3baf 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-layout-consistency-modified-metrics-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-line-height-1.png b/visual-regression/certified-snapshots/chromium-ci/text-line-height-1.png index 523928b..ae29543 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-line-height-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-line-height-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-max-lines-1.png b/visual-regression/certified-snapshots/chromium-ci/text-max-lines-1.png index 2821d54..5db1fb0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-max-lines-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-max-lines-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-max-lines-2.png b/visual-regression/certified-snapshots/chromium-ci/text-max-lines-2.png index 91ec9aa..2e1a195 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-max-lines-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-max-lines-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-mixed-1.png b/visual-regression/certified-snapshots/chromium-ci/text-mixed-1.png index cffd6fd..b614ef2 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-mixed-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-mixed-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-1.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-1.png index cd2ad1b..03aafc9 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-2.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-2.png index 0463166..7ea3dc1 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-3.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-3.png index cbc528a..27b03ee 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-4.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-4.png index df76c8e..eefd05c 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-5.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-5.png index 4e69d16..b5c72cb 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-5.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-6.png b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-6.png index fd9ae48..887f740 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-6.png and b/visual-regression/certified-snapshots/chromium-ci/text-offscreen-move-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-overflow-suffix-1.png b/visual-regression/certified-snapshots/chromium-ci/text-overflow-suffix-1.png index 1103c5a..cd57d9b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-overflow-suffix-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-overflow-suffix-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-rotation-1.png b/visual-regression/certified-snapshots/chromium-ci/text-rotation-1.png index 02c0b4f..28de446 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-rotation-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-rotation-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-rotation-2.png b/visual-regression/certified-snapshots/chromium-ci/text-rotation-2.png index 7bfdab1..88eb3a0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-rotation-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-rotation-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-1.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-1.png index 50e1027..baa8169 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-2.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-2.png index 60f7354..9155317 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-3.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-3.png index 5954e4c..76eb5d8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-4.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-4.png index 13dfea6..c2a5880 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-5.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-5.png index 2212ab3..15142fb 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-5.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-scaling-6.png b/visual-regression/certified-snapshots/chromium-ci/text-scaling-6.png index 0f1a270..2efb10f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-scaling-6.png and b/visual-regression/certified-snapshots/chromium-ci/text-scaling-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-ssdf-1.png b/visual-regression/certified-snapshots/chromium-ci/text-ssdf-1.png index a65b24c..44728f1 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-ssdf-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-ssdf-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-1.png b/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-1.png index 0168959..c3d4563 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-2.png b/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-2.png index 038c036..353e19f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-vertical-align-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-1.png b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-1.png index d7e540b..845ba78 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-2.png b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-2.png index 1bf4f61..1eda41e 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-3.png b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-3.png index 525ffe4..95dc884 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-4.png b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-4.png index cc4477a..f960148 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-4.png and b/visual-regression/certified-snapshots/chromium-ci/text-wordbreak-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-1.png b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-1.png index af83bab..bae4a37 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-1.png and b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-2.png b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-2.png index 1603559..49ca5ef 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-2.png and b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-3.png b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-3.png index 124228b..d4f28a4 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/text-zwsp-3.png and b/visual-regression/certified-snapshots/chromium-ci/text-zwsp-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/texture-autosize-1.png b/visual-regression/certified-snapshots/chromium-ci/texture-autosize-1.png index 1a862b0..c64df95 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/texture-autosize-1.png and b/visual-regression/certified-snapshots/chromium-ci/texture-autosize-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/texture-factory-1.png b/visual-regression/certified-snapshots/chromium-ci/texture-factory-1.png index 3d9c1ec..66965c8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/texture-factory-1.png and b/visual-regression/certified-snapshots/chromium-ci/texture-factory-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/texture-source-1.png b/visual-regression/certified-snapshots/chromium-ci/texture-source-1.png index d1770d1..19f68a5 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/texture-source-1.png and b/visual-regression/certified-snapshots/chromium-ci/texture-source-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/texture-spritemap-1.png b/visual-regression/certified-snapshots/chromium-ci/texture-spritemap-1.png index f095c1a..c057b3a 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/texture-spritemap-1.png and b/visual-regression/certified-snapshots/chromium-ci/texture-spritemap-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/texture-svg-1.png b/visual-regression/certified-snapshots/chromium-ci/texture-svg-1.png index 9cce1ac..762fdd8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/texture-svg-1.png and b/visual-regression/certified-snapshots/chromium-ci/texture-svg-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/textures-1.png b/visual-regression/certified-snapshots/chromium-ci/textures-1.png index 05b91fa..40642f8 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/textures-1.png and b/visual-regression/certified-snapshots/chromium-ci/textures-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-1.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-1.png index 155eaea..a950c1f 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-1.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-10.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-10.png index 9fa6d88..9126bb0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-10.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-10.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-11.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-11.png index 04a69fc..ed5039d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-11.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-11.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-12.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-12.png index ee42996..5365ac0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-12.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-12.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-2.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-2.png index 14226a8..da15c10 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-2.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-3.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-3.png index c09c884..81186c0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-3.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-4.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-4.png index e7b7fc1..8b84814 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-4.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-5.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-5.png index 7f92a33..515361d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-5.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-6.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-6.png index a4608d5..3ab2a80 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-6.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-7.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-7.png index 609b772..03c9841 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-7.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-7.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-8.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-8.png index 4c1ae6f..57cd1e4 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-8.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-8.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-9.png b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-9.png index 403fad1..03cbc7e 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-9.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-boundsmargin-9.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-1.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-1.png index e37746b..b847d4b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-1.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-10.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-10.png index 3e7ec33..aa4fcc0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-10.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-10.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-11.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-11.png index 3919df3..2a849f3 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-11.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-11.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-12.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-12.png index 34bb1f7..6b8989e 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-12.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-12.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-13.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-13.png index d45227a..56cd3bf 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-13.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-13.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-14.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-14.png index 4e86672..308c1b2 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-14.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-14.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-15.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-15.png index 5cc3a30..0e084fe 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-15.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-15.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-16.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-16.png index 3e7ec33..aa4fcc0 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-16.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-16.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-17.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-17.png index d37018f..66f4b6d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-17.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-17.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-18.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-18.png index 8ad3642..e30cd1d 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-18.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-18.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-2.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-2.png index 8e3f2d2..87c9c20 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-2.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-3.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-3.png index 33f8f08..2b73abd 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-3.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-4.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-4.png index a4d9f74..6ad4c3b 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-4.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-4.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-5.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-5.png index 8c344f0..c765815 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-5.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-5.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-6.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-6.png index 3798f16..9110659 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-6.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-6.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-7.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-7.png index 59637ff..e5a54fe 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-7.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-7.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-8.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-8.png index bc0eee0..074c6af 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-8.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-8.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-events-9.png b/visual-regression/certified-snapshots/chromium-ci/viewport-events-9.png index 4e86672..308c1b2 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-events-9.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-events-9.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-1.png b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-1.png index 893fd87..8421503 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-1.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-2.png b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-2.png index a15834c..fd47f41 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-2.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-2.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-3.png b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-3.png index 918eece..27cfbdf 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-3.png and b/visual-regression/certified-snapshots/chromium-ci/viewport-largebound-3.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/zIndex-1.png b/visual-regression/certified-snapshots/chromium-ci/zIndex-1.png index eb3308a..2e6a3b6 100644 Binary files a/visual-regression/certified-snapshots/chromium-ci/zIndex-1.png and b/visual-regression/certified-snapshots/chromium-ci/zIndex-1.png differ