Bug 1819467 part 1: Move bounds of red shape inwards by 1px in several SVG WPTs that have transformed green shape covering a red shape. r=layout-reviewers,jfkthame

In these tests, the bounds of the red shape were technically already 1px
inwards from the bounds of the green shape (at the vertices at least), but that
still seems to create an opportunity for a little bit of red fringe along
antialiased diagonal lines.  An additional pixel of "buffer" is sufficient to
avoid this fuzzy mismatch, since it ensures that the edge of the red shape is
at least a pixel inwards from the edge of the green shape along the whole
diagonal.

With that change, there are some remaining visually-imperceptible
(maxDifference of 1 in the green channel) fuzzy pixels. These ones are
unrelated to the red shape, and I'm adding annotations for them since they're
imperceptible and unrelated to what the test is trying to test.

We've got https://bugzilla.mozilla.org/show_bug.cgi?id=1840747 to track the
former issue (the red fringe), and we have
https://bugzilla.mozilla.org/show_bug.cgi?id=1840511 to track the latter issue
(off-by-1 in the green color channel).

Depends on D182295

Differential Revision: https://phabricator.services.mozilla.com/D182296
This commit is contained in:
Daniel Holbert 2023-07-01 07:55:32 +00:00
Родитель 1a644ee814
Коммит 3f8aa3db7d
9 изменённых файлов: 10 добавлений и 42 удалений

Просмотреть файл

@ -1,7 +0,0 @@
[svg-transform-group-008.html]
fuzzy:
maxDifference=0-47;totalPixels=0-101
expected:
if not debug and (os == "linux") and not swgl: [PASS, FAIL]
if not debug and (os == "android"): [PASS, FAIL]
if not debug and (os == "mac"): [PASS, FAIL]

Просмотреть файл

@ -1,7 +0,0 @@
[svg-transform-group-009.html]
fuzzy:
maxDifference=0-47;totalPixels=0-101
expected:
if not debug and (os == "linux"): [PASS, FAIL]
if not debug and (os == "mac"): [PASS, FAIL]
if not debug and (os == "android"): [PASS, FAIL]

Просмотреть файл

@ -1,7 +0,0 @@
[svg-transform-nested-009.html]
fuzzy:
maxDifference=0-47;totalPixels=0-419
expected:
if not debug and (os == "android"): [PASS, FAIL]
if not debug and (os == "mac"): [PASS, FAIL]
if not debug and (os == "linux"): [PASS, FAIL]

Просмотреть файл

@ -1,7 +0,0 @@
[svg-transform-nested-014.html]
fuzzy:
maxDifference=0-47;totalPixels=0-102
expected:
if not debug and (os == "mac"): [PASS, FAIL]
if not debug and (os == "linux"): [PASS, FAIL]
if not debug and (os == "android"): [PASS, FAIL]

Просмотреть файл

@ -1,7 +0,0 @@
[svg-transform-nested-019.html]
fuzzy:
maxDifference=0-47;totalPixels=12-300
expected:
if not debug and (os == "android"): [PASS, FAIL]
if not debug and (os == "mac"): [PASS, FAIL]
if not debug and (os == "linux"): [PASS, FAIL]

Просмотреть файл

@ -6,6 +6,7 @@
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#svg-transform">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
<link rel="match" href="reference/svg-green-square-250x250-ref.html">
<meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-2">
<meta name="flags" content="svg">
<meta name="assert" content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.">
<style type="text/css">
@ -19,10 +20,10 @@
<body>
<p>The test passes if there is a green square and no red.</p>
<svg>
<path d="M 1,2 1,100 99,198 99,100 Z" fill="red"/>
<path d="M 1,2 1,99 99,197 99,100 Z" fill="red"/>
<g transform="skewY(45)">
<rect width="100" height="100" fill="green"/>
</g>
</svg>
</body>
</html>
</html>

Просмотреть файл

@ -20,7 +20,7 @@
<body>
<p>The test passes if there is a green square and no red.</p>
<svg>
<path d="M 1,2 1,99 99,197 99,100 Z" fill="red"/>
<path d="M 1,3 1,98 99,196 99,101 Z" fill="red"/>
<g transform="skewY(27)">
<rect width="100" height="100" fill="green" transform="skewY(26)"/>
</g>

Просмотреть файл

@ -6,6 +6,7 @@
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#svg-transform">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
<link rel="match" href="reference/svg-green-square-250x250-ref.html">
<meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-2">
<meta name="flags" content="svg">
<meta name="assert" content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.">
<style type="text/css">
@ -19,10 +20,10 @@
<body>
<p>The test passes if there is a green square and no red.</p>
<svg>
<path d="M 1,2 1,100 99,198 99,100 Z" fill="red"/>
<path d="M 1,2 1,98 99,196 99,100 Z" fill="red"/>
<g transform="scale(0.5)">
<rect width="200" height="200" fill="green" transform="skewY(45)"/>
</g>
</svg>
</body>
</html>
</html>

Просмотреть файл

@ -6,6 +6,7 @@
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#svg-transform">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
<link rel="match" href="reference/svg-green-square-250x250-ref.html">
<meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-299">
<meta name="flags" content="svg">
<meta name="assert" content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.">
<style type="text/css">
@ -19,10 +20,10 @@
<body>
<p>The test passes if there is a green square and no red.</p>
<svg>
<path d="M 21,42 21,140 119,238 119,140 Z" fill="red"/>
<path d="M 21,43 21,139 119,237 119,141 Z" fill="red"/>
<g transform="skewY(45)">
<rect width="100" height="100" fill="green" transform="translate(20 20)"/>
</g>
</svg>
</body>
</html>
</html>