summaryrefslogtreecommitdiffstats
path: root/layout/reftests
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
commita90a5cba08fdf6c0ceb95101c275108a152a3aed (patch)
tree532507288f3defd7f4dcf1af49698bcb76034855 /layout/reftests
parentAdding debian version 126.0.1-1. (diff)
downloadfirefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.tar.xz
firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/reftests')
-rw-r--r--layout/reftests/async-scrolling/reftest.list18
-rw-r--r--layout/reftests/bugs/reftest.list10
-rw-r--r--layout/reftests/css-gradients/reftest.list4
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001-ref.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002-ref.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003-ref.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004-ref.html2
-rw-r--r--layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004.html2
-rw-r--r--layout/reftests/forms/input/file/reftest.list2
-rw-r--r--layout/reftests/forms/input/text/autofill-author-background.html4
-rw-r--r--layout/reftests/forms/input/text/autofill-blank.html2
-rw-r--r--layout/reftests/forms/input/text/autofill-prefilled-value.html4
-rw-r--r--layout/reftests/forms/input/text/autofill-preview-blank.html2
-rw-r--r--layout/reftests/forms/input/text/autofill-preview-line-height.html4
-rw-r--r--layout/reftests/forms/input/text/autofill-preview.html4
-rw-r--r--layout/reftests/forms/input/text/autofill.html4
-rw-r--r--layout/reftests/forms/input/text/reftest.list2
-rw-r--r--layout/reftests/forms/input/text/suppress-password-button-notref.html1
-rw-r--r--layout/reftests/forms/input/text/suppress-password-button.html1
-rw-r--r--layout/reftests/forms/textarea/in-ltr-doc-scrollbar.html5
-rw-r--r--layout/reftests/forms/textarea/in-rtl-doc-scrollbar.html6
-rw-r--r--layout/reftests/forms/textarea/ltr-scrollbar.html5
-rw-r--r--layout/reftests/forms/textarea/rtl-scrollbar.html5
-rw-r--r--layout/reftests/position-sticky/reftest.list4
-rw-r--r--layout/reftests/printing/1900028-text-mask-pdf-ref.html15
-rw-r--r--layout/reftests/printing/1900028-text-mask-pdf.html17
-rw-r--r--layout/reftests/printing/reftest.list1
-rw-r--r--layout/reftests/reftest-sanity/reftest.list5
-rw-r--r--layout/reftests/reftest.list9
-rw-r--r--layout/reftests/scrolling/reftest.list8
-rw-r--r--layout/reftests/svg/1630900-1-ref.html27
-rw-r--r--layout/reftests/svg/1630900-1.html42
-rw-r--r--layout/reftests/svg/reftest.list4
-rw-r--r--layout/reftests/svg/smil/anim-feComponentTransfer-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feComposite-operator-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feConvolveMatrix-order-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feDistantLight-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feFuncR-tableValues-01.svg9
-rw-r--r--layout/reftests/svg/smil/anim-feGaussianBlur-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feOffset-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feSpotLight-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-feTurbulence-numOctaves-01.svg9
-rw-r--r--layout/reftests/svg/smil/anim-feTurbulence-numOctaves-02.svg10
-rw-r--r--layout/reftests/svg/smil/anim-filter-filterUnits-01.svg10
-rw-r--r--layout/reftests/svg/smil/anim-filter-href-01.svg9
-rw-r--r--layout/reftests/svg/text/reftest.list4
-rw-r--r--layout/reftests/text/reftest.list4
50 files changed, 271 insertions, 85 deletions
diff --git a/layout/reftests/async-scrolling/reftest.list b/layout/reftests/async-scrolling/reftest.list
index d74a1544b2..421129645a 100644
--- a/layout/reftests/async-scrolling/reftest.list
+++ b/layout/reftests/async-scrolling/reftest.list
@@ -12,7 +12,7 @@ skip-if(useDrawSnapshot) fuzzy-if(gtkWidget,0-1,0-87) fuzzy-if(!gtkWidget,0-1,0-
skip-if(useDrawSnapshot) == bg-fixed-child-no-culling-1.html bg-fixed-child-no-culling-1-ref.html
skip-if(useDrawSnapshot) == bg-fixed-child-no-culling-2.html bg-fixed-child-no-culling-2-ref.html
skip-if(useDrawSnapshot) == bg-fixed-child-no-culling-3.html bg-fixed-child-no-culling-3-ref.html
-fuzzy-if(Android,0-2,0-4000) fuzzy-if(cocoaWidget,0-2,0-179524) fuzzy-if(winWidget,0-1,0-74590) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-1,0-3528) skip-if(useDrawSnapshot) fuzzy-if(geckoview,0-1,0-74590) == bg-fixed-transformed-image.html bg-fixed-transformed-image-ref.html
+fuzzy-if(Android,0-2,0-4000) fuzzy-if(cocoaWidget,0-2,0-179524) fuzzy-if(winWidget,0-1,0-74590) fuzzy-if(gtkWidget,0-1,0-3528) skip-if(useDrawSnapshot) fuzzy-if(geckoview,0-1,0-74590) == bg-fixed-transformed-image.html bg-fixed-transformed-image-ref.html
skip-if(useDrawSnapshot) == contain-paint-scrollable-frame-1.html contain-paint-scrollable-frame-1-ref.html
skip-if(useDrawSnapshot) == element-1.html element-1-ref.html
pref(layers.force-active,true) skip-if(useDrawSnapshot) == iframe-1.html iframe-1-ref.html
@@ -68,12 +68,12 @@ fuzzy-if(Android,0-13,0-465) fuzzy-if(gtkWidget,17-28,24-60) fuzzy-if(cocoaWidge
fuzzy-if(Android,0-13,0-465) fuzzy-if(gtkWidget,17-29,24-60) fuzzy-if(cocoaWidget,15-19,40-75) skip-if(useDrawSnapshot) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html # Bug 1604338
skip-if(useDrawSnapshot) == fixed-pos-scrolled-clip-5.html fixed-pos-scrolled-clip-5-ref.html
skip-if(useDrawSnapshot) == position-sticky-bug1434250.html position-sticky-bug1434250-ref.html
-fuzzy-if(Android,0-12,0-11) fuzzy-if(gtkWidget,16-25,12-32) fuzzy-if(cocoaWidget,13-16,20-44) skip-if(useDrawSnapshot) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
+fuzzy-if(Android,0-12,0-45) fuzzy-if(gtkWidget,16-25,12-32) fuzzy-if(cocoaWidget,13-16,20-44) skip-if(useDrawSnapshot) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
fuzzy-if(Android,0-6,0-4) skip == position-sticky-scrolled-clip-2.html position-sticky-scrolled-clip-2-ref.html # bug ?????? - incorrectly applying clip to sticky contents
fuzzy-if(Android,0-8,0-27) fuzzy-if(cocoaWidget,9-11,20-44) skip-if(useDrawSnapshot) == curtain-effect-1.html curtain-effect-1-ref.html
fuzzy-if(Android,0-7,0-9) fuzzy-if(gtkWidget,10-15,12-32) fuzzy-if(cocoaWidget,5-9,20-42) skip-if(useDrawSnapshot) == transformed-1.html transformed-1-ref.html # Bug 1604338
fuzzy-if(Android,2-7,1-12) fuzzy-if(gtkWidget,3-5,12-28) fuzzy-if(cocoaWidget,5-6,18-38) skip-if(useDrawSnapshot) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-6,0-38) == position-sticky-transformed-in-scrollframe-1.html position-sticky-transformed-in-scrollframe-1-ref.html # Bug 1604338
-fuzzy-if(Android,3-3,1-470) fuzzy-if(Android&&swgl&&isDebugBuild&&/^aarch64-gcc3/.test(xulRuntime.XPCOMABI),3-3,457-457) fuzzy-if(gtkWidget,13-20,12-32) fuzzy-if(cocoaWidget,12-16,20-44) skip-if(useDrawSnapshot) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
+fuzzy-if(Android,3-3,1-470) fuzzy-if(gtkWidget,13-20,12-32) fuzzy-if(cocoaWidget,12-16,20-44) skip-if(useDrawSnapshot) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
fuzzy-if(Android,12-13,4-31) fuzzy-if(gtkWidget,16-27,14-32) fuzzy-if(cocoaWidget,13-16,20-44) skip-if(useDrawSnapshot) == position-sticky-in-transformed-scrollframe-1.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
fuzzy-if(Android,12-13,4-31) fuzzy-if(gtkWidget,16-27,14-32) fuzzy-if(cocoaWidget,13-16,20-44) skip-if(useDrawSnapshot) == position-sticky-in-transformed-scrollframe-2.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
@@ -106,9 +106,9 @@ skip-if(useDrawSnapshot||Android) pref(apz.overscroll.enabled,false) pref(apz.ov
# for this test, apz.allow_zooming is needed to ensure we take the containerless scrolling codepath that creates
# an async zoom container (since we are testing a regression in that codepath)
skip-if(!Android) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.bottom,50) == dynamic-toolbar-fixed-bottom-1.html dynamic-toolbar-fixed-bottom-1-ref.html
-skip-if(!Android) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.bottom,50) == dynamic-toolbar-sticky-bottom-1.html dynamic-toolbar-sticky-bottom-1-ref.html
skip-if(!Android) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.top,50) == dynamic-toolbar-fixed-top-1.html dynamic-toolbar-fixed-top-1-ref.html
-skip-if(!Android) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.top,50) == dynamic-toolbar-sticky-top-1.html dynamic-toolbar-sticky-top-1-ref.html # bug 1627326 for geckoview&&!webrender
+pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.bottom,50) == dynamic-toolbar-sticky-bottom-1.html dynamic-toolbar-sticky-bottom-1-ref.html
+pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.top,50) == dynamic-toolbar-sticky-top-1.html dynamic-toolbar-sticky-top-1-ref.html
# The next block of tests are based on a single test page which has three
# sticky items (one sticky to the top, one sticky to the bottom, and one sticky
@@ -144,7 +144,7 @@ defaults
# at the top. Only the -5 and -6 scroll offsets are impacted, so the
# reference pages for first 4 scroll offsets are the same as the baseline
# case.
-defaults skip-if(!geckoview) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.top,50) fuzzy(0-1,0-120000)
+defaults pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.top,50) fuzzy(0-1,0-120000)
== dynamic-toolbar-sticky-1a.html dynamic-toolbar-sticky-1-ref.html
== dynamic-toolbar-sticky-1b.html dynamic-toolbar-sticky-1-ref.html
== dynamic-toolbar-sticky-1c.html dynamic-toolbar-sticky-1-ref.html
@@ -161,17 +161,17 @@ defaults skip-if(!geckoview) pref(apz.allow_zooming,true) test-pref(apz.fixed-ma
== dynamic-toolbar-sticky-5b.html dynamic-toolbar-sticky-5-ref-t.html
== dynamic-toolbar-sticky-5c.html dynamic-toolbar-sticky-5-ref-t.html
== dynamic-toolbar-sticky-6a.html dynamic-toolbar-sticky-6-ref-t.html
-== dynamic-toolbar-sticky-6b.html dynamic-toolbar-sticky-6-ref-t.html # bug 1630274 for non-WR
+ == dynamic-toolbar-sticky-6b.html dynamic-toolbar-sticky-6-ref-t.html
== dynamic-toolbar-sticky-6c.html dynamic-toolbar-sticky-6-ref-t.html
defaults
# Same as above block of tests, except with the dynamic toolbar margin
# at the bottom of the page. This time the -1 and -2 scroll offsets are
# impacted.
-defaults skip-if(!geckoview) pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.bottom,50) fuzzy(0-1,0-120000)
+defaults pref(apz.allow_zooming,true) test-pref(apz.fixed-margin-override.enabled,true) test-pref(apz.fixed-margin-override.bottom,50) fuzzy(0-1,0-120000)
== dynamic-toolbar-sticky-1a.html dynamic-toolbar-sticky-1-ref-b.html
== dynamic-toolbar-sticky-1b.html dynamic-toolbar-sticky-1-ref-b.html
-== dynamic-toolbar-sticky-1c.html dynamic-toolbar-sticky-1-ref-b.html # bug 1630274 for non-WR
+ == dynamic-toolbar-sticky-1c.html dynamic-toolbar-sticky-1-ref-b.html
== dynamic-toolbar-sticky-2a.html dynamic-toolbar-sticky-2-ref-b.html
== dynamic-toolbar-sticky-2b.html dynamic-toolbar-sticky-2-ref-b.html
== dynamic-toolbar-sticky-2c.html dynamic-toolbar-sticky-2-ref-b.html
diff --git a/layout/reftests/bugs/reftest.list b/layout/reftests/bugs/reftest.list
index 28e96a51da..84f4ecca9f 100644
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -919,7 +919,7 @@ fuzzy-if(winWidget,0-123,0-1600) fuzzy-if(swgl,0-1,0-39) == 409659-1a.html 40965
!= 409659-1c.html 409659-1-ref.html
fuzzy-if(winWidget,0-123,0-1900) fuzzy-if(swgl,0-1,0-39) == 409659-1d.html 409659-1-ref.html # Bug 1128229
== 410621-1.html 410621-1-ref.html
-== 411059-1.html 411059-1-ref.html
+pref(layout.css.letter-spacing.model,0) == 411059-1.html 411059-1-ref.html
fuzzy-if(winWidget,46-129,652-770) == 411334-1.xml 411334-1-ref.xml
== 411585-1.html 411585-1-ref.html
== 411585-2.html 411585-2-ref.html
@@ -1120,7 +1120,7 @@ fuzzy(0-1,0-3280) == 438987-2c.html 438987-2-ref.html
!= about:blank 438987-2-ref.html # check that backgrounds work at all
== 439004-1.html 439004-1-ref.html
== 439639-1.html 439639-1-ref.html
-fuzzy-if(gtkWidget,0-255,0-6) == 439910.html 439910-ref.html
+pref(layout.css.letter-spacing.model,0) fuzzy-if(gtkWidget,0-255,0-6) == 439910.html 439910-ref.html
fuzzy(0-1,0-1) fuzzy-if(Android,0-1,0-3) == 440112.html 440112-ref.html
== 440149-1.html 440149-1-ref.html
== 441259-1.html 441259-1-ref.html
@@ -1344,7 +1344,7 @@ pref(browser.display.focus_ring_width,1) == 491180-2.html 491180-2-ref.html
fuzzy(0-6,0-97456) == 501627-1.html 501627-1-ref.html # Bug 1481664
== 502288-1.html 502288-1-ref.html
fuzzy-if(gtkWidget,0-1,0-2) == 502447-1.html 502447-1-ref.html #Bug 1315834
-== 502795-1.html 502795-1-ref.html
+pref(layout.css.letter-spacing.model,0) == 502795-1.html 502795-1-ref.html
== 502942-1.html 502942-1-ref.html
== 503364-1a.html 503364-1-ref.html
== 503364-1b.html 503364-1-ref.html
@@ -1367,8 +1367,8 @@ fuzzy(0-1,0-1200) == 512410.html 512410-ref.html
== 512631-1.html 512631-1-ref.html
fuzzy(0-1,0-4) == 513153-1a.html 513153-1-ref.html
fuzzy(0-1,0-4) == 513153-1b.html 513153-1-ref.html
-pref(widget.non-native-theme.webrender,true) == 513153-2a.html 513153-2-ref.html # appleSilicon: bug 1724583
-fuzzy-if(cocoaWidget,0-112,0-108) == 513153-2b.html 513153-2-ref.html # only fuzzy when widget.non-native-theme.webrender=false, snapping difference
+== 513153-2a.html 513153-2-ref.html # appleSilicon: bug 1724583
+== 513153-2b.html 513153-2-ref.html
== chrome://reftest/content/bugs/513318-1.xhtml chrome://reftest/content/bugs/513318-1-ref.xhtml
!= chrome://reftest/content/bugs/513318-2.xhtml chrome://reftest/content/bugs/513318-2-ref.xhtml
== 514917-1.html 514917-1-ref.html
diff --git a/layout/reftests/css-gradients/reftest.list b/layout/reftests/css-gradients/reftest.list
index 1574996fa3..0803f7ec35 100644
--- a/layout/reftests/css-gradients/reftest.list
+++ b/layout/reftests/css-gradients/reftest.list
@@ -47,8 +47,8 @@ fuzzy-if(Android,0-8,0-771) == radial-shape-farthest-corner-1a.html radial-shape
fails-if(gtkWidget) fuzzy(0-2,0-500) == radial-shape-farthest-corner-1b.html radial-shape-farthest-corner-1-ref.html
fuzzy(0-2,0-15000) fuzzy-if(Android,0-17,0-13320) == radial-shape-farthest-side-1a.html radial-shape-farthest-side-1-ref.html
fuzzy(0-2,0-15000) fuzzy-if(Android,0-17,0-13320) == radial-shape-farthest-side-1b.html radial-shape-farthest-side-1-ref.html
-== radial-size-1a.html radial-size-1-ref.html
-== radial-size-1b.html radial-size-1-ref.html
+fuzzy(0-1,0-100) == radial-size-1a.html radial-size-1-ref.html
+fuzzy(0-1,0-100) == radial-size-1b.html radial-size-1-ref.html
fuzzy-if(Android,0-4,0-248) == radial-zero-length-1a.html radial-zero-length-1-ref.html
fuzzy-if(Android,0-4,0-248) == radial-zero-length-1b.html radial-zero-length-1-ref.html
fuzzy-if(Android,0-4,0-248) == radial-zero-length-1c.html radial-zero-length-1-ref.html
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001-ref.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001-ref.html
index a157cf074a..20c088ab02 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001-ref.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001-ref.html
@@ -51,7 +51,7 @@ for (var i = 0; i < coltest.length; ++i) {
img.setAttribute("src","support/lime-24x2.png");
img.setAttribute("style",coltest[i] + "; min-width:"+ results[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("24x2.png -- "+coltest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${coltest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001.html
index 93a251be43..9565253b50 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-001.html
@@ -52,7 +52,7 @@ for (var i = 0; i < coltest.length; ++i) {
img.setAttribute("src","support/lime-24x2.png");
img.setAttribute("style",coltest[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("24x2.png -- "+coltest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${coltest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002-ref.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002-ref.html
index 183f00e24f..2b09eb11ee 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002-ref.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002-ref.html
@@ -55,7 +55,7 @@ for (var i = 0; i < coltest.length; ++i) {
img.setAttribute("src","support/lime-24x2.png");
img.setAttribute("style",coltest[i] + "; width:"+ item_width[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("24x2.png -- "+coltest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${coltest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002.html
index 8809d5b06e..ee69018a93 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-002.html
@@ -53,7 +53,7 @@ for (var i = 0; i < coltest.length; ++i) {
img.setAttribute("src","support/lime-24x2.png");
img.setAttribute("style",coltest[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("24x2.png -- "+coltest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${coltest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003-ref.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003-ref.html
index 9ec975d62d..e051d4c3ef 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003-ref.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003-ref.html
@@ -52,7 +52,7 @@ for (var i = 0; i < rowtest.length; ++i) {
img.setAttribute("src","support/lime-2x24.png");
img.setAttribute("style",rowtest[i] + "; min-height:"+ results[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("2x24.png -- "+rowtest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${rowtest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003.html
index ae34753eba..659204c992 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-003.html
@@ -51,7 +51,7 @@ for (var i = 0; i < rowtest.length; ++i) {
img.setAttribute("src","support/lime-2x24.png");
img.setAttribute("style",rowtest[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("2x24.png -- "+rowtest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${rowtest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004-ref.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004-ref.html
index 6533c97b67..c1022e53dd 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004-ref.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004-ref.html
@@ -53,7 +53,7 @@ for (var i = 0; i < rowtest.length; ++i) {
img.setAttribute("src","support/lime-2x24.png");
img.setAttribute("style",rowtest[i] + "; max-height:auto; height:"+ item_height[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("2x24.png -- "+rowtest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${rowtest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004.html b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004.html
index c2b650525c..dab114939b 100644
--- a/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004.html
+++ b/layout/reftests/css-grid/grid-auto-min-sizing-min-content-min-size-004.html
@@ -52,7 +52,7 @@ for (var i = 0; i < rowtest.length; ++i) {
img.setAttribute("src","support/lime-2x24.png");
img.setAttribute("style",rowtest[i]);
grid.appendChild(img);
- document.body.appendChild(document.createTextNode("2x24.png -- "+rowtest[i]+'\n'));
+ document.body.appendChild(document.createTextNode(`Test ${i+1}: 24x2.png -- ${rowtest[i]}`));
document.body.appendChild(document.createElement('br'));
document.body.appendChild(grid);
document.body.appendChild(document.createElement('br'));
diff --git a/layout/reftests/forms/input/file/reftest.list b/layout/reftests/forms/input/file/reftest.list
index d8276cb941..f16315f5a7 100644
--- a/layout/reftests/forms/input/file/reftest.list
+++ b/layout/reftests/forms/input/file/reftest.list
@@ -5,7 +5,7 @@ fuzzy(0-1,0-10) == background.html chrome://reftest/content/forms/input/file/bac
fuzzy-if(gtkWidget,0-1,0-10) == style.html chrome://reftest/content/forms/input/file/style-ref.xhtml
!= width-clip.html width-clip-ref.html
== color-inherit.html color-inherit-ref.html
-pref(widget.non-native-theme.webrender,true) fuzzy(0-1,0-5) fuzzy-if(cocoaWidget,0-46,0-134) == dynamic-max-width.html dynamic-max-width-ref.html # bug 1496542 for webrender, bug 1724582 for appleSilicon
+fuzzy(0-1,0-5) fuzzy-if(cocoaWidget,0-46,0-134) == dynamic-max-width.html dynamic-max-width-ref.html # bug 1496542 for webrender, bug 1724582 for appleSilicon
== label-min-inline-size.html label-min-inline-size-ref.html
== css-overflow.html css-overflow-ref.html
== css-display.html css-display-ref.html
diff --git a/layout/reftests/forms/input/text/autofill-author-background.html b/layout/reftests/forms/input/text/autofill-author-background.html
index 691adaa1ff..73eb71ea7c 100644
--- a/layout/reftests/forms/input/text/autofill-author-background.html
+++ b/layout/reftests/forms/input/text/autofill-author-background.html
@@ -2,8 +2,8 @@
<input type=text style="background-color: red; background-image: linear-gradient(red, blue);">
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
- input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutofillField() having being processed...
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
+ input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutoCompletableField() having being processed...
input.previewValue = "Autofill";
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "-moz-autofill-preview");
</script>
diff --git a/layout/reftests/forms/input/text/autofill-blank.html b/layout/reftests/forms/input/text/autofill-blank.html
index 966d314038..17919875ee 100644
--- a/layout/reftests/forms/input/text/autofill-blank.html
+++ b/layout/reftests/forms/input/text/autofill-blank.html
@@ -2,7 +2,7 @@
<input type=text>
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
input.getBoundingClientRect();
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "autofill");
</script>
diff --git a/layout/reftests/forms/input/text/autofill-prefilled-value.html b/layout/reftests/forms/input/text/autofill-prefilled-value.html
index 42924ac531..07b4ce5310 100644
--- a/layout/reftests/forms/input/text/autofill-prefilled-value.html
+++ b/layout/reftests/forms/input/text/autofill-prefilled-value.html
@@ -2,8 +2,8 @@
<input type=text value="JOHN DOE">
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
- input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutofillField() having being processed...
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
+ input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutoCompletableField() having being processed...
input.previewValue = "Autofill";
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "-moz-autofill-preview");
</script>
diff --git a/layout/reftests/forms/input/text/autofill-preview-blank.html b/layout/reftests/forms/input/text/autofill-preview-blank.html
index a235b7430f..e441b80700 100644
--- a/layout/reftests/forms/input/text/autofill-preview-blank.html
+++ b/layout/reftests/forms/input/text/autofill-preview-blank.html
@@ -2,7 +2,7 @@
<input type=text>
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
input.getBoundingClientRect();
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "-moz-autofill-preview");
</script>
diff --git a/layout/reftests/forms/input/text/autofill-preview-line-height.html b/layout/reftests/forms/input/text/autofill-preview-line-height.html
index 7ce1cadb2e..40b63e9ede 100644
--- a/layout/reftests/forms/input/text/autofill-preview-line-height.html
+++ b/layout/reftests/forms/input/text/autofill-preview-line-height.html
@@ -5,8 +5,8 @@
<input value="Autofill">
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
- input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutofillField() having being processed...
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
+ input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutoCompletableField() having being processed...
input.previewValue = "Autofill";
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "-moz-autofill-preview");
</script>
diff --git a/layout/reftests/forms/input/text/autofill-preview.html b/layout/reftests/forms/input/text/autofill-preview.html
index 1382d29abd..540c07423f 100644
--- a/layout/reftests/forms/input/text/autofill-preview.html
+++ b/layout/reftests/forms/input/text/autofill-preview.html
@@ -2,8 +2,8 @@
<input type=text>
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
- input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutofillField() having being processed...
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
+ input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutoCompletableField() having being processed...
input.previewValue = "Autofill";
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "-moz-autofill-preview");
</script>
diff --git a/layout/reftests/forms/input/text/autofill.html b/layout/reftests/forms/input/text/autofill.html
index ccb2b15b1b..0d9c6a0588 100644
--- a/layout/reftests/forms/input/text/autofill.html
+++ b/layout/reftests/forms/input/text/autofill.html
@@ -2,8 +2,8 @@
<input type=text>
<script>
let input = SpecialPowers.wrap(document.querySelector("input"));
- SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutofillField(input);
- input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutofillField() having being processed...
+ SpecialPowers.Cc["@mozilla.org/satchel/form-fill-controller;1"].getService(SpecialPowers.Ci.nsIFormFillController).markAsAutoCompletableField(input);
+ input.getBoundingClientRect(); // previewValue setter depends on the reframe posted by markAsAutoCompletableField() having being processed...
input.previewValue = "Autofill";
SpecialPowers.wrap(window).windowUtils.addManuallyManagedState(input, "autofill");
</script>
diff --git a/layout/reftests/forms/input/text/reftest.list b/layout/reftests/forms/input/text/reftest.list
index 6c649a5196..e80b881246 100644
--- a/layout/reftests/forms/input/text/reftest.list
+++ b/layout/reftests/forms/input/text/reftest.list
@@ -22,5 +22,7 @@ fuzzy(0-1,0-500) needs-focus == select.html select-ref.html
== pseudo-class-lock.html pseudo-class-lock-ref.html
+pref(layout.forms.reveal-password-button.enabled,true) != suppress-password-button.html suppress-password-button-notref.html
+
needs-focus == focus-on-anchor.html#anchor focus-on-anchor-ref.html
needs-focus == select-overflow.html select-overflow-ref.html
diff --git a/layout/reftests/forms/input/text/suppress-password-button-notref.html b/layout/reftests/forms/input/text/suppress-password-button-notref.html
new file mode 100644
index 0000000000..c0d6fc108a
--- /dev/null
+++ b/layout/reftests/forms/input/text/suppress-password-button-notref.html
@@ -0,0 +1 @@
+<input type="password" value="abc">
diff --git a/layout/reftests/forms/input/text/suppress-password-button.html b/layout/reftests/forms/input/text/suppress-password-button.html
new file mode 100644
index 0000000000..53398e20df
--- /dev/null
+++ b/layout/reftests/forms/input/text/suppress-password-button.html
@@ -0,0 +1 @@
+<input type="password" value="abc" style="appearance: textfield">
diff --git a/layout/reftests/forms/textarea/in-ltr-doc-scrollbar.html b/layout/reftests/forms/textarea/in-ltr-doc-scrollbar.html
index e6b14358ec..c0b294ce73 100644
--- a/layout/reftests/forms/textarea/in-ltr-doc-scrollbar.html
+++ b/layout/reftests/forms/textarea/in-ltr-doc-scrollbar.html
@@ -5,6 +5,9 @@
<title></title>
</head>
<body>
- <textarea cols=20 rows=4 style="overflow: scroll; resize: none"></textarea>
+ <textarea cols=20 rows=4
+ style="overflow: scroll;
+ resize: none;
+ scrollbar-color: pink blue"></textarea>
</body>
</html>
diff --git a/layout/reftests/forms/textarea/in-rtl-doc-scrollbar.html b/layout/reftests/forms/textarea/in-rtl-doc-scrollbar.html
index 8c915b5ee9..5700b37fc2 100644
--- a/layout/reftests/forms/textarea/in-rtl-doc-scrollbar.html
+++ b/layout/reftests/forms/textarea/in-rtl-doc-scrollbar.html
@@ -5,6 +5,10 @@
<title></title>
</head>
<body>
- <textarea cols=20 rows=4 style="float: left; overflow: scroll; resize: none"></textarea>
+ <textarea cols=20 rows=4
+ style="float: left;
+ overflow: scroll;
+ resize: none;
+ scrollbar-color: pink blue"></textarea>
</body>
</html>
diff --git a/layout/reftests/forms/textarea/ltr-scrollbar.html b/layout/reftests/forms/textarea/ltr-scrollbar.html
index 927fbede66..04384ff9d6 100644
--- a/layout/reftests/forms/textarea/ltr-scrollbar.html
+++ b/layout/reftests/forms/textarea/ltr-scrollbar.html
@@ -5,6 +5,9 @@
<title></title>
</head>
<body>
- <textarea dir="ltr" cols=20 rows=4 style="overflow: scroll; resize: none"></textarea>
+ <textarea dir="ltr" cols=20 rows=4
+ style="overflow: scroll;
+ resize: none;
+ scrollbar-color: pink blue"></textarea>
</body>
</html>
diff --git a/layout/reftests/forms/textarea/rtl-scrollbar.html b/layout/reftests/forms/textarea/rtl-scrollbar.html
index 2770dc6941..63462f1ce8 100644
--- a/layout/reftests/forms/textarea/rtl-scrollbar.html
+++ b/layout/reftests/forms/textarea/rtl-scrollbar.html
@@ -5,6 +5,9 @@
<title></title>
</head>
<body>
- <textarea dir="rtl" cols=20 rows=4 style="overflow: scroll; resize: none"></textarea>
+ <textarea dir="rtl" cols=20 rows=4
+ style="overflow: scroll;
+ resize: none;
+ scrollbar-color: pink blue"></textarea>
</body>
</html>
diff --git a/layout/reftests/position-sticky/reftest.list b/layout/reftests/position-sticky/reftest.list
index bd9aadc1d0..d6ed9617fe 100644
--- a/layout/reftests/position-sticky/reftest.list
+++ b/layout/reftests/position-sticky/reftest.list
@@ -51,5 +51,5 @@ fuzzy(0-1,0-220) == block-in-inline-3.html block-in-inline-3-ref.html
== iframe-1.html iframe-1-ref.html
== transformed-1.html transformed-1-ref.html
fuzzy-if(Android,0-8,0-9) fuzzy-if(gtkWidget,10-17,12-32) fuzzy-if(cocoaWidget,7-8,18-42) skip-if(useDrawSnapshot) fails-if(useDrawSnapshot) == transformed-2.html transformed-2-ref.html # Bug 1604644
-skip-if(useDrawSnapshot) fuzzy-if(Android,0-14,0-11) fuzzy-if(gtkWidget,19-30,12-32) fuzzy-if(cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-1.html nested-sticky-1-ref.html # Bug 1604644
-skip-if(useDrawSnapshot) fuzzy-if(Android,0-14,0-11) fuzzy-if(gtkWidget,19-30,12-32) fuzzy-if(cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-2.html nested-sticky-2-ref.html # Bug 1604644
+skip-if(useDrawSnapshot) fuzzy-if(Android,0-14,0-17) fuzzy-if(gtkWidget,19-30,12-32) fuzzy-if(cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-1.html nested-sticky-1-ref.html # Bug 1604644
+skip-if(useDrawSnapshot) fuzzy-if(Android,0-14,0-96) fuzzy-if(gtkWidget,19-30,12-32) fuzzy-if(cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-2.html nested-sticky-2-ref.html # Bug 1604644
diff --git a/layout/reftests/printing/1900028-text-mask-pdf-ref.html b/layout/reftests/printing/1900028-text-mask-pdf-ref.html
new file mode 100644
index 0000000000..5cd8dc37d3
--- /dev/null
+++ b/layout/reftests/printing/1900028-text-mask-pdf-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<head>
+ <meta charset="utf-8">
+ <link href="print.css" rel="stylesheet">
+ <style>
+ .test {
+ font-size: 50px;
+ height: 2em;
+ }
+ </style>
+</head>
+<p>Some text</p>
+<p class=test><!-- This will not be visible in the print output,
+ unless backgrounds are explicitly enabled. --></p>
+<p>More text after the test</p>
diff --git a/layout/reftests/printing/1900028-text-mask-pdf.html b/layout/reftests/printing/1900028-text-mask-pdf.html
new file mode 100644
index 0000000000..3e32d98c16
--- /dev/null
+++ b/layout/reftests/printing/1900028-text-mask-pdf.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<head>
+ <meta charset="utf-8">
+ <link href="print.css" rel="stylesheet">
+ <style>
+ .test {
+ color: transparent;
+ font-size: 50px;
+ background: blue;
+ background-clip: text;
+ height: 2em;
+ }
+ </style>
+</head>
+<p>Some text</p>
+<p class=test>background-clip:text</p>
+<p>More text after the test</p>
diff --git a/layout/reftests/printing/reftest.list b/layout/reftests/printing/reftest.list
index eb571f067a..3e474ae47a 100644
--- a/layout/reftests/printing/reftest.list
+++ b/layout/reftests/printing/reftest.list
@@ -19,3 +19,4 @@ fails print test-unexpected-text.html test-unexpected-text-noref.html
fails print test-missing-text.html test-missing-text-noref.html
test-pref(print.print_in_color,false) fails print test-color-text-01.html test-color-text-01.html
print testcase-1696844.html testcase-1696844.html
+print 1900028-text-mask-pdf.html 1900028-text-mask-pdf-ref.html
diff --git a/layout/reftests/reftest-sanity/reftest.list b/layout/reftests/reftest-sanity/reftest.list
index 52b6982aac..df657fd683 100644
--- a/layout/reftests/reftest-sanity/reftest.list
+++ b/layout/reftests/reftest-sanity/reftest.list
@@ -46,11 +46,6 @@ fails-if(geckoview&&device) == filter-2.xhtml filter-2-ref.xhtml
== invalidation.html about:blank
fails-if(useDrawSnapshot) == zoom-invalidation.html zoom-invalidation-ref.html # bug 773482
-# test that xulRuntime.OS works
-fails-if(xulRuntime.OS!="Linux"&&!Android) == data:text/html,<body>Linux data:text/html,<script>document.write(navigator.platform.substr(0,5))</script>
-fails-if(xulRuntime.OS!="WINNT") == data:text/html,<body>Win data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
-fails-if(xulRuntime.OS!="Darwin") == data:text/html,<body>Mac data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
-
# test parsing of asserts() expressions
asserts(0) load about:blank
asserts(0-5) load about:blank
diff --git a/layout/reftests/reftest.list b/layout/reftests/reftest.list
index 97f04542ff..c8911b2f20 100644
--- a/layout/reftests/reftest.list
+++ b/layout/reftests/reftest.list
@@ -18,7 +18,8 @@ include position-relative/reftest.list
# apng-mime
include apng-mime/reftest.list
-skip-if(unsupportedWithDrawSnapshot) include async-scrolling/reftest.list
+# unsupported with draw snapshot
+skip-if(useDrawSnapshot) include async-scrolling/reftest.list
# backgrounds/
include backgrounds/reftest.list
@@ -360,9 +361,6 @@ include text-svgglyphs/reftest.list
# text-transform/
include text-transform/reftest.list
-# theme (osx)
-include ../../toolkit/themes/osx/reftests/reftest.list
-
include ../../toolkit/content/tests/reftests/reftest.list
# transform/
@@ -431,7 +429,8 @@ include invalidation/reftest.list
include ../../dom/encoding/test/reftest/reftest.list
# APZ/async positioning tests
-skip-if(unsupportedWithDrawSnapshot) include ../../gfx/layers/apz/test/reftest/reftest.list
+# unsupported with draw snapshot
+skip-if(useDrawSnapshot) include ../../gfx/layers/apz/test/reftest/reftest.list
# Display list building
include display-list/reftest.list
diff --git a/layout/reftests/scrolling/reftest.list b/layout/reftests/scrolling/reftest.list
index 159f480416..d88bc2e038 100644
--- a/layout/reftests/scrolling/reftest.list
+++ b/layout/reftests/scrolling/reftest.list
@@ -34,10 +34,10 @@ fuzzy-if(Android,0-5,0-20000) == uncovering-2.html uncovering-2-ref.html
== less-than-scrollbar-height.html less-than-scrollbar-height-ref.html
== huge-horizontal-overflow.html huge-horizontal-overflow-ref.html
== huge-vertical-overflow.html huge-vertical-overflow-ref.html
-pref(apz.allow_zooming,true) fuzzy-if(gtkWidget,0-1,0-80) fuzzy-if(winWidget,0-4,0-170) fuzzy-if(winWidget&&fission,0-96,0-1109) == iframe-scrolling-attr-1.html iframe-scrolling-attr-ref.html # fission: Bug 1717856
-pref(apz.allow_zooming,true) fuzzy-if(gtkWidget,0-1,0-80) fuzzy-if(winWidget,0-4,0-170) fuzzy-if(winWidget&&fission,0-96,0-1109) == iframe-scrolling-attr-2.html iframe-scrolling-attr-ref.html # fission: Bug 1717856
-pref(apz.allow_zooming,true) fuzzy(0-1,0-2) fuzzy-if(geckoview,0-1,0-15) fuzzy-if(gtkWidget,0-1,0-48) fuzzy-if(winWidget,0-4,0-108) fuzzy-if(winWidget&&fission,0-92,0-1280) == frame-scrolling-attr-1.html frame-scrolling-attr-ref.html
-pref(apz.allow_zooming,true) fuzzy(0-1,0-2) fuzzy-if(geckoview,0-1,0-88) fuzzy-if(gtkWidget,0-1,0-48) fuzzy-if(winWidget,0-4,0-108) fuzzy-if(winWidget&&fission,0-92,0-1920) == frame-scrolling-attr-2.html frame-scrolling-attr-ref.html
+pref(apz.allow_zooming,true) fuzzy-if(gtkWidget,0-1,0-80) fuzzy-if(winWidget,0-4,0-170) fuzzy-if(winWidget,0-96,0-1109) == iframe-scrolling-attr-1.html iframe-scrolling-attr-ref.html # win/fission: Bug 1717856
+pref(apz.allow_zooming,true) fuzzy-if(gtkWidget,0-1,0-80) fuzzy-if(winWidget,0-4,0-170) fuzzy-if(winWidget,0-96,0-1109) == iframe-scrolling-attr-2.html iframe-scrolling-attr-ref.html # win/fission: Bug 1717856
+pref(apz.allow_zooming,true) fuzzy(0-1,0-2) fuzzy-if(geckoview,0-1,0-15) fuzzy-if(gtkWidget,0-1,0-48) fuzzy-if(winWidget,0-4,0-108) fuzzy-if(winWidget,0-92,0-1280) == frame-scrolling-attr-1.html frame-scrolling-attr-ref.html
+pref(apz.allow_zooming,true) fuzzy(0-1,0-2) fuzzy-if(geckoview,0-1,0-88) fuzzy-if(gtkWidget,0-1,0-48) fuzzy-if(winWidget,0-4,0-108) fuzzy-if(winWidget,0-92,0-1920) == frame-scrolling-attr-2.html frame-scrolling-attr-ref.html
== move-item.html move-item-ref.html # bug 1125750
== fractional-scroll-area.html?top=-0.4&outerBottom=100&innerBottom=200 fractional-scroll-area.html?top=0&outerBottom=100&innerBottom=200
== fractional-scroll-area.html?top=0.4&outerBottom=100&innerBottom=200 fractional-scroll-area.html?top=0&outerBottom=100&innerBottom=200
diff --git a/layout/reftests/svg/1630900-1-ref.html b/layout/reftests/svg/1630900-1-ref.html
new file mode 100644
index 0000000000..aa471c548b
--- /dev/null
+++ b/layout/reftests/svg/1630900-1-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+
+ .loader {
+ height: 480px;
+ }
+
+ rect {
+ fill: #000;
+ opacity: 0.5;
+ }
+
+ </style>
+ </head>
+ <body>
+ <svg
+ class="loader"
+ x="0px"
+ y="0px"
+ viewBox="0 0 100 100"
+ >
+ <rect x="0" y="0" width="100" height="100"/>
+ </svg>
+ </body>
+</html>
diff --git a/layout/reftests/svg/1630900-1.html b/layout/reftests/svg/1630900-1.html
new file mode 100644
index 0000000000..ce86050ee1
--- /dev/null
+++ b/layout/reftests/svg/1630900-1.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+
+ .loader {
+ height: 480px;
+ }
+
+ rect {
+ fill: #000;
+ opacity: 0.5;
+ }
+ .anim {
+ animation: fade 10.5s infinite;
+ }
+
+ @keyframes fade {
+ 0% {
+ opacity: 0.5;
+ }
+ 50% {
+ opacity: 0.51;
+ }
+ 100% {
+ opacity: 0.5;
+ }
+ }
+
+ </style>
+ </head>
+ <body>
+ <svg
+ class="loader"
+ x="0px"
+ y="0px"
+ viewBox="0 0 100 100"
+ >
+ <rect class="anim" x="0" y="0" width="100" height="100"/>
+ </svg>
+ </body>
+</html>
diff --git a/layout/reftests/svg/reftest.list b/layout/reftests/svg/reftest.list
index 5f1da97375..27f00455f5 100644
--- a/layout/reftests/svg/reftest.list
+++ b/layout/reftests/svg/reftest.list
@@ -634,3 +634,7 @@ skip-if(Android) skip-if(cocoaWidget) skip-if(winWidget) == transform-animation-
fuzzy(0-20,0-110) == 1792313.svg 1792313-ref.svg
pref(svg.use-element.recursive-clone-limit.enabled,1) != about:blank explosive-use.svg
+
+# do not increase fuzz significantly, test was designed to be within 1 color unit
+fuzzy(0-1,0-230400) == 1630900-1.html 1630900-1-ref.html
+# do not increase fuzz significantly, test was designed to be within 1 color unit
diff --git a/layout/reftests/svg/smil/anim-feComponentTransfer-01.svg b/layout/reftests/svg/smil/anim-feComponentTransfer-01.svg
index 69f879d804..a2f686dc99 100644
--- a/layout/reftests/svg/smil/anim-feComponentTransfer-01.svg
+++ b/layout/reftests/svg/smil/anim-feComponentTransfer-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the "intercept" attribute of the "feComponentTransfer" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<filter id="flood_filter" x="0%" y="0%" width="100%" height="100%">
@@ -29,4 +28,11 @@
</filter>
<rect width="100%" height="100%" fill="red"/>
<rect width="100%" height="100%" fill="red" filter="url(#flood_filter)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feComposite-operator-01.svg b/layout/reftests/svg/smil/anim-feComposite-operator-01.svg
index 0223cea931..bc93b4a7f7 100644
--- a/layout/reftests/svg/smil/anim-feComposite-operator-01.svg
+++ b/layout/reftests/svg/smil/anim-feComposite-operator-01.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the "operator" enum attribute on the "feComposite" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<filter id="composite_filter_1" x="-100%" y="0%" width="200%" height="100%">
@@ -35,4 +34,11 @@
<!-- 50% through discrete animation simple duration - test animation affects the element now -->
<rect y="100" width="100" height="100" fill="red"/>
<rect y="100" width="100" height="100" fill="red" filter="url(#composite_filter_2)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feConvolveMatrix-order-01.svg b/layout/reftests/svg/smil/anim-feConvolveMatrix-order-01.svg
index d24eb3b8d7..9a98a57c93 100644
--- a/layout/reftests/svg/smil/anim-feConvolveMatrix-order-01.svg
+++ b/layout/reftests/svg/smil/anim-feConvolveMatrix-order-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(2, true)">
+ class="reftest-wait">
<title>Testcase for animation of the "order" attribute of the "feConvolveMatrix" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<defs>
@@ -50,4 +49,11 @@
<rect x="10" y="10" width="50" height="100" fill="orange"/>
<rect x="60" y="10" width="50" height="100" fill="blue"/>
</g>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(2, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feDistantLight-01.svg b/layout/reftests/svg/smil/anim-feDistantLight-01.svg
index 42221cdb48..2edcb4ab54 100644
--- a/layout/reftests/svg/smil/anim-feDistantLight-01.svg
+++ b/layout/reftests/svg/smil/anim-feDistantLight-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Testcase for animation of the "elevation" attribute of the "feDistantLight" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<defs>
@@ -22,4 +21,11 @@
</filter>
</defs>
<path d="M0,0 h100 v100 h-100 z" filter="url(#f)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feFuncR-tableValues-01.svg b/layout/reftests/svg/smil/anim-feFuncR-tableValues-01.svg
index 512e1ab074..2b51091862 100644
--- a/layout/reftests/svg/smil/anim-feFuncR-tableValues-01.svg
+++ b/layout/reftests/svg/smil/anim-feFuncR-tableValues-01.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the &lt;number-list&gt; attribute on the 'text' element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
@@ -98,4 +97,10 @@
<rect x="20" y="140" width="256" height="20" fill="url(#gradient)"
filter="url(#f_calcMode_discrete)"/>
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feGaussianBlur-01.svg b/layout/reftests/svg/smil/anim-feGaussianBlur-01.svg
index 40f804d74c..f80f46075a 100644
--- a/layout/reftests/svg/smil/anim-feGaussianBlur-01.svg
+++ b/layout/reftests/svg/smil/anim-feGaussianBlur-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1.9999, true)">
+ class="reftest-wait">
<title>Test animation of the "stdDeviation" &lt;number-optional-number&gt; attribute on "feGaussianBlur" elements</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<filter id="filter" x="0" y="0" width="1" height="1">
@@ -22,4 +21,11 @@
<circle fill="red" cx="100" cy="100" r="98" transform="translate(50, 0)" filter="url(#filter)"/>
</g>
<circle fill="lime" cx="200" cy="100" r="100"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1.9999, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feOffset-01.svg b/layout/reftests/svg/smil/anim-feOffset-01.svg
index 30c8795670..e2f3055af8 100644
--- a/layout/reftests/svg/smil/anim-feOffset-01.svg
+++ b/layout/reftests/svg/smil/anim-feOffset-01.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the "dx" and "dy" attributes on the "feOffset" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<filter id="offset_filter_1" x="0%" y="0%" width="300%" height="100%">
@@ -31,4 +30,11 @@
<!-- test 100% completed animation -->
<rect y="100" width="100" height="100" fill="red"/>
<rect width="100" height="100" fill="lime" filter="url(#offset_filter_2)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feSpotLight-01.svg b/layout/reftests/svg/smil/anim-feSpotLight-01.svg
index 011a9ecff9..4169c3bb36 100644
--- a/layout/reftests/svg/smil/anim-feSpotLight-01.svg
+++ b/layout/reftests/svg/smil/anim-feSpotLight-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Testcase for animation of the "elevation" attribute of the "feSpotLight" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<defs>
@@ -23,4 +22,11 @@
</filter>
</defs>
<path d="M0,0 h100 v100 h-100 z" filter="url(#f)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-01.svg b/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-01.svg
index e48a6bd55e..9589ea38b1 100644
--- a/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-01.svg
+++ b/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-01.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(5, true)">
+ class="reftest-wait">
<title>Test animation of the "numOctaves" &lt;integer&gt; attribute on the "feTurbulence" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
@@ -214,4 +213,10 @@
</filter>
<rect x="20" y="100" width="20" height="20" filter="url(#filter_12)"/>
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(5, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-02.svg b/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-02.svg
index ffade083b0..2e9f2329dc 100644
--- a/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-02.svg
+++ b/layout/reftests/svg/smil/anim-feTurbulence-numOctaves-02.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(3, true)">
+ class="reftest-wait">
<title>Test animation of the "numOctaves" &lt;integer&gt; attribute on the "feTurbulence" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
@@ -199,4 +198,11 @@
</filter>
<rect x="20" y="60" width="20" height="20" filter="url(#filter_12)"/>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(3, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-filter-filterUnits-01.svg b/layout/reftests/svg/smil/anim-filter-filterUnits-01.svg
index 641f711931..4d508c38f4 100644
--- a/layout/reftests/svg/smil/anim-filter-filterUnits-01.svg
+++ b/layout/reftests/svg/smil/anim-filter-filterUnits-01.svg
@@ -1,7 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the "filterUnits" enum attributes of the "filter" element</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
<filter id="flood_filter_1" filterUnits="userSpaceOnUse"
@@ -39,4 +38,11 @@
<svg y="50" height="50">
<rect width="50%" height="100%" fill="red" filter="url(#flood_filter_2)"/>
</svg>
+
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/smil/anim-filter-href-01.svg b/layout/reftests/svg/smil/anim-filter-href-01.svg
index fa259de4ee..39f7ae7dcf 100644
--- a/layout/reftests/svg/smil/anim-filter-href-01.svg
+++ b/layout/reftests/svg/smil/anim-filter-href-01.svg
@@ -4,8 +4,7 @@
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- class="reftest-wait"
- onload="setTimeAndSnapshot(1, true)">
+ class="reftest-wait">
<title>Test animation of the "in" and "result" &lt;string&gt; attributes on "filter" elements</title>
<script xlink:href="smil-util.js" type="text/javascript"/>
@@ -31,4 +30,10 @@
<rect width="100%" height="100%" fill="red"/>
<rect width="100%" height="100%" fill="red" filter="url(#filt)"/>
+ <script type="text/javascript">
+ function doTest() {
+ setTimeAndSnapshot(1, true);
+ }
+ window.addEventListener("MozReftestInvalidate", doTest, false);
+ </script>
</svg>
diff --git a/layout/reftests/svg/text/reftest.list b/layout/reftests/svg/text/reftest.list
index 14b3c68b34..0b749fe20a 100644
--- a/layout/reftests/svg/text/reftest.list
+++ b/layout/reftests/svg/text/reftest.list
@@ -209,8 +209,8 @@ needs-focus == multiple-chunks-selection.svg multiple-chunks-selection-ref.svg
fuzzy(0-1,0-200) needs-focus == textpath-selection.svg textpath-selection-ref.svg
# letter-spacing and word-spacing
-== simple-letter-spacing.svg simple-letter-spacing-ref.svg
+pref(layout.css.letter-spacing.model,0) == simple-letter-spacing.svg simple-letter-spacing-ref.svg
== simple-word-spacing.svg simple-word-spacing-ref.svg
-== multiple-chunks-letter-spacing.svg multiple-chunks-letter-spacing-ref.svg
+pref(layout.css.letter-spacing.model,0) == multiple-chunks-letter-spacing.svg multiple-chunks-letter-spacing-ref.svg
== tspan-shaping.svg tspan-shaping-ref.svg
diff --git a/layout/reftests/text/reftest.list b/layout/reftests/text/reftest.list
index 1402cc7ad7..5c3aba84f4 100644
--- a/layout/reftests/text/reftest.list
+++ b/layout/reftests/text/reftest.list
@@ -146,8 +146,8 @@ random-if(!winWidget) == arial-bold-lam-alef-1.html arial-bold-lam-alef-1-ref.ht
== 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
== 1331339-script-extensions-shaping-1.html 1331339-script-extensions-shaping-1-ref.html
skip-if(!cocoaWidget) != 1349308-1.html 1349308-notref.html # macOS-specific test for -apple-system glyph metrics
-fuzzy-if(Android,0-128,0-233) == 1463020-letter-spacing-text-transform-1.html 1463020-letter-spacing-text-transform-1-ref.html
-fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
+pref(layout.css.letter-spacing.model,0) fuzzy-if(Android,0-128,0-233) == 1463020-letter-spacing-text-transform-1.html 1463020-letter-spacing-text-transform-1-ref.html
+pref(layout.css.letter-spacing.model,0) fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
pref(intl.icu4x.segmenter.enabled,false) == 1507661-spurious-hyphenation-after-explicit.html 1507661-spurious-hyphenation-after-explicit-ref.html
fuzzy-if(useDrawSnapshot,255-255,50-50) == 1522857-1.html 1522857-1-ref.html # antialiasing fuzz in non-webrender cases
!= 1637405-pua-shaping-1.html 1637405-pua-shaping-1-notref.html