Bug 1389000 - Update reftest annotations for layers-free results. r?jrmuizel draft
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 25 Sep 2017 10:41:40 -0400
changeset 669913 dfc7409ccc9a7b56dd8280e90890011a992f9ac1
parent 669912 40b85347288e901be3ca6a3745479deb06d67aae
child 669914 64600beb4c20221327653b1674cf3c141f38d099
push id81466
push userkgupta@mozilla.com
push dateMon, 25 Sep 2017 15:49:23 +0000
reviewersjrmuizel
bugs1389000
milestone58.0a1
Bug 1389000 - Update reftest annotations for layers-free results. r?jrmuizel This patch: - adds fails-if annotations for all the reftests that were consistently failing with layers-free turned on. - removes fails-if or reduces the range on fuzzy-if annotations for all the reftests that were producing UNEXPECTED-PASS results with layers-free turned on. - adds skip-if, random-if, or fuzzy-if annotations to the reftests that were intermittently failing due to timeout, obvious incorrectness, or slight pixel differences, respectively. MozReview-Commit-ID: t4okv3uUmx
dom/html/reftests/reftest.list
gfx/tests/reftest/reftest.list
image/test/reftest/downscaling/reftest.list
layout/reftests/backgrounds/reftest.list
layout/reftests/bidi/reftest.list
layout/reftests/border-image/reftest.list
layout/reftests/border-radius/reftest.list
layout/reftests/box-shadow/reftest.list
layout/reftests/bugs/reftest.list
layout/reftests/canvas/reftest.list
layout/reftests/columns/reftest.list
layout/reftests/counter-style/reftest.list
layout/reftests/css-animations/reftest.list
layout/reftests/css-blending/reftest.list
layout/reftests/css-gradients/reftest.list
layout/reftests/css-grid/reftest.list
layout/reftests/css-ui-invalid/default-style/reftest.list
layout/reftests/dom/reftest.list
layout/reftests/font-face/reftest.list
layout/reftests/font-inflation/reftest.list
layout/reftests/forms/fieldset/reftest.list
layout/reftests/forms/placeholder/reftest.list
layout/reftests/forms/textarea/reftest.list
layout/reftests/forms/textbox/reftest.list
layout/reftests/image-element/reftest.list
layout/reftests/image/reftest.list
layout/reftests/invalidation/reftest.list
layout/reftests/layers/reftest.list
layout/reftests/mathml/reftest.list
layout/reftests/outline/reftest.list
layout/reftests/pagination/reftest.list
layout/reftests/position-sticky/reftest.list
layout/reftests/scrolling/reftest.list
layout/reftests/svg/as-image/reftest.list
layout/reftests/svg/as-image/zoom/reftest.list
layout/reftests/svg/filters/css-filters/reftest.list
layout/reftests/svg/filters/reftest.list
layout/reftests/svg/image/reftest.list
layout/reftests/svg/moz-only/reftest.list
layout/reftests/svg/reftest.list
layout/reftests/svg/smil/motion/reftest.list
layout/reftests/svg/smil/reftest.list
layout/reftests/svg/smil/transform/reftest.list
layout/reftests/svg/svg-integration/clip-path/reftest.list
layout/reftests/svg/svg-integration/reftest.list
layout/reftests/svg/text/reftest.list
layout/reftests/text-shadow/reftest.list
layout/reftests/text-svgglyphs/reftest.list
layout/reftests/text/reftest.list
layout/reftests/transform-3d/reftest.list
layout/reftests/w3c-css/submitted/background/reftest.list
layout/reftests/w3c-css/submitted/images3/reftest.list
layout/reftests/w3c-css/submitted/masking/reftest.list
layout/reftests/w3c-css/submitted/selectors4/reftest.list
layout/reftests/w3c-css/submitted/transforms/reftest.list
layout/reftests/web-animations/reftest.list
layout/reftests/writing-mode/reftest.list
layout/reftests/xul/reftest.list
--- a/dom/html/reftests/reftest.list
+++ b/dom/html/reftests/reftest.list
@@ -57,16 +57,16 @@ fuzzy(3,640) == bug917595-exif-rotated.j
 == table-border-2.html table-border-2-ref.html
 != table-border-2.html table-border-2-notref.html
 
 # Test imageset is using permissions.default.image
 pref(permissions.default.image,1) HTTP == bug1196784-with-srcset.html bug1196784-no-srcset.html
 pref(permissions.default.image,2) HTTP == bug1196784-with-srcset.html bug1196784-no-srcset.html
 
 # Test video with rotation information can be rotated.
-== bug1228601-video-rotation-90.html bug1228601-video-rotated-ref.html
+fails-if(webrender) == bug1228601-video-rotation-90.html bug1228601-video-rotated-ref.html
 
 # Test that dynamically setting body margin attributes updates style appropriately
 == body-topmargin-dynamic.html body-topmargin-ref.html
 
 # Test that dynamically removing a nonmargin mapped attribute does not
 # destroy margins inherited from the frame.
 == body-frame-margin-remove-other-pres-hint.html body-frame-margin-remove-other-pres-hint-ref.html
--- a/gfx/tests/reftest/reftest.list
+++ b/gfx/tests/reftest/reftest.list
@@ -1,9 +1,9 @@
 # 468496-1 will also detect bugs in video drivers.
 == 468496-1.html 468496-1-ref.html
 fuzzy(175,443) skip-if(styloVsGecko) == 611498-1.html 611498-ref.html
 fuzzy-if(Android,8,1000) == 709477-1.html 709477-1-ref.html
 skip-if(!asyncPan) == 1086723.html 1086723-ref.html
 == 853889-1.html 853889-1-ref.html
-skip-if(Android) fuzzy-if(skiaContent,1,587) == 1143303-1.svg pass.svg
+skip-if(Android) fuzzy-if(skiaContent,1,587) fails-if(webrender) == 1143303-1.svg pass.svg
 fuzzy(100,30) == 1149923.html 1149923-ref.html # use fuzzy due to few distorted pixels caused by border-radius
-== 1131264-1.svg pass.svg
+fails-if(webrender) == 1131264-1.svg pass.svg
--- a/image/test/reftest/downscaling/reftest.list
+++ b/image/test/reftest/downscaling/reftest.list
@@ -21,22 +21,22 @@
 # Also note that Mac OS X has its own system-level downscaling algorithm, so
 # tests here may need Mac-specific "fuzzy-if(cocoaWidget,...)" annotations.
 # Similarly, modern versions of Windows have slightly different downscaling
 # behavior than other platforms, and may require "fuzzy-if(winWidget,...)".
 
 
 # RUN TESTS NOT AFFECTED BY DOWNSCALE-DURING-DECODE:
 # ==================================================
-fuzzy-if(skiaContent,14,416) == downscale-svg-1a.html downscale-svg-1-ref.html?80
-fuzzy(80,468) == downscale-svg-1b.html downscale-svg-1-ref.html?72
-fuzzy-if(skiaContent,8,292) == downscale-svg-1c.html downscale-svg-1-ref.html?64
-fuzzy(17,208) == downscale-svg-1d.html downscale-svg-1-ref.html?53
-fuzzy(78,216) fuzzy-if(skiaContent,110,181) == downscale-svg-1e.html downscale-svg-1-ref.html?40
-fuzzy(51,90) fuzzy-if(skiaContent,142,77) == downscale-svg-1f.html downscale-svg-1-ref.html?24
+fuzzy-if(skiaContent,14,416) fails-if(webrender) == downscale-svg-1a.html downscale-svg-1-ref.html?80
+fuzzy(80,468) fails-if(webrender) == downscale-svg-1b.html downscale-svg-1-ref.html?72
+fuzzy-if(skiaContent,8,292) fails-if(webrender) == downscale-svg-1c.html downscale-svg-1-ref.html?64
+fuzzy(17,208) fails-if(webrender) == downscale-svg-1d.html downscale-svg-1-ref.html?53
+fuzzy(78,216) fuzzy-if(skiaContent,110,181) fails-if(webrender) == downscale-svg-1e.html downscale-svg-1-ref.html?40
+fuzzy(51,90) fuzzy-if(skiaContent,142,77) fails-if(webrender) == downscale-svg-1f.html downscale-svg-1-ref.html?24
 
 # RUN TESTS WITH DOWNSCALE-DURING-DECODE DISABLED:
 # ================================================
 default-preferences pref(image.downscale-during-decode.enabled,false)
 
 fuzzy-if(winWidget,16,20) fuzzy-if(cocoaWidget,106,31) == downscale-1.html downscale-1-ref.html
 
 fuzzy(20,999) != downscale-2a.html?203,52,left about:blank
--- a/layout/reftests/backgrounds/reftest.list
+++ b/layout/reftests/backgrounds/reftest.list
@@ -154,32 +154,32 @@ HTTP == background-referrer.html backgro
 == attachment-local-positioning-2.html attachment-local-positioning-2-ref.html
 == attachment-local-positioning-3.html attachment-local-positioning-3-ref.html
 == attachment-local-positioning-4.html attachment-local-positioning-4-ref.html
 == attachment-local-positioning-5.html attachment-local-positioning-5-ref.html
 
 == attachment-local-clipping-color-1.html attachment-local-clipping-color-1-ref.html
 == attachment-local-clipping-color-2.html attachment-local-clipping-color-1-ref.html  # Same ref as the previous test.
 == attachment-local-clipping-color-3.html attachment-local-clipping-color-3-ref.html
-fuzzy-if(skiaContent,1,300) fuzzy-if(webrender,14-14,1119-1134) == attachment-local-clipping-color-4.html attachment-local-clipping-color-4-ref.html
-fuzzy-if(skiaContent,1,400) fuzzy-if(webrender,14-14,1119-1134) == attachment-local-clipping-color-5.html attachment-local-clipping-color-4-ref.html
+fuzzy-if(skiaContent,1,300) == attachment-local-clipping-color-4.html attachment-local-clipping-color-4-ref.html
+fuzzy-if(skiaContent,1,400) == attachment-local-clipping-color-5.html attachment-local-clipping-color-4-ref.html
 fuzzy(50,500) fuzzy-if(skiaContent,51,320) fails-if(webrender) == attachment-local-clipping-color-6.html attachment-local-clipping-color-6-ref.html
 
 == attachment-local-clipping-image-1.html attachment-local-clipping-image-1-ref.html
 == attachment-local-clipping-image-2.html attachment-local-clipping-image-1-ref.html  # Same ref as the previous test.
 == attachment-local-clipping-image-3.html attachment-local-clipping-image-3-ref.html
 # The next three tests are fuzzy due to bug 1128229.
 fuzzy(16,69) fuzzy-if(skiaContent,95,2206) == attachment-local-clipping-image-4.html attachment-local-clipping-image-4-ref.html
 fuzzy(16,69) fuzzy-if(skiaContent,95,2206) == attachment-local-clipping-image-5.html attachment-local-clipping-image-4-ref.html
 fuzzy(80,500) fuzzy-if(skiaContent,109,908) fails-if(webrender) == attachment-local-clipping-image-6.html attachment-local-clipping-image-6-ref.html
 
 fuzzy-if(skiaContent,1,8) fuzzy-if(webrender,1,84) == background-multiple-with-border-radius.html background-multiple-with-border-radius-ref.html
 == background-repeat-large-area.html background-repeat-large-area-ref.html
 
-fuzzy(30,474) fuzzy-if(skiaContent,31,474) == background-tiling-zoom-1.html background-tiling-zoom-1-ref.html
+fuzzy(30,474) fuzzy-if(skiaContent,31,474) fails-if(webrender) == background-tiling-zoom-1.html background-tiling-zoom-1-ref.html
 
 skip-if(!cocoaWidget) == background-repeat-resampling.html background-repeat-resampling-ref.html
 
 fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1a.html background-clip-text-1-ref.html
 fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1b.html background-clip-text-1-ref.html
 fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1c.html background-clip-text-1-ref.html
 fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1d.html background-clip-text-1-ref.html
 fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1e.html background-clip-text-1-ref.html
--- a/layout/reftests/bidi/reftest.list
+++ b/layout/reftests/bidi/reftest.list
@@ -1,11 +1,11 @@
 include dirAuto/reftest.list
 include numeral/reftest.list
-== bdi-element.html bdi-element-ref.html
+fails-if(webrender) == bdi-element.html bdi-element-ref.html
 == bidi-000.html bidi-000-ref.html
 == bidi-001.html bidi-001-ref.html
 == bidi-001-j.html bidi-001-ref.html
 == bidi-001-v.html bidi-001-ref.html
 == bidi-002.html bidi-002-ref.html
 == bidi-003.html bidi-003-ref.html
 fuzzy-if(gtkWidget,255,17) == bidi-004.html bidi-004-ref.html # inconsistency in the Hebrew font that gets used
 fuzzy-if(gtkWidget,255,17) == bidi-004-j.html bidi-004-ref.html # inconsistency in the Hebrew font that gets used
@@ -93,18 +93,18 @@ random-if(winWidget) == 305643-1.html 30
 == 489517-1.html 489517-1-ref.html
 == 489887-1.html 489887-1-ref.html
 == 492231-1.html 492231-1-ref.html
 == 496006-1.html 496006-1-ref.html
 == 503269-1.html 503269-1-ref.html
 == 503957-1.html 503957-1-ref.html
 == 525740-1.html 525740-1-ref.html
 == 536963-1.html 536963-1-ref.html
-== 562169-1.html 562169-1-ref.html
-== 562169-1a.html 562169-1-ref.html
+fails-if(webrender) == 562169-1.html 562169-1-ref.html
+fails-if(webrender) == 562169-1a.html 562169-1-ref.html
 == 562169-2.html 562169-2-ref.html
 == 562169-2a.html 562169-2-ref.html
 == 562169-3.html 562169-3-ref.html
 == 562169-3a.html 562169-3-ref.html
 == 562169-4.html 562169-4-ref.html
 == 588739-1.html 588739-ref.html
 == 588739-2.html 588739-ref.html
 == 588739-3.html 588739-ref.html
--- a/layout/reftests/border-image/reftest.list
+++ b/layout/reftests/border-image/reftest.list
@@ -2,17 +2,17 @@
 == solid-image-1a.html solid-image-1-ref.html
 == solid-image-2.html solid-image-2-ref.html
 == solid-image-2a.html solid-image-2-ref.html
 == multicolor-image-1.html multicolor-image-1-ref.html
 # This is fuzzy temporarily until bug 1044702 makes it possible to use source
 # clipping on Windows. (Any other fix would have a significant perf cost.)
 fuzzy-if(winWidget,1,1) == multicolor-image-2.html multicolor-image-2-ref.html
 == multicolor-image-3.html multicolor-image-3-ref.html
-== multicolor-image-4.html multicolor-image-4-ref.html
+fails-if(webrender) == multicolor-image-4.html multicolor-image-4-ref.html
 == multicolor-image-5.html multicolor-image-5-ref.html
 == transparent-image-1.html transparent-image-1-ref.html
 != repeat-image-1.html repeat-image-1-ref.html
 fuzzy-if(webrender,15-15,975-975) == 470250-1.html 470250-1-ref.html
 fuzzy-if(webrender,15-15,975-975) == 470250-2.html 470250-2-ref.html
 != different-h-v-1.html different-h-v-ref.html
 != different-h-v-2.html different-h-v-ref.html
 != different-h-v-1.html different-h-v-2.html
@@ -37,43 +37,43 @@ fails-if(Android) fails-if(usesRepeatRes
 == border-image-nofill-1.html border-image-nofill-1-ref.html
 == border-image-outset-resize-1.html border-image-outset-resize-1-ref.html
 fuzzy-if(asyncPan&&!layersGPUAccelerated,140,514) fuzzy-if(winWidget&&stylo,144,448) == border-image-outset-move-1.html border-image-outset-move-1-ref.html
 == border-image-style-none.html border-image-style-none-ref.html
 == border-image-style-none-length.html border-image-style-none-length-ref.html
 == border-image-style-none-auto.html border-image-style-none-auto-ref.html
 
 # border images with gradients
-== border-image-linear-gradient.html border-image-linear-gradient-ref.html
-fuzzy(1,98) fuzzy-if(skiaContent,1,350) == border-image-linear-gradient-slice-1.html border-image-linear-gradient-slice-1-ref.html
+fails-if(webrender) == border-image-linear-gradient.html border-image-linear-gradient-ref.html
+fuzzy(1,98) fuzzy-if(skiaContent,1,350) fails-if(webrender) == border-image-linear-gradient-slice-1.html border-image-linear-gradient-slice-1-ref.html
 fuzzy(1,149) fuzzy-if(OSX,1,10595) == border-image-linear-gradient-slice-2.html border-image-linear-gradient-slice-2-ref.html
 fuzzy(1,433) fuzzy-if(skiaContent,1,2500) == border-image-linear-gradient-slice-fill-1.html border-image-linear-gradient-slice-fill-1-ref.html
 fuzzy(1,177) fuzzy-if(OSX,1,25771) fuzzy-if(skiaContent,1,400) == border-image-linear-gradient-slice-fill-2.html border-image-linear-gradient-slice-fill-2-ref.html
 fuzzy(1,48)  fuzzy-if(OSX,5,1676) == border-image-linear-gradient-width.html border-image-linear-gradient-width-ref.html
 fuzzy(1,5000) fuzzy-if(OSX,1,15000) == border-image-linear-gradient-slice-width.html border-image-linear-gradient-slice-width-ref.html
 fuzzy(1,3000) fuzzy-if(OSX,1,6000) == border-image-linear-gradient-outset.html border-image-linear-gradient-outset-ref.html
-fuzzy(1,12) fuzzy-if(skiaContent,1,400) == border-image-linear-gradient-repeat-repeat-1.html border-image-linear-gradient-repeat-repeat-1-ref.html
-fuzzy(1,13) fuzzy-if(skiaContent,1,300) == border-image-linear-gradient-repeat-round-1.html border-image-linear-gradient-repeat-round-1-ref.html
-== border-image-linear-gradient-repeat-repeat-2.html border-image-linear-gradient-repeat-repeat-2-ref.html
-fuzzy(1,576) fuzzy-if(skiaContent,1,2000) == border-image-linear-gradient-repeat-round-2.html border-image-linear-gradient-repeat-round-2-ref.html
+fuzzy(1,12) fuzzy-if(skiaContent,1,400) fails-if(webrender) == border-image-linear-gradient-repeat-repeat-1.html border-image-linear-gradient-repeat-repeat-1-ref.html
+fuzzy(1,13) fuzzy-if(skiaContent,1,300) fails-if(webrender) == border-image-linear-gradient-repeat-round-1.html border-image-linear-gradient-repeat-round-1-ref.html
+fails-if(webrender) == border-image-linear-gradient-repeat-repeat-2.html border-image-linear-gradient-repeat-repeat-2-ref.html
+fuzzy(1,576) fuzzy-if(skiaContent,1,2000) fails-if(webrender) == border-image-linear-gradient-repeat-round-2.html border-image-linear-gradient-repeat-round-2-ref.html
 fuzzy(1,8533) == border-image-linear-gradient-repeat-repeat-3.html border-image-linear-gradient-repeat-repeat-3-ref.html
 fuzzy(1,7161) == border-image-linear-gradient-repeat-round-3.html border-image-linear-gradient-repeat-round-3-ref.html
 
 == border-image-radial-gradient.html border-image-radial-gradient-ref.html
 fuzzy(1,42) fuzzy-if(skiaContent,2,20) == border-image-radial-gradient-slice-1.html border-image-radial-gradient-slice-1-ref.html
 fuzzy(1,46) fuzzy-if(OSX,2,4472) == border-image-radial-gradient-slice-2.html border-image-radial-gradient-slice-2-ref.html
 fuzzy(1,105) == border-image-radial-gradient-slice-fill-1.html border-image-radial-gradient-slice-fill-1-ref.html
 fuzzy(1,139) fuzzy-if(OSX,2,4478) fuzzy-if(skiaContent,2,120) == border-image-radial-gradient-slice-fill-2.html border-image-radial-gradient-slice-fill-2-ref.html
 fuzzy-if(skiaContent,1,2) == border-image-radial-gradient-width.html border-image-radial-gradient-width-ref.html
 fuzzy(1,9000) == border-image-radial-gradient-slice-width.html border-image-radial-gradient-slice-width-ref.html
 
 # OS X failures tracked in bug 957025
-== border-image-repeating-linear-gradient.html border-image-repeating-linear-gradient-ref.html
+fails-if(webrender) == border-image-repeating-linear-gradient.html border-image-repeating-linear-gradient-ref.html
 fuzzy(1,5608) fails-if(OSX) fuzzy-if(skiaContent,3,3157) == border-image-repeating-linear-gradient-slice-fill-2.html border-image-repeating-linear-gradient-slice-fill-2-ref.html
-fuzzy(1,19200) fails-if(OSX) fuzzy-if(skiaContent,3,20000) fuzzy-if(webrender,3-3,20675-20675) == border-image-repeating-linear-gradient-repeat-round-2.html border-image-repeating-linear-gradient-repeat-round-2-ref.html
+fuzzy(1,19200) fails-if(OSX) fuzzy-if(skiaContent,3,20000) fuzzy-if(webrender,3-3,18896-18896) == border-image-repeating-linear-gradient-repeat-round-2.html border-image-repeating-linear-gradient-repeat-round-2-ref.html
 
 fuzzy(1,657) == border-image-repeating-radial-gradient.html border-image-repeating-radial-gradient-ref.html
 fuzzy(1,510) fuzzy-if(skiaContent,3,362) == border-image-repeating-radial-gradient-slice-1.html border-image-repeating-radial-gradient-slice-1-ref.html
 fuzzy(1,438) fuzzy-if(skiaContent,3,437) == border-image-repeating-radial-gradient-slice-2.html border-image-repeating-radial-gradient-slice-2-ref.html
 fuzzy(1,1357) fuzzy-if(skiaContent,3,964) == border-image-repeating-radial-gradient-slice-fill-1.html border-image-repeating-radial-gradient-slice-fill-1-ref.html
 fuzzy(1,1058) fails-if(OSX) fuzzy-if(skiaContent,3,887) == border-image-repeating-radial-gradient-slice-fill-2.html border-image-repeating-radial-gradient-slice-fill-2-ref.html
 fuzzy(1,602) == border-image-repeating-radial-gradient-width.html border-image-repeating-radial-gradient-width-ref.html
 fuzzy(3,18000) fails-if(OSX) fuzzy-if(skiaContent,4,16462) == border-image-repeating-radial-gradient-slice-width.html border-image-repeating-radial-gradient-slice-width-ref.html
--- a/layout/reftests/border-radius/reftest.list
+++ b/layout/reftests/border-radius/reftest.list
@@ -83,13 +83,13 @@ fuzzy-if(/^Windows\x20NT\x2010\.0/.test(
 
 == transforms-1.html transforms-1-ref.html
 
 == zero-radius-clip-1.html zero-radius-clip-ref.html
 
 == iframe-1.html iframe-1-ref.html
 
 # Test for antialiasing gaps between background and border
-fuzzy-if(gtkWidget,1,9) fuzzy-if(winWidget&&!d2d,1,9) fuzzy-if(d2d,5,40) fuzzy-if(Android||skiaContent,1,9) fuzzy-if(webrender,4-4,32-32) == curved-border-background-nogap.html curved-border-background-nogap-ref.html
+fuzzy-if(gtkWidget,1,9) fuzzy-if(winWidget&&!d2d,1,9) fuzzy-if(d2d,5,40) fuzzy-if(Android||skiaContent,1,9) == curved-border-background-nogap.html curved-border-background-nogap-ref.html
 
 == color-layer-1a.html color-layer-1-ref.html
 
-fuzzy-if(webrender,1-1,97-105) == corner-split.html corner-split-ref.svg # bug 1185636
+== corner-split.html corner-split-ref.svg
--- a/layout/reftests/box-shadow/reftest.list
+++ b/layout/reftests/box-shadow/reftest.list
@@ -9,23 +9,23 @@ random != boxshadow-blur-2.html boxshado
 == tableboxshadow-trshadow.html tableboxshadow-trshadow-ref.html
 == tableboxshadow-tdshadow.html tableboxshadow-tdshadow-ref.html
 == boxshadow-rounding.html boxshadow-rounding-ref.html
 # One uses old path, one uses WR box shadow.
 fails-if(Android) fuzzy-if(webrender,50,3310) == boxshadow-button.html boxshadow-button-ref.html
 fuzzy-if(OSX==1010,1,24) fuzzy-if(d2d,16,908) fuzzy-if(webrender,18,2160) == boxshadow-large-border-radius.html boxshadow-large-border-radius-ref.html # Bug 1209649
 
 fails-if(Android) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
-fuzzy-if(skiaContent,13,28) fuzzy-if(webrender,29-29,450-450) == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
+fuzzy-if(skiaContent,13,28) fuzzy-if(webrender,29-29,450-450) fails-if(webrender) == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
 random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
 random-if(d2d) fuzzy-if(skiaContent,1,100) fuzzy-if(webrender,127,3528) == boxshadow-rounded-spread.html boxshadow-rounded-spread-ref.html
 fuzzy-if(skiaContent,1,50) HTTP(..) == boxshadow-dynamic.xul boxshadow-dynamic-ref.xul
-random-if(d2d) fuzzy-if(webrender,1-1,16-16) == boxshadow-onecorner.html boxshadow-onecorner-ref.html
-random-if(d2d) fuzzy-if(webrender,1-1,26-26) == boxshadow-twocorners.html boxshadow-twocorners-ref.html
-random-if(d2d) fuzzy-if(webrender,1-1,42-42) == boxshadow-threecorners.html boxshadow-threecorners-ref.html
+random-if(d2d) fuzzy-if(webrender,1-1,16-16) fails-if(webrender) == boxshadow-onecorner.html boxshadow-onecorner-ref.html
+random-if(d2d) fuzzy-if(webrender,1-1,26-26) fails-if(webrender) == boxshadow-twocorners.html boxshadow-twocorners-ref.html
+random-if(d2d) fuzzy-if(webrender,1-1,42-42) fails-if(webrender) == boxshadow-threecorners.html boxshadow-threecorners-ref.html
 fuzzy(2,440) fuzzy-if(webrender,25,1300) == boxshadow-skiprect.html boxshadow-skiprect-ref.html
 == boxshadow-opacity.html boxshadow-opacity-ref.html
 == boxshadow-color-rounding.html boxshadow-color-rounding-ref.html
 == boxshadow-color-rounding-middle.html boxshadow-color-rounding-middle-ref.html
 fuzzy(3,500) fuzzy-if(d2d,2,1080) fuzzy-if(webrender,13-13,1000-1000) == boxshadow-border-radius-int.html boxshadow-border-radius-int-ref.html
 fuzzy-if(webrender,1,4) == boxshadow-inset-neg-spread.html about:blank
 == boxshadow-inset-neg-spread2.html boxshadow-inset-neg-spread2-ref.html
 fuzzy(26,3610) fuzzy-if(d2d,26,5910) fuzzy-if(webrender,43,200) == boxshadow-rotated.html boxshadow-rotated-ref.html # Bug 1211264
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -201,17 +201,17 @@ fails-if(Android&&!asyncPan) != 192767-1
 == 210876-1.html 210876-1-ref.html
 == 211931-1.html 211931-1-ref.html
 == 212563-1.html 212563-1-ref.html
 fuzzy-if(skiaContent,1,5) == 212563-2.html 212563-2-ref.html
 == 213834-1.html 213834-1-ref.html
 == 214077-1a.html 214077-1-ref.html
 == 214077-1b.html 214077-1-ref.html
 == 218473-1.html 218473-1-ref.html
-fuzzy-if(skiaContent,1,4) == 220165-1.svg 220165-1-ref.svg
+fuzzy-if(skiaContent,1,4) fuzzy-if(webrender&&debug,1,6) == 220165-1.svg 220165-1-ref.svg
 == 223809-1.html 223809-1-ref.html
 == 228856-1.html 228856-1-ref.html
 == 228856-2.html 228856-2-ref.html
 == 229591-1.html 229591-1-ref.html
 # == 231823-1.html 231823-1-ref.html
 == 232990-1a.xhtml 232990-1-ref.xhtml
 == 232990-1b.xhtml 232990-1-ref.xhtml
 == 233094-1.html 233094-1-ref.html
@@ -688,18 +688,18 @@ fails-if(Android) != 376532-3.html 37653
 == 379178-svg.svg 379178-svg-ref.svg
 fuzzy-if(skiaContent,1,500) == 379316-1.html 379316-1-ref.html
 fails-if(Android) random-if(cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(winWidget,1,180) fuzzy-if(gtkWidget,1,191) fuzzy-if(skiaContent,8,500) == 379316-2.html 379316-2-ref.html # bug 379786
 == 379328-1.html 379328-1-ref.html
 == 379349-1a.xhtml 379349-1-ref.xhtml
 # fuzzy because of different border rendering approach in bug 1185636
 fuzzy(37,20) == 379349-1b.xhtml 379349-1-ref.xhtml
 fuzzy(37,20) == 379349-1c.xhtml 379349-1-ref.xhtml
-== 379349-2a.xhtml 379349-2-ref.xhtml
-== 379349-2b.xhtml 379349-2-ref.xhtml
+fails-if(webrender) == 379349-2a.xhtml 379349-2-ref.xhtml
+fails-if(webrender) == 379349-2b.xhtml 379349-2-ref.xhtml
 fuzzy-if(Android,2,140) == 379349-3a.xhtml 379349-3-ref.xhtml
 fuzzy-if(Android,2,140) == 379349-3b.xhtml 379349-3-ref.xhtml
 == 379361-1.html 379361-1-ref.html
 == 379361-2.html 379361-2-ref.html
 == 379361-3.html 379361-3-ref.html
 == 379461-1.xhtml 379461-1.html
 == 379461-2.xhtml 379461-2.html
 == 379461-3-container-xhtml.html 379461-3-container-html.html
@@ -1191,19 +1191,19 @@ test-pref(dom.use_xbl_scopes_for_remote_
 == 452964-1.html 452964-1-ref.html
 == 454361.html about:blank
 == 455105-1.html 455105-ref.html
 == 455105-2.html 455105-ref.html
 == 455171-5.html 455171-5-ref.html
 == 455280-1.xhtml 455280-1-ref.xhtml
 == 455826-1.html 455826-1-ref.html
 fails-if(Android||cocoaWidget) == 456147.xul 456147-ref.html # bug 458047
-fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1a.html 456219-1-ref.html # bug 1128229
-fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1b.html 456219-1-ref.html # bug 1128229
-fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1c.html 456219-1-ref.html # bug 1128229
+fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,732-732) == 456219-1a.html 456219-1-ref.html # bug 1128229
+fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,732-732) == 456219-1b.html 456219-1-ref.html # bug 1128229
+fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,732-732) == 456219-1c.html 456219-1-ref.html # bug 1128229
 fuzzy-if(skiaContent,1,45) fuzzy-if(webrender,43-43,8-8) == 456219-2.html 456219-2-ref.html
 == 456330-1.gif 456330-1-ref.png
 == 456484-1.html 456484-1-ref.html
 == 457398-1.html 457398-1-ref.html
 == 457398-2.html 457398-2-ref.html
 == 458296-1a.html 458296-1a-ref.html
 == 458296-1b.html 458296-1-ref.html
 == 458296-1c.html 458296-1-ref.html
@@ -1230,17 +1230,17 @@ fuzzy-if(skiaContent,1,5) == 459443-1.ht
 fuzzy-if(skiaContent,1,12000) fails-if(webrender) == 461512-1.html 461512-1-ref.html # bug 1382896 for webrender
 == 462844-1.html 462844-ref.html
 == 462844-2.html 462844-ref.html
 == 462844-3.html 462844-ref.html
 == 462844-4.html 462844-ref.html
 == 463204-1.html 463204-1-ref.html
 fuzzy-if(webrender,16-16,3425-3425) == 463217-1.xul 463217-1-ref.xul
 == 463952-1.html 463952-1-ref.html
-== 464811-1.html 464811-1-ref.html
+fails-if(webrender) == 464811-1.html 464811-1-ref.html
 == 465574-1.html 465574-1-ref.html # bug 421436
 == 466258-1.html 466258-1-ref.html
 == 466395-1.html 466395-1-ref.html
 == 466395-2.html 466395-2-ref.html
 == 467084-1.html 467084-1-ref.html
 == 467084-2.html 467084-2-ref.html
 == 467444-1.html 467444-1-ref.html
 == 467460-1.html 467460-1-ref.html
@@ -1638,17 +1638,17 @@ HTTP(..) != 615121-2.html 615121-2-notre
 == 617242-1.html 617242-1-ref.html
 != 618071.html 618071-notref.html
 == 619117-1.html 619117-1-ref.html
 HTTP(..) == 619511-1.html 619511-1-ref.html
 skip-if(Android) HTTP(..) == 621253-1-externalFilter.html 621253-1-ref.html
 skip-if(Android) == 621253-1-internalFilter.html 621253-1-ref.html
 HTTP(..) == 621253-2-externalFilter.html 621253-2-ref.html
 == 621253-2-internalFilter.html 621253-2-ref.html
-random-if(winWidget) == 621918-1.svg 621918-1-ref.svg # 1-pixel diacritic positioning discrepancy in rotated text (may depend on platform fonts)
+random-if(winWidget) fails-if(webrender) == 621918-1.svg 621918-1-ref.svg # 1-pixel diacritic positioning discrepancy in rotated text (may depend on platform fonts)
 random-if(winWidget) HTTP(..) == 621918-2.svg 621918-2-ref.svg # same 1px issue as above, and HTTP(..) for filters.svg, used to mask antialiasing issues where glyphs touch
 fuzzy-if(d2d,5,1) == 622585-1.html 622585-1-ref.html # bug 789402
 fuzzy-if(Android,8,300) fuzzy-if(skiaContent,1,40000) == 625409-1.html 625409-1-ref.html
 == 627393-1.html about:blank
 fuzzy-if(skiaContent,1,500) == 630835-1.html about:blank
 == 631352-1.html 631352-1-ref.html
 skip-if(!haveTestPlugin) fails-if(Android) fuzzy-if(winWidget&&!layersGPUAccelerated,102,535) fuzzy-if(skiaContent&&!Android,102,11000) HTTP == 632423-1.html 632423-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == 632423-1.html 632423-1-ref.html
@@ -1659,20 +1659,20 @@ fuzzy-if(skiaContent,1,500) == 634232-1.
 fuzzy-if(skiaContent,3,120000) == 635302-1.html 635302-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == 635302-1.html 635302-1-ref.html
 fuzzy(1,68) fuzzy-if(gtkWidget,1,70) fails-if(Android) fuzzy-if(skiaContent&&!Android,1,300) == 635373-1.html 635373-1-ref.html
 random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,20,118) fuzzy-if(skiaContent&&!Android,2,550) == 635373-2.html 635373-2-ref.html
 random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,20,116) fuzzy-if(skiaContent&&!Android,2,650) == 635373-3.html 635373-3-ref.html
 HTTP(..) == 635639-1.html 635639-1-ref.html
 HTTP(..) == 635639-2.html 635639-2-ref.html
 random == 637597-1.html 637597-1-ref.html # bug 637597 was never really fixed!
-fuzzy-if(Android,8,500) == 637852-1.html 637852-1-ref.html
+fuzzy-if(Android,8,500) fuzzy-if(webrender,0-1,0-19) == 637852-1.html 637852-1-ref.html
 fuzzy-if(Android,8,500) fuzzy-if(skiaContent,3,1) fuzzy-if(webrender,3,19) == 637852-2.html 637852-2-ref.html
-fuzzy-if(Android,8,500) fails-if(webrender) == 637852-3.html 637852-3-ref.html # bug 1363060 for webrender
-fails-if(webrender&&asyncPan) == 641770-1.html 641770-1-ref.html # bug 1374326 for webrender+APZ
+fuzzy-if(Android,8,500) == 637852-3.html 637852-3-ref.html
+== 641770-1.html 641770-1-ref.html
 == 641856-1.html 641856-1-ref.html
 == 645491-1.html 645491-1-ref.html
 == 645647-1.html 645647-1-ref.html
 == 645647-2.html 645647-2-ref.html
 == 645768-1.html 645768-1-ref.html
 fails-if(layersGPUAccelerated&&cocoaWidget) fuzzy-if(!layersGPUAccelerated,41,260) fuzzy-if(skiaContent,57,11000) == 650228-1.html 650228-1-ref.html # Quartz alpha blending doesn't match GL alpha blending
 needs-focus == 652301-1a.html 652301-1-ref.html
 needs-focus == 652301-1b.html 652301-1-ref.html
@@ -1744,17 +1744,17 @@ fuzzy-if(true,17,5886) fuzzy-if(skiaCont
 == 776265-2a.html 776265-2-ref.html
 == 776265-2b.html 776265-2-ref.html
 == 776265-2c.html 776265-2-ref.html
 == 776265-2d.html 776265-2-ref.html
 == 776443-1.html 776443-1-ref.html
 == 776443-2.html 776443-2-ref.html
 == 786254-1.html 786254-1-ref.html
 == 787947-1.html 787947-1-ref.html
-pref(gfx.webrender.layers-free,true) == 796847-1.svg 796847-1-ref.svg
+== 796847-1.svg 796847-1-ref.svg
 fuzzy(40,875) fuzzy-if(skiaContent,1,2500) == 797797-1.html 797797-1-ref.html # 'opacity:N' and rgba(,,,N) text don't match precisely
 fuzzy(40,850) fuzzy-if(skiaContent,2,2310) == 797797-2.html 797797-2-ref.html # 'opacity:N' and rgba(,,,N) text don't match precisely
 == 801994-1.html 801994-1-ref.html
 == 804323-1.html 804323-1-ref.html
 fuzzy-if(Android,8,608) == 811301-1.html 811301-1-ref.html
 == 812824-1.html 812824-1-ref.html
 == 814677.html 814677-ref.html
 == 814952-1.html 814952-1-ref.html
@@ -1788,38 +1788,38 @@ fails-if(styloVsGecko||stylo) == 883987-
 == 883987-1d.html 883987-1-ref.html
 == 883987-1e.html 883987-1-ref.html
 == 883987-1f.html 883987-1-ref.html
 == 890495-1.html 890495-1-ref.html
 == 894931-1.html 894931-1-ref.html
 == 897491-1.html 897491-1-ref.html
 == 897491-2.html 897491-2-ref.html
 fuzzy(2,10000) fuzzy-if(Android,5,10000) == 902330-1.html 902330-1-ref.html
-fuzzy-if(Android,8,400) fails-if(webrender) == 906199-1.html 906199-1-ref.html
+fuzzy-if(Android,8,400) == 906199-1.html 906199-1-ref.html
 == 921716-1.html 921716-1-ref.html
 == 926155-1.html 926155-1-ref.html
 fuzzy-if(cocoaWidget,1,40) == 928607-1.html 928607-1-ref.html
 fuzzy-if(skiaContent,1,3) == 931464-1.html 931464-1-ref.html
 == 931853.html 931853-ref.html
 == 931853-quirks.html 931853-quirks-ref.html
 == 933264-1.html 933264-1-ref.html
 == 936670-1.svg 936670-1-ref.svg
 == 941940-1.html 941940-1-ref.html
 fails == 942017.html 942017-ref.html # bug 942017
 fuzzy-if(Android,1,1) fuzzy-if(skiaContent,1,160000) fails-if(webrender) == 942672-1.html 942672-1-ref.html
 == 953334-win32-clipping.html 953334-win32-clipping-ref.html
 fuzzy-if(skiaContent,1,5) == 956513-1.svg 956513-1-ref.svg
 == 944291-1.html 944291-1-ref.html
 == 950436-1.html 950436-1-ref.html
-== 957770-1.svg 957770-1-ref.svg
+fails-if(webrender) == 957770-1.svg 957770-1-ref.svg
 == 960277-1.html 960277-1-ref.html
 fuzzy-if(skiaContent,1,80) == 961887-1.html 961887-1-ref.html
 == 961887-2.html 961887-2-ref.html
 == 961887-3.html 961887-3-ref.html
-pref(layout.css.overflow-clip-box.enabled,true) fuzzy(50,145) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,3712) == 966992-1.html 966992-1-ref.html
+pref(layout.css.overflow-clip-box.enabled,true) fuzzy(50,145) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,3712) fails-if(webrender) == 966992-1.html 966992-1-ref.html
 skip-if(Android) == 966510-1.html 966510-1-ref.html # scrollable elements other than the root probably won't work well on android until bug 776030 is fixed
 skip-if(Android) == 966510-2.html 966510-2-ref.html # same as above
 fuzzy-if(skiaContent,1,123) == 978911-1.svg 978911-1-ref.svg
 == 983084-1.html 983084-1-ref.html
 == 983084-2.html 983084-2-ref.html
 == 983084-3.html 983084-1-ref.html
 == 983691-1.html 983691-ref.html
 HTTP(..) == 983985-1.html 983985-1-ref.html
@@ -1836,17 +1836,17 @@ pref(layout.css.overflow-clip-box.enable
 == 1012640-1.html 1012640-1-ref.html
 == 1013054-1.html 1013054-1-ref.html
 == 1018522-1.html 1018522-1-ref.html
 == 1021564-1.html 1021564-ref.html
 == 1021564-2.html 1021564-ref.html
 == 1021564-3.html 1021564-ref.html
 == 1021564-4.html 1021564-ref.html
 pref(browser.display.use_document_fonts,0) == 1022481-1.html 1022481-1-ref.html
-fuzzy-if(d2d,1,125200) fuzzy-if(skiaContent,1,126000) == 1022612-1.html 1022612-1-ref.html
+fuzzy-if(d2d,1,125200) fuzzy-if(skiaContent,1,126000) fails-if(webrender) == 1022612-1.html 1022612-1-ref.html
 skip-if(styloVsGecko) == 1024473-1.html 1024473-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
 fuzzy-if(skiaContent,1,24000) == 1025914-1.html 1025914-1-ref.html
 == 1042104-1.html 1042104-1-ref.html
 == 1043537-1.html 1043537-1-ref.html
 == 1044198-1.html 1044198-1-ref.html
 == 1049499-1.html 1049499-1-ref.html
 == 1050493-1.html 1050493-1-ref.html
 == 1050788-1.html about:blank
@@ -1856,17 +1856,17 @@ test-pref(layout.css.grid.enabled,true) 
 == 1059498-1.html 1059498-1-ref.html
 == 1059498-2.html 1059498-1-ref.html
 == 1059498-3.html 1059498-1-ref.html
 == 1062108-1.html 1062108-1-ref.html
 == 1062792-1.html 1062792-1-ref.html
 == 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html
 test-pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == 1066554-1.html 1066554-1-ref.html
 == 1069716-1.html 1069716-1-ref.html
-fails-if(webrender) == 1078262-1.html about:blank
+random-if(webrender) == 1078262-1.html about:blank
 test-pref(layout.testing.overlay-scrollbars.always-visible,false) == 1081072-1.html 1081072-1-ref.html
 == 1081185-1.html 1081185-1-ref.html
 == 1097437-1.html 1097437-1-ref.html
 == 1103258-1.html 1103258-1-ref.html # assertion crash test with layers culling test
 == 1105137-1.html 1105137-1-ref.html
 fuzzy-if(d2d,36,304) fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)&&d2d,127,701) HTTP(..) == 1116480-1-fakeitalic-overflow.html 1116480-1-fakeitalic-overflow-ref.html
 == 1111753-1.html about:blank
 == 1114526-1.html 1114526-1-ref.html
@@ -1981,19 +1981,19 @@ fuzzy(8,1900) == 1291528.html 1291528-re
 # should be same.  |fuzzy()| here allows the difference in border, but not
 # background color.
 fuzzy(255,1000) skip-if(!cocoaWidget) == 1294102-1.html 1294102-1-ref.html
 random-if(Android) fuzzy-if(skiaContent,15,50) == 1295466-1.xhtml 1295466-1-ref.xhtml #bug 982547
 fuzzy-if(Android,27,874) fuzzy-if(gtkWidget,14,29) == 1313772.xhtml 1313772-ref.xhtml # Bug 1128229
 fuzzy(2,320000) == 1315113-1.html 1315113-1-ref.html
 fuzzy(2,20000) == 1315113-2.html 1315113-2-ref.html
 == 1315632-1.html 1315632-1-ref.html
-fuzzy(2,40000) fuzzy-if(webrender,1-2,349-349) == 1316719-1a.html 1316719-1-ref.html
-fuzzy(2,40000) fuzzy-if(webrender,1-2,349-349) == 1316719-1b.html 1316719-1-ref.html
-fuzzy(2,40000) fuzzy-if(webrender,1-1,323-323) == 1316719-1c.html 1316719-1-ref.html
+fuzzy(2,40000) fuzzy-if(webrender,1-2,349-349) fails-if(webrender) == 1316719-1a.html 1316719-1-ref.html
+fuzzy(2,40000) fuzzy-if(webrender,1-2,349-349) fails-if(webrender) == 1316719-1b.html 1316719-1-ref.html
+fuzzy(2,40000) fuzzy-if(webrender,1-1,323-323) fails-if(webrender) == 1316719-1c.html 1316719-1-ref.html
 skip-if(Android) != 1318769-1.html 1318769-1-ref.html
 == 1322512-1.html 1322512-1-ref.html
 skip-if((stylo||styloVsGecko)&&isDebugBuild&&winWidget) == 1330051.svg 1330051-ref.svg
 == 1348481-1.html 1348481-ref.html
 == 1348481-2.html 1348481-ref.html
 == 1352464-1.html 1352464-1-ref.html
 == 1358375-1.html 1358375-ref.html
 == 1358375-2.html 1358375-ref.html
--- a/layout/reftests/canvas/reftest.list
+++ b/layout/reftests/canvas/reftest.list
@@ -1,17 +1,17 @@
 == default-size.html default-size-ref.html
 fuzzy-if(Android,8,1000) == size-1.html size-1-ref.html
 
 == empty-transaction-1.html empty-transaction-1-ref.html
 
 == image-rendering-test.html image-rendering-ref.html
 == image-shadow.html image-shadow-ref.html
 
-asserts-if(cocoaWidget,0-2) == size-change-1.html size-change-1-ref.html
+asserts-if(cocoaWidget,0-2) fails-if(webrender) == size-change-1.html size-change-1-ref.html
 
 random-if(cocoaWidget) == subpixel-1.html about:blank # see bug 1192616, re-enable once we're off the pandaboards
 
 != text-ltr-left.html text-blank.html
 != text-ltr-right.html text-blank.html
 != text-rtl-left.html text-blank.html
 != text-rtl-right.html text-blank.html
 
@@ -69,17 +69,17 @@ fails-if((azureSkia&&!azureSkiaGL)||(azu
 fails-if((azureSkia&&!azureSkiaGL)||(azureSkiaGL&&Android)) == linear-gradient-1b.html linear-gradient-1-ref.html
 
 == zero-dimensions.html zero-dimensions-ref.html
 
 != evenodd-fill-1.html nonzero-fill-1.html
 == evenodd-fill-1.html evenodd-fill-ref.html
 
 == dash-sanity.html data:text/html,<body>Pass
-fuzzy-if(azureSkia||skiaContent,9,470) random-if(Android) == dash-1.html dash-1-ref.svg  # Bug 668412 (really is android-specific, not IPC-specific)
+fuzzy-if(azureSkia||skiaContent,9,470) random-if(Android) fails-if(webrender) == dash-1.html dash-1-ref.svg  # Bug 668412 (really is android-specific, not IPC-specific)
 
 == ctm-sanity.html data:text/html,<body>Pass
 == ctm-singular-sanity.html data:text/html,<body>Pass
 == ctm-1.html ctm-1-ref.html
 
 == 672646-alpha-radial-gradient.html 672646-alpha-radial-gradient-ref.html
 == 674003-alpha-radial-gradient-superlum.html 674003-alpha-radial-gradient-superlum-ref.html
 
--- a/layout/reftests/columns/reftest.list
+++ b/layout/reftests/columns/reftest.list
@@ -1,16 +1,16 @@
 == basic-1.html basic-ref.html
 == pref-width-1a.html pref-width-1-ref.html
 == pref-width-1b.html pref-width-1-ref.html
 == pref-width-1c.html pref-width-1-ref.html
 == min-width-1a.html pref-width-1-ref.html
 == min-width-1b.html min-width-1-ref.html
 == min-width-1c.html min-width-1-ref.html
-fuzzy-if(webrender,1-1,15-15) == min-width-2.html min-width-2-ref.html
+== min-width-2.html min-width-2-ref.html
 == column-balancing-overflow-000.html column-balancing-overflow-000.ref.html
 == column-balancing-overflow-001.html column-balancing-overflow-000.ref.html
 == column-balancing-overflow-002.html column-balancing-overflow-002.ref.html
 == column-balancing-overflow-003.html column-balancing-overflow-003.ref.html
 == column-balancing-overflow-004.html column-balancing-overflow-004.ref.html
 fuzzy-if(webrender,126,364) == column-balancing-overflow-005.html column-balancing-overflow-005.ref.html
 == column-balancing-000.html column-balancing-000.ref.html
 == column-balancing-001.html column-balancing-000.ref.html
--- a/layout/reftests/counter-style/reftest.list
+++ b/layout/reftests/counter-style/reftest.list
@@ -1,14 +1,14 @@
 == system-cyclic.html     system-cyclic-ref.html
 == system-fixed.html      system-fixed-ref.html
 == system-symbolic.html   system-symbolic-ref.html
 == system-alphabetic.html system-alphabetic-ref.html
 == system-numeric.html    system-numeric-ref.html
-== system-additive.html   system-additive-ref.html
+fails-if(webrender) == system-additive.html   system-additive-ref.html
 == system-extends.html    system-extends-ref.html
 == system-cyclic-invalid.html     system-common-invalid-ref.html
 == system-fixed-invalid.html      system-common-invalid2-ref.html
 == system-symbolic-invalid.html   system-common-invalid-ref.html
 == system-alphabetic-invalid.html system-common-invalid2-ref.html
 == system-numeric-invalid.html    system-common-invalid2-ref.html
 == system-additive-invalid.html   system-common-invalid-ref.html
 == system-extends-invalid.html    system-extends-invalid-ref.html
--- a/layout/reftests/css-animations/reftest.list
+++ b/layout/reftests/css-animations/reftest.list
@@ -25,19 +25,19 @@ test-pref(layers.offmainthreadcompositio
 == stacking-context-opacity-1-animation.html stacking-context-animation-ref.html
 == stacking-context-opacity-1-with-fill-backwards.html stacking-context-animation-ref.html
 == stacking-context-opacity-1-with-fill-forwards.html stacking-context-animation-ref.html
 == stacking-context-paused-on-opacity-1.html stacking-context-animation-ref.html
 == stacking-context-paused-on-transform-none.html stacking-context-animation-ref.html
 == stacking-context-transform-none-animation.html stacking-context-animation-ref.html
 == stacking-context-transform-none-animation-on-svg.html  stacking-context-animation-ref.html
 == stacking-context-transform-none-animation-with-backface-visibility.html stacking-context-animation-ref.html
-fails-if(webrender) == stacking-context-transform-none-animation-with-preserve-3d.html stacking-context-animation-ref.html
+== stacking-context-transform-none-animation-with-preserve-3d.html stacking-context-animation-ref.html
 == stacking-context-transform-none-with-fill-backwards.html stacking-context-animation-ref.html
-== stacking-context-transform-none-with-fill-forwards.html stacking-context-animation-ref.html
+random-if(webrender) == stacking-context-transform-none-with-fill-forwards.html stacking-context-animation-ref.html
 == stacking-context-opacity-1-in-delay.html stacking-context-animation-ref.html
 == stacking-context-opacity-removing-important-in-delay.html stacking-context-animation-ref.html
 == stacking-context-transform-none-in-delay.html stacking-context-animation-ref.html
 == stacking-context-transform-removing-important-in-delay.html stacking-context-animation-ref.html
 fails == background-position-in-delay.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer from its delay phse, and reftest-opaque-layer only handles items assigned to PaintedLayers.
 fails-if(webrender) == background-position-after-finish.html background-position-ref.html
 fails == background-position-running.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer, and reftest-opaque-layer only handles items assigned to PaintedLayers.
 fails == background-position-important.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position overridden by a non-animated !important style also creates an active layer, and reftest-opaque-layer only handles items that are assigned to PaintedLayers.
--- a/layout/reftests/css-blending/reftest.list
+++ b/layout/reftests/css-blending/reftest.list
@@ -1,44 +1,44 @@
 pref(layout.css.mix-blend-mode.enabled,true) == blend-canvas.html blend-canvas-ref.html
 pref(layout.css.mix-blend-mode.enabled,true) == blend-constant-background-color.html blend-constant-background-color-ref.html
 pref(layout.css.mix-blend-mode.enabled,true) == blend-gradient-background-color.html blend-gradient-background-color-ref.html
 pref(layout.css.mix-blend-mode.enabled,true) == blend-image.html blend-image-ref.html
-pref(layout.css.mix-blend-mode.enabled,true) == blend-difference-stacking.html blend-difference-stacking-ref.html
+pref(layout.css.mix-blend-mode.enabled,true) fails-if(webrender) == blend-difference-stacking.html blend-difference-stacking-ref.html
 
-fuzzy-if(skiaContent,1,30000) pref(layout.css.background-blend-mode.enabled,true) == background-blending-alpha.html background-blending-alpha-ref.html
+fuzzy-if(skiaContent,1,30000) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-alpha.html background-blending-alpha-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-gradient-color.html background-blending-gradient-color-ref.html
-fuzzy-if(azureSkiaGL,3,7597) fuzzy-if(cocoaWidget,3,7597) fuzzy-if(d2d,1,3800) fuzzy-if(d3d11,1,4200) fuzzy-if(skiaContent,2,9450) pref(layout.css.background-blend-mode.enabled,true) == background-blending-gradient-gradient.html background-blending-gradient-gradient-ref.html
-fuzzy-if(azureSkiaGL,2,7174) pref(layout.css.background-blend-mode.enabled,true) == background-blending-gradient-image.html background-blending-gradient-color-ref.html
+fuzzy-if(azureSkiaGL,3,7597) fuzzy-if(cocoaWidget,3,7597) fuzzy-if(d2d,1,3800) fuzzy-if(d3d11,1,4200) fuzzy-if(skiaContent,2,9450) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-gradient-gradient.html background-blending-gradient-gradient-ref.html
+fuzzy-if(azureSkiaGL,2,7174) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-gradient-image.html background-blending-gradient-color-ref.html
 fuzzy-if(azureSkia||d2d||gtkWidget,1,10000) pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-jpg.html background-blending-image-color-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-png.html background-blending-image-color-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-svg.html background-blending-image-color-ref.html
-fuzzy-if(azureSkiaGL,2,7174) pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-gradient.html background-blending-gradient-color-ref.html
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-image.html background-blending-image-color-ref.html
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-isolation.html background-blending-isolation-ref.html
+fuzzy-if(azureSkiaGL,2,7174) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-image-gradient.html background-blending-gradient-color-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-image-image.html background-blending-image-color-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-isolation.html background-blending-isolation-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-list-repeat.html background-blending-list-repeat-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-multiple-images.html background-blending-multiple-images-ref.html
 
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-color-burn.html background-blending-color-burn-ref.svg
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-color-dodge.html background-blending-color-dodge-ref.svg
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-color-burn.html background-blending-color-burn-ref.svg
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-color-dodge.html background-blending-color-dodge-ref.svg
 # need to investigate why these tests are fuzzy - first suspect is a possible color space conversion on some platforms; same for mix-blend-mode tests
-fuzzy-if(azureSkia||gtkWidget,2,9600) fuzzy-if(d2d,1,8000) pref(layout.css.background-blend-mode.enabled,true) == background-blending-color.html background-blending-color-ref.svg
+fuzzy-if(azureSkia||gtkWidget,2,9600) fuzzy-if(d2d,1,8000) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-color.html background-blending-color-ref.svg
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-darken.html background-blending-darken-ref.svg
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-difference.html background-blending-difference-ref.svg
-fuzzy-if(skiaContent,1,1600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-exclusion.html background-blending-exclusion-ref.svg
-fuzzy-if(cocoaWidget||d2d,1,1600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-hard-light.html background-blending-hard-light-ref.svg
-fuzzy-if(d2d,1,9600) fuzzy-if(azureSkia||gtkWidget,2,9600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-hue.html background-blending-hue-ref.svg
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-lighten.html background-blending-lighten-ref.svg
-fuzzy-if(d2d,1,8000) fuzzy-if(azureSkia||gtkWidget,2,9600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-luminosity.html background-blending-luminosity-ref.svg
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-difference.html background-blending-difference-ref.svg
+fuzzy-if(skiaContent,1,1600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-exclusion.html background-blending-exclusion-ref.svg
+fuzzy-if(cocoaWidget||d2d,1,1600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-hard-light.html background-blending-hard-light-ref.svg
+fuzzy-if(d2d,1,9600) fuzzy-if(azureSkia||gtkWidget,2,9600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-hue.html background-blending-hue-ref.svg
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-lighten.html background-blending-lighten-ref.svg
+fuzzy-if(d2d,1,8000) fuzzy-if(azureSkia||gtkWidget,2,9600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-luminosity.html background-blending-luminosity-ref.svg
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-multiply.html background-blending-multiply-ref.svg
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-normal.html background-blending-normal-ref.svg
-fuzzy-if(azureSkia||gtkWidget,1,1600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-overlay.html background-blending-overlay-ref.svg
-fuzzy-if(d2d,1,1600) fuzzy-if(azureSkia||gtkWidget,2,12800) pref(layout.css.background-blend-mode.enabled,true) == background-blending-saturation.html background-blending-saturation-ref.svg
-fuzzy-if(d2d||azureSkia||gtkWidget,1,1600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-screen.html background-blending-screen-ref.svg
-fuzzy-if(d2d||azureSkia||gtkWidget,10,4800) pref(layout.css.background-blend-mode.enabled,true) == background-blending-soft-light.html background-blending-soft-light-ref.svg
+fuzzy-if(azureSkia||gtkWidget,1,1600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-overlay.html background-blending-overlay-ref.svg
+fuzzy-if(d2d,1,1600) fuzzy-if(azureSkia||gtkWidget,2,12800) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-saturation.html background-blending-saturation-ref.svg
+fuzzy-if(d2d||azureSkia||gtkWidget,1,1600) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-screen.html background-blending-screen-ref.svg
+fuzzy-if(d2d||azureSkia||gtkWidget,10,4800) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-soft-light.html background-blending-soft-light-ref.svg
 
 fuzzy-if(azureSkia||d2d||gtkWidget,1,40000) pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-959674.html background-blending-image-color-959674-ref.html
 
 #fuzzy due to inconsistencies in rounded rect cliping between parent and child; may be related to antialiasing. Between platforms, the max difference is the same, and the number of different pixels is either 36 or 37. (Win, Mac and Lin)
 fuzzy(64,53) pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-952051.html mix-blend-mode-952051-ref.html
 
 fuzzy-if(d3d11,49,200) pref(layout.css.mix-blend-mode.enabled,true) pref(layout.css.filters.enabled,true) == mix-blend-mode-and-filter.html mix-blend-mode-and-filter-ref.html
 fuzzy-if(d3d11,1,3) pref(layout.css.mix-blend-mode.enabled,true) pref(layout.css.filters.enabled,true) == mix-blend-mode-and-filter.svg mix-blend-mode-and-filter-ref.svg
@@ -55,17 +55,17 @@ fuzzy(1,6800) == clipped-opacity-contain
 # Test 9
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-svg-as-data-uri.html background-blending-image-color-ref.html
 # Test 10
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-gif.html background-blending-image-color-gif-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-transform3d.html background-blending-image-color-ref.html
 
 # Test plan 5.3.2 Background layers do not blend with content outside the background (or behind the element) - tests 2 and 3
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-isolation-parent-child-color.html background-blending-isolation-parent-child-ref.html
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-isolation-parent-child-image.html background-blending-isolation-parent-child-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-isolation-parent-child-image.html background-blending-isolation-parent-child-ref.html
 
 # Test plan 5.3.6 background-blend-mode for an element with background-position
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-position-percentage.html background-blending-background-position-percentage-ref.html
 
 # Test plan 5.3.7 background-blend-mode for an element with background-size
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-size-contain.html background-blending-background-size-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-size-cover.html background-blending-background-size-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-size-percentage.html background-blending-background-size-ref.html
@@ -80,21 +80,21 @@ pref(layout.css.background-blend-mode.en
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-clip-padding-box.html background-blending-background-clip-padding-box-ref.html
 
 # Test plan 5.3.10 background-blend-mode for an element with background-origin
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-origin-border-box.html background-blending-background-origin-ref.html
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-origin-content-box.html background-blending-background-origin-ref.html
 
 # Test plan 5.3.11 background-blend-mode for an element with background-attachement
 pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-attachement-fixed.html background-blending-background-attachement-fixed-ref.html
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-background-attachement-fixed-scroll.html background-blending-background-attachement-fixed-scroll-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-background-attachement-fixed-scroll.html background-blending-background-attachement-fixed-scroll-ref.html
 
-pref(layout.css.background-blend-mode.enabled,true) == background-blend-mode-body-image.html background-blend-mode-body-image-ref.html
-fuzzy-if(Android,4,768) fuzzy-if(gtkWidget,1,132) fuzzy-if(skiaContent,1,800) pref(layout.css.background-blend-mode.enabled,true) == background-blend-mode-body-transparent-image.html background-blend-mode-body-transparent-image-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blend-mode-body-image.html background-blend-mode-body-image-ref.html
+fuzzy-if(Android,4,768) fuzzy-if(gtkWidget,1,132) fuzzy-if(skiaContent,1,800) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blend-mode-body-transparent-image.html background-blend-mode-body-transparent-image-ref.html
 
-pref(layout.css.background-blend-mode.enabled,true) == background-blending-moz-element.html background-blending-moz-element-ref.html
+pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == background-blending-moz-element.html background-blending-moz-element-ref.html
 
 fuzzy(1,40000) pref(layout.css.background-blend-mode.enabled,true) fails-if(webrender) == mix-blend-mode-soft-light.html mix-blend-mode-soft-light-ref.html
 
 # Test plan 4.4.2 element with isolation:isolate creates an isolated group for blended children
-pref(layout.css.isolation.enabled,true) == blend-isolation.html blend-isolation-ref.html
+pref(layout.css.isolation.enabled,true) fails-if(webrender) == blend-isolation.html blend-isolation-ref.html
 
 pref(layout.css.background-blend-mode.enabled,true) == bug1281593.html bug1281593-ref.html
--- a/layout/reftests/css-gradients/reftest.list
+++ b/layout/reftests/css-gradients/reftest.list
@@ -35,24 +35,24 @@ fuzzy-if(!contentSameGfxBackendAsCanvas,
 fuzzy-if(!contentSameGfxBackendAsCanvas,1,5884) fuzzy-if(cocoaWidget,9,87824) fuzzy-if(azureSkiaGL,6,88024) random-if(d2d) fuzzy-if(skiaContent,4,6000) == radial-1b.html radial-1-ref.html
 fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2a.html radial-2-ref.html
 fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2b.html radial-2-ref.html
 fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2c.html radial-2-ref.html
 fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2d.html radial-2-ref.html
 fuzzy-if(cocoaWidget,1,28) fuzzy-if(winWidget,1,18) fuzzy-if(skiaContent,1,50) == radial-position-1b.html radial-position-1-ref.html
 fuzzy-if(cocoaWidget,4,22317) fuzzy-if(Android,8,771) == radial-shape-closest-corner-1a.html radial-shape-closest-corner-1-ref.html
 fuzzy(1,238) fuzzy-if(cocoaWidget,4,22608) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\./.test(http.oscpu))&&d2d,1,336) fuzzy-if(Android,8,787) fuzzy-if(skiaContent,2,300) == radial-shape-closest-corner-1b.html radial-shape-closest-corner-1-ref.html
-fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,17,3880) == radial-shape-closest-side-1a.html radial-shape-closest-side-1-ref.html
-fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,17,3880) == radial-shape-closest-side-1b.html radial-shape-closest-side-1-ref.html
+fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,17,3880) fails-if(webrender) == radial-shape-closest-side-1a.html radial-shape-closest-side-1-ref.html
+fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,17,3880) fails-if(webrender) == radial-shape-closest-side-1b.html radial-shape-closest-side-1-ref.html
 fuzzy-if(Android,8,771) == radial-shape-farthest-corner-1a.html radial-shape-farthest-corner-1-ref.html
 fails-if(gtkWidget&&/x86_64-/.test(xulRuntime.XPCOMABI)) fuzzy(1,1569) fuzzy-if(cocoaWidget,2,41281) fuzzy-if(Android,8,1091) fuzzy-if(skiaContent,2,500) == radial-shape-farthest-corner-1b.html radial-shape-farthest-corner-1-ref.html
-fuzzy-if(Android,17,13320) == radial-shape-farthest-side-1a.html radial-shape-farthest-side-1-ref.html
-fuzzy-if(Android,17,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-if(Android,17,13320) fails-if(webrender) == radial-shape-farthest-side-1a.html radial-shape-farthest-side-1-ref.html
+fuzzy-if(Android,17,13320) fails-if(webrender) == radial-shape-farthest-side-1b.html radial-shape-farthest-side-1-ref.html
+fails-if(webrender) == radial-size-1a.html radial-size-1-ref.html
+fails-if(webrender) == radial-size-1b.html radial-size-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1a.html radial-zero-length-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1b.html radial-zero-length-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1c.html radial-zero-length-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1d.html radial-zero-length-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1e.html radial-zero-length-1-ref.html
 fuzzy-if(Android,4,248) == radial-zero-length-1f.html radial-zero-length-1-ref.html
 == radial-premul.html radial-premul-ref.html
 == repeated-final-stop-1.html repeated-final-stop-1-ref.html
--- a/layout/reftests/css-grid/reftest.list
+++ b/layout/reftests/css-grid/reftest.list
@@ -47,17 +47,17 @@ skip-if(Android) fuzzy-if(winWidget,1,32
 == grid-item-sizing-percent-001.html grid-item-sizing-percent-001-ref.html
 == grid-item-sizing-percent-002.html grid-item-sizing-percent-002-ref.html
 == grid-item-sizing-percent-003.html grid-item-sizing-percent-003-ref.html
 == grid-item-sizing-percent-004.html grid-item-sizing-percent-004-ref.html
 == grid-item-sizing-px-001.html grid-item-sizing-percent-001-ref.html
 == grid-item-dir-001.html grid-item-dir-001-ref.html
 fuzzy-if(winWidget,70,130) fuzzy-if(cocoaWidget,85,180) == grid-col-max-sizing-max-content-001.html grid-col-max-sizing-max-content-001-ref.html
 fuzzy-if(winWidget,70,130) fuzzy-if(cocoaWidget,85,180) == grid-col-max-sizing-max-content-002.html grid-col-max-sizing-max-content-002-ref.html
-fuzzy-if(webrender,1-1,2-2) == grid-min-max-content-sizing-001.html grid-min-max-content-sizing-001-ref.html
+== grid-min-max-content-sizing-001.html grid-min-max-content-sizing-001-ref.html
 == grid-min-max-content-sizing-002.html grid-min-max-content-sizing-002-ref.html
 fuzzy-if(winWidget,1,36) == grid-auto-min-sizing-definite-001.html grid-auto-min-sizing-definite-001-ref.html
 == grid-auto-min-sizing-intrinsic-001.html grid-auto-min-sizing-intrinsic-001-ref.html
 == grid-auto-min-sizing-intrinsic-002.html grid-auto-min-sizing-intrinsic-002-ref.html
 == grid-auto-min-sizing-intrinsic-003.html grid-auto-min-sizing-intrinsic-003-ref.html
 == grid-auto-min-sizing-intrinsic-004.html grid-auto-min-sizing-intrinsic-004-ref.html
 == grid-auto-min-sizing-transferred-size-001.html grid-auto-min-sizing-transferred-size-001-ref.html
 == grid-auto-min-sizing-transferred-size-002.html grid-auto-min-sizing-transferred-size-002-ref.html
@@ -181,103 +181,103 @@ skip-if(Android&&isDebugBuild) == grid-r
 == grid-repeat-auto-fill-fit-005.html grid-repeat-auto-fill-fit-005-ref.html
 == grid-repeat-auto-fill-fit-006.html grid-repeat-auto-fill-fit-006-ref.html
 == grid-repeat-auto-fill-fit-007.html grid-repeat-auto-fill-fit-007-ref.html
 == grid-repeat-auto-fill-fit-008.html grid-repeat-auto-fill-fit-008-ref.html
 == grid-repeat-auto-fill-fit-009.html grid-repeat-auto-fill-fit-009-ref.html
 == grid-repeat-auto-fill-fit-010.html grid-repeat-auto-fill-fit-010-ref.html
 == grid-repeat-auto-fill-fit-011.html grid-repeat-auto-fill-fit-010-ref.html
 == grid-item-blockifying-001.html grid-item-blockifying-001-ref.html
-== grid-fragmentation-001.html grid-fragmentation-001-ref.html
-== grid-fragmentation-002.html grid-fragmentation-002-ref.html
-== grid-fragmentation-003.html grid-fragmentation-003-ref.html
-== grid-fragmentation-004.html grid-fragmentation-004-ref.html
-== grid-fragmentation-005.html grid-fragmentation-005-ref.html
-== grid-fragmentation-006.html grid-fragmentation-006-ref.html
-== grid-fragmentation-007.html grid-fragmentation-007-ref.html
-== grid-fragmentation-008.html grid-fragmentation-008-ref.html
-== grid-fragmentation-009.html grid-fragmentation-009-ref.html
+fails-if(webrender) == grid-fragmentation-001.html grid-fragmentation-001-ref.html
+fails-if(webrender) == grid-fragmentation-002.html grid-fragmentation-002-ref.html
+fails-if(webrender) == grid-fragmentation-003.html grid-fragmentation-003-ref.html
+fails-if(webrender) == grid-fragmentation-004.html grid-fragmentation-004-ref.html
+fails-if(webrender) == grid-fragmentation-005.html grid-fragmentation-005-ref.html
+fails-if(webrender) == grid-fragmentation-006.html grid-fragmentation-006-ref.html
+fails-if(webrender) == grid-fragmentation-007.html grid-fragmentation-007-ref.html
+fails-if(webrender) == grid-fragmentation-008.html grid-fragmentation-008-ref.html
+fails-if(webrender) == grid-fragmentation-009.html grid-fragmentation-009-ref.html
 == grid-fragmentation-010.html grid-fragmentation-010-ref.html
 == grid-fragmentation-011.html grid-fragmentation-011-ref.html
 == grid-fragmentation-012.html grid-fragmentation-012-ref.html
 == grid-fragmentation-013.html grid-fragmentation-013-ref.html
 == grid-fragmentation-014.html grid-fragmentation-014-ref.html
 asserts(0-10) == grid-fragmentation-015.html grid-fragmentation-015-ref.html # bug 1144852 (due to vertical writing-mode)
 == grid-fragmentation-016.html grid-fragmentation-016-ref.html
 == grid-fragmentation-017.html grid-fragmentation-017-ref.html
 == grid-fragmentation-018.html grid-fragmentation-018-ref.html
 == grid-fragmentation-019.html grid-fragmentation-019-ref.html
-== grid-fragmentation-020.html grid-fragmentation-020-ref.html
+fails-if(webrender) == grid-fragmentation-020.html grid-fragmentation-020-ref.html
 == grid-fragmentation-021.html grid-fragmentation-021-ref.html
-== grid-fragmentation-022.html grid-fragmentation-007-ref.html
-== grid-fragmentation-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-024.html grid-fragmentation-024-ref.html
+fails-if(webrender) == grid-fragmentation-022.html grid-fragmentation-007-ref.html
+fails-if(webrender) == grid-fragmentation-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-024.html grid-fragmentation-024-ref.html
 == grid-fragmentation-025.html grid-fragmentation-025-ref.html
-== grid-fragmentation-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-026.html grid-fragmentation-026-ref.html
 == grid-fragmentation-027.html grid-fragmentation-025-ref.html
-== grid-fragmentation-028.html grid-fragmentation-028-ref.html
-fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-029.html grid-fragmentation-029-ref.html
+fails-if(webrender) == grid-fragmentation-028.html grid-fragmentation-028-ref.html
+fuzzy-if(webrender,1-1,2-2) fails-if(webrender) == grid-fragmentation-029.html grid-fragmentation-029-ref.html
 == grid-fragmentation-030.html grid-fragmentation-030-ref.html
-== grid-fragmentation-031.html grid-fragmentation-031-ref.html
+fails-if(webrender) == grid-fragmentation-031.html grid-fragmentation-031-ref.html
 
 # Fragmentation tests that does dynamic content removal/insertions.
 # They should give the same result as the corresponding static test.
-== grid-fragmentation-dyn3-001.html grid-fragmentation-001-ref.html
-== grid-fragmentation-dyn4-001.html grid-fragmentation-001-ref.html
-== grid-fragmentation-dyn1-002.html grid-fragmentation-002-ref.html
-== grid-fragmentation-dyn3-002.html grid-fragmentation-002-ref.html
-== grid-fragmentation-dyn3-003.html grid-fragmentation-003-ref.html
-== grid-fragmentation-dyn4-004.html grid-fragmentation-004-ref.html
-== grid-fragmentation-dyn4-005.html grid-fragmentation-005-ref.html
-== grid-fragmentation-dyn5-005.html grid-fragmentation-005-ref.html
-== grid-fragmentation-dyn1-006.html grid-fragmentation-006-ref.html
-== grid-fragmentation-dyn3-007.html grid-fragmentation-007-ref.html
-== grid-fragmentation-dyn5-007.html grid-fragmentation-007-ref.html
-== grid-fragmentation-dyn5-008.html grid-fragmentation-008-ref.html
-== grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
-== grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-001.html grid-fragmentation-001-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-001.html grid-fragmentation-001-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-002.html grid-fragmentation-002-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-002.html grid-fragmentation-002-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-003.html grid-fragmentation-003-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-004.html grid-fragmentation-004-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-005.html grid-fragmentation-005-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-005.html grid-fragmentation-005-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-006.html grid-fragmentation-006-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-007.html grid-fragmentation-007-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-007.html grid-fragmentation-007-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-008.html grid-fragmentation-008-ref.html
+fails-if(webrender) fails-if(webrender) == grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
+fails-if(webrender) fails-if(webrender) == grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
 == grid-fragmentation-dyn4-015.html grid-fragmentation-015-ref.html
 == grid-fragmentation-dyn1-015.html grid-fragmentation-015-ref.html
 == grid-fragmentation-dyn1-016.html grid-fragmentation-016-ref.html
 == grid-fragmentation-dyn5-016.html grid-fragmentation-016-ref.html
 == grid-fragmentation-dyn3-017.html grid-fragmentation-017-ref.html
 == grid-fragmentation-dyn2-018.html grid-fragmentation-018-ref.html
 == grid-fragmentation-dyn1-019.html grid-fragmentation-019-ref.html
 == grid-fragmentation-dyn2-019.html grid-fragmentation-019-ref.html
 == grid-fragmentation-dyn3-019.html grid-fragmentation-019-ref.html
 == grid-fragmentation-dyn4-019.html grid-fragmentation-019-ref.html
 == grid-fragmentation-dyn5-019.html grid-fragmentation-019-ref.html
-== grid-fragmentation-dyn1-020.html grid-fragmentation-020-ref.html
-== grid-fragmentation-dyn2-020.html grid-fragmentation-020-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-020.html grid-fragmentation-020-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-020.html grid-fragmentation-020-ref.html
 != grid-fragmentation-dyn1-021.html grid-fragmentation-021-ref.html # bug 1251799
 == grid-fragmentation-dyn2-021.html grid-fragmentation-021-ref.html
 == grid-fragmentation-dyn3-021.html grid-fragmentation-021-ref.html
 asserts(1-10) == grid-fragmentation-dyn4-021.html grid-fragmentation-021-ref.html # assertion related to bug 1251799 ?
 == grid-fragmentation-dyn5-021.html grid-fragmentation-021-ref.html
-== grid-fragmentation-dyn2-022.html grid-fragmentation-007-ref.html
-== grid-fragmentation-dyn1-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-dyn2-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-dyn3-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-dyn4-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-dyn5-023.html grid-fragmentation-023-ref.html
-== grid-fragmentation-dyn1-024.html grid-fragmentation-024-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-022.html grid-fragmentation-007-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-023.html grid-fragmentation-023-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-024.html grid-fragmentation-024-ref.html
 == grid-fragmentation-dyn2-025.html grid-fragmentation-025-ref.html
-== grid-fragmentation-dyn1-026.html grid-fragmentation-026-ref.html
-== grid-fragmentation-dyn2-026.html grid-fragmentation-026-ref.html
-== grid-fragmentation-dyn3-026.html grid-fragmentation-026-ref.html
-== grid-fragmentation-dyn4-026.html grid-fragmentation-026-ref.html
-== grid-fragmentation-dyn5-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-026.html grid-fragmentation-026-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-026.html grid-fragmentation-026-ref.html
 == grid-fragmentation-dyn1-027.html grid-fragmentation-025-ref.html
 == grid-fragmentation-dyn2-027.html grid-fragmentation-025-ref.html
 == grid-fragmentation-dyn3-027.html grid-fragmentation-025-ref.html
 == grid-fragmentation-dyn4-027.html grid-fragmentation-025-ref.html
 == grid-fragmentation-dyn5-027.html grid-fragmentation-025-ref.html
-== grid-fragmentation-dyn1-028.html grid-fragmentation-028-ref.html
-== grid-fragmentation-dyn2-028.html grid-fragmentation-028-ref.html
-== grid-fragmentation-dyn3-028.html grid-fragmentation-028-ref.html
-== grid-fragmentation-dyn4-028.html grid-fragmentation-028-ref.html
-== grid-fragmentation-dyn5-028.html grid-fragmentation-028-ref.html
-fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
-fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-dyn2-029.html grid-fragmentation-029-ref.html
+fails-if(webrender) == grid-fragmentation-dyn1-028.html grid-fragmentation-028-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-028.html grid-fragmentation-028-ref.html
+fails-if(webrender) == grid-fragmentation-dyn3-028.html grid-fragmentation-028-ref.html
+fails-if(webrender) == grid-fragmentation-dyn4-028.html grid-fragmentation-028-ref.html
+fails-if(webrender) == grid-fragmentation-dyn5-028.html grid-fragmentation-028-ref.html
+fuzzy-if(webrender,1-1,2-2) fails-if(webrender) == grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
+fuzzy-if(webrender,1-1,2-2) fails-if(webrender) == grid-fragmentation-dyn2-029.html grid-fragmentation-029-ref.html
 == grid-fragmentation-dyn2-030.html grid-fragmentation-030-ref.html
-== grid-fragmentation-dyn2-031.html grid-fragmentation-031-ref.html
+fails-if(webrender) == grid-fragmentation-dyn2-031.html grid-fragmentation-031-ref.html
 == bug1306106.html bug1306106-ref.html
 == grid-percent-intrinsic-sizing-001.html grid-percent-intrinsic-sizing-001-ref.html
--- a/layout/reftests/css-ui-invalid/default-style/reftest.list
+++ b/layout/reftests/css-ui-invalid/default-style/reftest.list
@@ -1,10 +1,10 @@
 == input.html input-ref.html
-fuzzy-if(webrender,1-1,6-6) fuzzy-if(cocoaWidget,2,32) == button.html button-ref.html
+fuzzy-if(cocoaWidget,2,32) == button.html button-ref.html
 == textarea.html textarea-ref.html
 == select.html select-ref.html
 == fieldset.html fieldset-ref.html
 == output.html output-ref.html
 random-if(winWidget) needs-focus == input-focus.html input-focus-ref.html # Intermittent failures, bug 660224
 needs-focus fuzzy-if(cocoaWidget,1,10) == button-focus.html button-focus-ref.html
 needs-focus == textarea-focus.html textarea-focus-ref.html
 random-if(winWidget) needs-focus == select-focus.html select-focus-ref.html # Intermittent failures, bug 660224
--- a/layout/reftests/dom/reftest.list
+++ b/layout/reftests/dom/reftest.list
@@ -46,10 +46,10 @@
 # test appending some nodes whose frame construction should be done lazily
 # followed by appending a node that might not be done lazily
 == multipleappendwithxul.xhtml multipleappendwithxul-ref.xhtml
 == multipleappendwithinput.xhtml multipleappendwithinput-ref.xhtml
 == multipleappendwitheditable.xhtml multipleappendwitheditable-ref.xhtml
 
 fails-if(styloVsGecko||stylo) == xbl-children-1.xhtml xbl-children-1-ref.xhtml # Bug 1374247
 == xbl-children-2.xhtml about:blank
-fuzzy-if(webrender,3-8,1036-1036) == xbl-children-3.xhtml xbl-children-3-ref.html
+== xbl-children-3.xhtml xbl-children-3-ref.html
 == xbl-children-4.xhtml about:blank
--- a/layout/reftests/font-face/reftest.list
+++ b/layout/reftests/font-face/reftest.list
@@ -87,17 +87,17 @@ HTTP(..) == insert-rule-1a.html insert-r
 HTTP(..) == insert-rule-1b.html insert-rule-1-ref.html
 HTTP(..) == delete-rule-1.html delete-rule-1-ref.html
 skip-if(styloVsGecko) HTTP(..) == media-query-add-1.html media-query-add-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
 skip-if(styloVsGecko) HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
 HTTP(..) != media-query-add-1-ref.html media-query-remove-1-ref.html
 
 HTTP(..) == ahem-metrics-1.html ahem-metrics-1-ref.html
 HTTP(..) == ex-unit-1.html ex-unit-1-ref.html
-HTTP(..) == ex-unit-1-dynamic.html ex-unit-1-ref.html
+skip-if(webrender&&debug) HTTP(..) == ex-unit-1-dynamic.html ex-unit-1-ref.html
 
 == local-1.html local-1-ref.html
 == local-styled-1.html local-styled-1-ref.html
 
 HTTP(..) == synthetic-weight-style.html synthetic-weight-style-ref.html
 HTTP(..) == synthetic-variations.html synthetic-variations-ref.html
 
 # Leak test
--- a/layout/reftests/font-inflation/reftest.list
+++ b/layout/reftests/font-inflation/reftest.list
@@ -31,17 +31,17 @@ test-pref(font.size.inflation.emPerLine,
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == input-text-2-height.html input-text-2-height-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == input-text-2-noheight.html input-text-2-noheight-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == input-text-3-height.html input-text-3-height-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == input-text-3-noheight.html input-text-3-noheight-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == textarea-1.html textarea-1-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == textarea-2.html textarea-2-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == textarea-3.html textarea-3-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == css-transform-1.html css-transform-1-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == css-transform-2.html css-transform-2-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fuzzy-if(webrender,0-1,0-19) == css-transform-2.html css-transform-2-ref.html
 # skipped - bug 1380830
 fuzzy-if(asyncPan&&!layersGPUAccelerated,102,1764) skip test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == container-with-clamping.html container-with-clamping-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) skip-if(styloVsGecko) load video-1.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-min-1.html intrinsic-min-1-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-max-1.html intrinsic-max-1-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1a.html intrinsic-fit-1a-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1b.html intrinsic-fit-1b-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1c.html intrinsic-fit-1c-ref.html
--- a/layout/reftests/forms/fieldset/reftest.list
+++ b/layout/reftests/forms/fieldset/reftest.list
@@ -5,17 +5,17 @@ fuzzy-if(skiaContent,2,13) == dynamic-le
 == fieldset-scroll-1.html fieldset-scroll-1-ref.html
 == fieldset-scrolled-1.html fieldset-scrolled-1-ref.html
 == fieldset-overflow-auto-1.html fieldset-overflow-auto-1-ref.html
 fuzzy-if(winWidget&&!layersGPUAccelerated,142,276) == positioned-container-1.html positioned-container-1-ref.html
 == relpos-legend-1.html relpos-legend-1-ref.html
 == relpos-legend-2.html relpos-legend-2-ref.html
 == relpos-legend-3.html relpos-legend-3-ref.html
 == relpos-legend-4.html relpos-legend-4-ref.html
-== sticky-legend-1.html sticky-legend-1-ref.html
+fails-if(webrender) == sticky-legend-1.html sticky-legend-1-ref.html
 fuzzy-if(skiaContent,1,40768) == abs-pos-child-sizing.html abs-pos-child-sizing-ref.html
 == overflow-hidden.html overflow-hidden-ref.html
 == legend-rtl.html legend-rtl-ref.html
 == fieldset-grid-001.html fieldset-grid-001-ref.html
 == fieldset-flexbox-001.html fieldset-flexbox-001-ref.html
 == fieldset-min-width-1a.html fieldset-min-width-1-ref.html
 == fieldset-min-width-1b.html fieldset-min-width-1-ref.html
 == fieldset-min-width-2a.html fieldset-min-width-2-ref.html
--- a/layout/reftests/forms/placeholder/reftest.list
+++ b/layout/reftests/forms/placeholder/reftest.list
@@ -11,17 +11,17 @@
 == placeholder-1-text.html placeholder-visible-ref.html
 == placeholder-1-password.html placeholder-visible-ref.html
 == placeholder-1-textarea.html placeholder-visible-textarea-ref.html
 == placeholder-2.html placeholder-visible-ref.html
 == placeholder-2-textarea.html placeholder-visible-textarea-ref.html
 == placeholder-3.html placeholder-overridden-ref.html
 == placeholder-4.html placeholder-overridden-ref.html
 == placeholder-5.html placeholder-visible-ref.html
-fuzzy-if(winWidget,160,10) fuzzy-if(Android,1,1) fuzzy-if(asyncPan&&!layersGPUAccelerated,146,317) fuzzy-if(OSX==1010&&browserIsRemote,1,8) == placeholder-6.html placeholder-overflow-ref.html
+fuzzy-if(winWidget,160,10) fuzzy-if(Android,1,1) fuzzy-if(asyncPan&&!layersGPUAccelerated,146,317) fuzzy-if(OSX==1010&&browserIsRemote,1,8) fails-if(webrender) == placeholder-6.html placeholder-overflow-ref.html
 skip-if(Android&&asyncPan) == placeholder-6-textarea.html placeholder-overflow-textarea-ref.html
 # needs-focus == placeholder-7.html placeholder-focus-ref.html
 # needs-focus == placeholder-8.html placeholder-focus-ref.html
 # needs-focus == placeholder-9.html placeholder-focus-ref.html
 needs-focus == placeholder-10.html placeholder-visible-ref.html
 == placeholder-11.html placeholder-visible-ref.html
 == placeholder-12.html placeholder-visible-ref.html
 == placeholder-13.html placeholder-visible-ref.html
--- a/layout/reftests/forms/textarea/reftest.list
+++ b/layout/reftests/forms/textarea/reftest.list
@@ -5,10 +5,10 @@ skip-if(Android) != ltr.html rtl.html
 skip-if(Android) != ltr-scrollbar.html rtl-scrollbar.html
 skip-if(Android) != in-ltr-doc-scrollbar.html in-rtl-doc-scrollbar.html
 skip-if(Android) != ltr.html no-resize.html
 skip-if(Android) fails-if(xulRuntime.widgetToolkit=="gtk2") != rtl.html no-resize.html # bug 834724
 fuzzy-if(skiaContent,1,1) == rtl.html rtl-dynamic-attr.html
 fuzzy-if(skiaContent,1,1) == rtl.html rtl-dynamic-style.html
 == rtl.html in-dynamic-rtl-doc.html
 fuzzy-if(skiaContent,1,3) == setvalue-framereconstruction-1.html setvalue-framereconstruction-ref.html
-fuzzy-if(asyncPan&&!layersGPUAccelerated,102,4168) == padding-scrollbar-placement.html padding-scrollbar-placement-ref.html
+fuzzy-if(asyncPan&&!layersGPUAccelerated,102,4168) fails-if(webrender) == padding-scrollbar-placement.html padding-scrollbar-placement-ref.html
 == various-cols.html various-cols-ref.html
--- a/layout/reftests/forms/textbox/reftest.list
+++ b/layout/reftests/forms/textbox/reftest.list
@@ -1,11 +1,11 @@
 # access-key tests are no use on OS X because access keys are not indicated visually
 # no real XUL theme on Android so we just skip
 skip-if(cocoaWidget||Android) != accesskey-1.xul accesskey-1-notref.xul
-skip-if(cocoaWidget||Android) == accesskey-2.xul accesskey-2-ref.xul
+skip-if(cocoaWidget||Android) fails-if(webrender) == accesskey-2.xul accesskey-2-ref.xul
 # accesskey-3 fails because of defects in XUL bidi support
 fails-if(!cocoaWidget) skip-if(cocoaWidget||Android) == accesskey-3.xul accesskey-3-ref.xul
 skip-if(cocoaWidget||Android) != accesskey-3.xul accesskey-3-notref.xul
-skip-if(cocoaWidget||Android) == accesskey-4.xul accesskey-4-ref.xul
+skip-if(cocoaWidget||Android) fails-if(webrender) == accesskey-4.xul accesskey-4-ref.xul
 skip-if(cocoaWidget||Android) != accesskey-4.xul accesskey-4-notref.xul
 skip-if(Android) == align-baseline-1.xul align-baseline-1-ref.xul # test for bug 494901
 skip-if(Android) == setsize.xul setsize-ref.xul
--- a/layout/reftests/image-element/reftest.list
+++ b/layout/reftests/image-element/reftest.list
@@ -10,24 +10,24 @@ fails-if(azureSkia) fails-if(cocoaWidget
 == element-paint-simple.html element-paint-simple-ref.html
 == element-paint-repeated.html element-paint-repeated-ref.html
 == element-paint-recursion.html element-paint-recursion-ref.html
 HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html
 fails-if(webrender) == element-paint-transform-01.html element-paint-transform-01-ref.html # bug 1363060 for webrender
 random-if(d2d) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133
 fuzzy-if(d2d&&/^Windows\x20NT\x206\.1/.test(http.oscpu),16,90) == element-paint-background-size-01.html element-paint-background-size-01-ref.html
 == element-paint-background-size-02.html element-paint-background-size-02-ref.html
-fuzzy-if(skiaContent,255,4) fails-if(webrender) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html # bug 1363060 for webrender
+fuzzy-if(skiaContent,255,4) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html # bug 1363060 for webrender
 fuzzy-if(d2d,255,24) == element-paint-transform-03.html element-paint-transform-03-ref.html
 fuzzy-if(asyncPan,2,140) fuzzy-if(skiaContent,3,106) == element-paint-native-widget.html element-paint-native-widget-ref.html   # in -ref the scrollframe is active and layerized differently with APZ
 fails-if(usesRepeatResampling) == element-paint-subimage-sampling-restriction.html about:blank
 == element-paint-clippath.html element-paint-clippath-ref.html
-== element-paint-sharpness-01a.html element-paint-sharpness-01b.html
+fails-if(webrender) == element-paint-sharpness-01a.html element-paint-sharpness-01b.html
 fuzzy-if(skiaContent,1,326) == element-paint-sharpness-01b.html element-paint-sharpness-01c.html
-== element-paint-sharpness-01c.html element-paint-sharpness-01d.html
+fails-if(webrender) == element-paint-sharpness-01c.html element-paint-sharpness-01d.html
 == element-paint-sharpness-02a.html element-paint-sharpness-02b.html
 == element-paint-sharpness-02b.html element-paint-sharpness-02c.html
 == element-paint-paintserversize-rounding-01.html element-paint-paintserversize-rounding-01-ref.html
 fuzzy-if(skiaContent,187,1191) == element-paint-paintserversize-rounding-02.html element-paint-paintserversize-rounding-02-ref.html # Linux32 from GCC update
 == element-paint-multiple-backgrounds-01a.html element-paint-multiple-backgrounds-01-ref.html
 == element-paint-multiple-backgrounds-01b.html element-paint-multiple-backgrounds-01-ref.html
 == element-paint-multiple-backgrounds-01c.html element-paint-multiple-backgrounds-01-ref.html
 == gradient-html-01.html gradient-html-01-ref.svg
@@ -38,12 +38,12 @@ random-if(!cocoaWidget) == gradient-html
 fuzzy(1,9674) random-if(!cocoaWidget) == gradient-html-06a.html gradient-html-06b.html
 fuzzy(1,9674) random-if(!cocoaWidget) == gradient-html-06b.html gradient-html-06c.html
 == gradient-html-06c.html gradient-html-06d.html
 == gradient-html-06d.html gradient-html-06e.html
 random-if(!cocoaWidget) fuzzy-if(cocoaWidget,2,42305) == gradient-html-07a.html gradient-html-07b.html
 fuzzy(1,16900) == gradient-html-07c.html gradient-html-07d.html
 HTTP == invalidate-1.html invalidate-1-ref.html
 == pattern-html-01.html pattern-html-01-ref.svg
-== pattern-html-02.html pattern-html-02-ref.svg
+fails-if(webrender) == pattern-html-02.html pattern-html-02-ref.svg
 == referenced-from-binding-01.html referenced-from-binding-01-ref.html
 
 fuzzy-if(skiaContent,1,30000) == mask-image-element.html mask-image-element-ref.html
--- a/layout/reftests/image/reftest.list
+++ b/layout/reftests/image/reftest.list
@@ -1,14 +1,14 @@
 fuzzy-if(Android,8,30) == background-image-zoom-1.html background-image-zoom-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == background-image-zoom-1.html background-image-zoom-1-ref.html
 fails-if(usesRepeatResampling) == background-image-zoom-2.html about:blank
-fails-if(webrender) == image-seam-1a.html image-seam-1-ref.html
-fails-if(webrender) == image-seam-1b.html image-seam-1-ref.html
-fuzzy-if(Android,255,154) fails-if(webrender) == image-seam-2.html  image-seam-2-ref.html  # Bug 1128229
+== image-seam-1a.html image-seam-1-ref.html
+== image-seam-1b.html image-seam-1-ref.html
+fuzzy-if(Android,255,154) == image-seam-2.html  image-seam-2-ref.html  # Bug 1128229
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == image-seam-1a.html image-seam-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == image-seam-1b.html image-seam-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == image-seam-2.html  image-seam-2-ref.html
 == image-zoom-1.html image-zoom-1-ref.html
 == image-zoom-2.html image-zoom-1-ref.html
 == invalid-url-image-1.html invalid-url-image-1-ref.html
 == sync-image-switch-1a.html sync-image-switch-1-ref.html
 == sync-image-switch-1b.html sync-image-switch-1-ref.html
--- a/layout/reftests/invalidation/reftest.list
+++ b/layout/reftests/invalidation/reftest.list
@@ -84,17 +84,17 @@ pref(layers.single-tile.enabled,false) !
 == zero-opacity-animation.html about:blank
 == zero-opacity-text.html about:blank
 == negative-w-component.html negative-w-component-ref.html
 
 == mask-invalidation-1a.html mask-invalidation-1-ref.html
 pref(gfx.webrender.layers-free,true) skip-if(!webrender) == mask-invalidation-1a.html mask-invalidation-1-ref.html
 == mask-invalidation-1b.html mask-invalidation-1-ref.html
 
-== mask-invalidation-2a.html mask-invalidation-2-ref.html
-== mask-invalidation-2b.html mask-invalidation-2-ref.html
+fails-if(webrender) == mask-invalidation-2a.html mask-invalidation-2-ref.html
+fails-if(webrender) == mask-invalidation-2b.html mask-invalidation-2-ref.html
 == mask-invalidation-2c.html mask-invalidation-2-ref.html
 == mask-invalidation-2d.html mask-invalidation-2-ref.html
 
-== clip-path-invalidation-1a.html mask-invalidation-2-ref.html
-== clip-path-invalidation-1b.html mask-invalidation-2-ref.html
+fails-if(webrender) == clip-path-invalidation-1a.html mask-invalidation-2-ref.html
+fails-if(webrender) == clip-path-invalidation-1b.html mask-invalidation-2-ref.html
 == clip-path-invalidation-1c.html mask-invalidation-2-ref.html
 == clip-path-invalidation-1d.html mask-invalidation-2-ref.html
--- a/layout/reftests/layers/reftest.list
+++ b/layout/reftests/layers/reftest.list
@@ -22,17 +22,17 @@ skip != pull-background-animated-positio
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-1.html about:blank
 random-if(webrender) skip-if(!asyncPan) skip-if(styloVsGecko) != pull-background-displayport-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-3.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-4.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 random-if(webrender) skip-if(!asyncPan) fuzzy-if(styloVsGecko,1,1) != pull-background-displayport-5.html about:blank
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-6.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 
 fuzzy(2,30150) == opacity-blending.html opacity-blending-ref.html
-fuzzy(16,5) fails-if(webrender) == mask-layer-transform.html mask-layer-transform-ref.html
+fuzzy(16,5) == mask-layer-transform.html mask-layer-transform-ref.html
 fuzzy-if(gtkWidget,1,17) fuzzy-if(Android,3,4) == forced-bg-color-outside-visible-region.html forced-bg-color-outside-visible-region-ref.html
 # The following tests are random-if(webrender) because they are specific to
 # "layers" and are not valid with webrender
 random-if(webrender) != layerize-over-fixed-bg-1.html about:blank
 skip-if(!asyncPan) random-if(webrender) != fixed-pos-scrolled-clip-layerize.html about:blank
 skip-if(!asyncPan) random-if(webrender) == fixed-pos-scrolled-clip-opacity-layerize.html fixed-pos-scrolled-clip-opacity-inside-layerize.html
 
 # These tests check whether the GPU process is working. We expect it to work if:
--- a/layout/reftests/mathml/reftest.list
+++ b/layout/reftests/mathml/reftest.list
@@ -369,17 +369,17 @@ fuzzy-if(OSX,1,100) fuzzy-if(skiaContent
 == mfrac-E-1.html mfrac-E-1-ref.html
 test-pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == shadow-dom-1.html shadow-dom-1-ref.html
 pref(dom.meta-viewport.enabled,true) pref(font.size.inflation.emPerLine,25) == font-inflation-1.html font-inflation-1-ref.html
 test-pref(font.minimum-size.x-math,40) == default-font.html default-font-ref.html
 != radicalbar-1.html about:blank
 != radicalbar-1a.html about:blank
 != radicalbar-1b.html about:blank
 != radicalbar-1c.html about:blank
-!= radicalbar-1d.html about:blank
+fails-if(webrender) != radicalbar-1d.html about:blank
 != radicalbar-2.html about:blank
 != radicalbar-2a.html about:blank
 != radicalbar-2b.html about:blank
 != radicalbar-2c.html about:blank
 != radicalbar-2d.html about:blank
 != radicalbar-3.html about:blank
 != radicalbar-3a.html about:blank
 != radicalbar-3b.html about:blank
--- a/layout/reftests/outline/reftest.list
+++ b/layout/reftests/outline/reftest.list
@@ -1,10 +1,10 @@
 fuzzy(2,18) fuzzy-if(webrender,52,1452) == outline-and-box-shadow.html outline-and-box-shadow-ref.html
-fails-if(webrender) == outline-and-3d-transform-1a.html outline-and-3d-transform-1-ref.html
+== outline-and-3d-transform-1a.html outline-and-3d-transform-1-ref.html
 fails-if(webrender) == outline-and-3d-transform-1b.html outline-and-3d-transform-1-ref.html
 fuzzy-if(gtkWidget,136,120) fuzzy-if(Android,255,356) fuzzy-if(d2d,16,96) fuzzy-if(cocoaWidget,255,120) fuzzy-if(winWidget,255,216) fails-if(webrender) == outline-and-3d-transform-2.html outline-and-3d-transform-2-ref.html
 == outline-dynamic-change-1a.html outline-dynamic-change-1-ref.html
 == outline-dynamic-change-1b.html outline-dynamic-change-1-ref.html
 == outline-overflow-block-abspos.html outline-overflow-block-ref.html
 == outline-overflow-block-float.html outline-overflow-block-ref.html
 == outline-overflow-inlineblock-abspos.html outline-overflow-inlineblock-ref.html
 == outline-overflow-inlineblock-float.html outline-overflow-inlineblock-ref.html
--- a/layout/reftests/pagination/reftest.list
+++ b/layout/reftests/pagination/reftest.list
@@ -11,34 +11,34 @@
 pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-007.html abspos-breaking-007-ref.html
 pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-008.html abspos-breaking-008-ref.html
 pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-009.html abspos-breaking-009-ref.html
 pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-010.html abspos-breaking-010-ref.html
 == abspos-breaking-011.html abspos-breaking-011-ref.html
 == abspos-breaking-dynamic-001.html abspos-breaking-dynamic-001-ref.html
 == abspos-breaking-dynamic-002.html abspos-breaking-dynamic-002-ref.html
 == abspos-breaking-dynamic-003.html abspos-breaking-dynamic-003-ref.html
-== abspos-overflow-01.xhtml abspos-overflow-01.ref.xhtml
-== abspos-overflow-01-cols.xhtml abspos-overflow-01-cols.ref.xhtml
+fails-if(webrender) == abspos-overflow-01.xhtml abspos-overflow-01.ref.xhtml
+fails-if(webrender) == abspos-overflow-01-cols.xhtml abspos-overflow-01-cols.ref.xhtml
 == border-breaking-000-cols.xhtml border-breaking-000-cols.ref.xhtml
 == border-breaking-001-cols.xhtml border-breaking-001-cols.ref.xhtml
 == border-breaking-002-cols.xhtml border-breaking-002-cols.ref.xhtml
 == border-breaking-003-cols.xhtml border-breaking-003-cols.ref.xhtml
 fails == border-breaking-004-cols.xhtml border-breaking-002-cols.ref.xhtml
 == content-inserted-000.xhtml content-inserted-000.ref.xhtml
 == content-inserted-001.xhtml content-inserted-001.ref.xhtml
 == content-inserted-002.xhtml content-inserted-002.ref.xhtml
 == content-inserted-003.xhtml content-inserted-002.ref.xhtml
 == content-inserted-004.xhtml content-inserted-002.ref.xhtml
 == content-inserted-005.xhtml content-inserted-002.ref.xhtml
 == content-inserted-006.xhtml content-inserted-002.ref.xhtml
 == content-inserted-007.xhtml content-inserted-002.ref.xhtml
 == content-inserted-008.xhtml content-inserted-001.ref.xhtml
 == content-inserted-009.xhtml content-inserted-002.ref.xhtml
-== dynamic-abspos-overflow-01-cols.xhtml dynamic-abspos-overflow-01-cols.ref.xhtml
+fails-if(webrender) == dynamic-abspos-overflow-01-cols.xhtml dynamic-abspos-overflow-01-cols.ref.xhtml
 test-pref(layout.float-fragments-inside-column.enabled,false) fails == float-clear-000.html float-clear-000.ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == float-clear-000.html float-clear-000.ref.html
 fails == float-clear-001.html float-clear-000.ref.html
 test-pref(layout.float-fragments-inside-column.enabled,false) fails == float-clear-002.html float-clear-000.ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == float-clear-002.html float-clear-000.ref.html
 fails == float-clear-003.html float-clear-000.ref.html
 == float-clear-000-print.html float-clear-000-print.ref.html
 == float-clear-001-print.html float-clear-000-print.ref.html
@@ -98,17 +98,17 @@ fuzzy-if(skiaContent,1,23) == resize-ref
 == 626395-2b.html 626395-2-ref.html
 == 626395-2c.html 626395-2-ref.html
 == 626395-2d.html 626395-2-ref.html
 == 652178-1.html 652178-1-ref.html
 == 115199-1.html 115199-1-ref.html
 == 115199-2a.html 115199-2-ref.html
 == 115199-2b.html 115199-2-ref.html
 == 652178-1.html 652178-1-ref2.html
-fuzzy-if(cocoaWidget,1,5000) == 745025-1.html 745025-1-ref.html
+fuzzy-if(cocoaWidget,1,5000) skip-if(webrender) == 745025-1.html 745025-1-ref.html
 == 820496-1.html 820496-1-ref.html
 
 # NOTE: These tests don't yet rigorously test what they're
 # trying to test (shrink-to-fit behavior), due to bug 967311.
 == 960822.html 960822-ref.html
 == 966419-1.html 966419-1-ref.html
 == 966419-2.html 966419-2-ref.html
 # asserts(3) HTTP(..) fails 1108104.html 1108104-ref.html # bug 1067755, 1135556
--- a/layout/reftests/position-sticky/reftest.list
+++ b/layout/reftests/position-sticky/reftest.list
@@ -1,44 +1,44 @@
 == top-1.html top-1-ref.html
 fuzzy-if(Android,6,1568) == top-2.html top-2-ref.html
-fuzzy-if(Android,6,2729) == top-3.html top-3-ref.html
-== top-4.html top-4-ref.html
-== top-5.html top-5-ref.html
-fuzzy-if(Android,2,1568) == top-6.html top-6-ref.html
+fuzzy-if(Android,6,2729) fails-if(webrender) == top-3.html top-3-ref.html
+fails-if(webrender) == top-4.html top-4-ref.html
+fails-if(webrender) == top-5.html top-5-ref.html
+fuzzy-if(Android,2,1568) fails-if(webrender) == top-6.html top-6-ref.html
 == bottom-1.html bottom-1-ref.html
 == bottom-2a.html bottom-2-ref.html
 == bottom-2b.html bottom-2-ref.html
 == bottom-2c.html bottom-2-ref.html
 == bottom-3.html bottom-3-ref.html
 == bottom-4.html bottom-4-ref.html
 fuzzy-if(Android,2,4) == left-1.html left-1-ref.html
-fuzzy-if(Android,2,4) == left-2.html left-2-ref.html
-== left-3.html left-3-ref.html
-== right-1.html right-1-ref.html
-fuzzy-if(Android,2,4) == right-2.html right-2-ref.html
+fuzzy-if(Android,2,4) fails-if(webrender) == left-2.html left-2-ref.html
+fails-if(webrender) == left-3.html left-3-ref.html
+fails-if(webrender) == right-1.html right-1-ref.html
+fuzzy-if(Android,2,4) fails-if(webrender) == right-2.html right-2-ref.html
 fuzzy-if(Android,2,4) == right-3.html right-3-ref.html
-== margin-1.html margin-1-ref.html
+fails-if(webrender) == margin-1.html margin-1-ref.html
 == padding-1.html padding-1-ref.html
-== padding-2.html padding-2-ref.html
-== padding-3.html padding-3-ref.html
+fails-if(webrender) == padding-2.html padding-2-ref.html
+fails-if(webrender) == padding-3.html padding-3-ref.html
 == overcontain-1.html overcontain-1-ref.html
-== initial-1.html initial-1-ref.html
+fails-if(webrender) == initial-1.html initial-1-ref.html
 == initial-scroll-1.html initial-scroll-1-ref.html
 == scrollframe-reflow-1.html scrollframe-reflow-1-ref.html
 == scrollframe-reflow-2.html scrollframe-reflow-2-ref.html
 == scrollframe-auto-1.html scrollframe-auto-1-ref.html
 fuzzy-if(Android,2,3) == stacking-context-1.html stacking-context-1-ref.html
 == top-bottom-1.html top-bottom-1-ref.html
 == top-bottom-2.html top-bottom-2-ref.html
-== top-bottom-3.html top-bottom-3-ref.html
+fails-if(webrender) == top-bottom-3.html top-bottom-3-ref.html
 == left-right-1.html left-right-1-ref.html
 == left-right-2.html left-right-2-ref.html
-== left-right-3.html left-right-3-ref.html
-fuzzy-if(Android,4,810) == containing-block-1.html containing-block-1-ref.html
+fails-if(webrender) == left-right-3.html left-right-3-ref.html
+fuzzy-if(Android,4,810) fails-if(webrender) == containing-block-1.html containing-block-1-ref.html
 == overconstrained-1.html overconstrained-1-ref.html
 == overconstrained-2.html overconstrained-2-ref.html
 == overconstrained-3.html overconstrained-3-ref.html
 == inline-1.html inline-1-ref.html
 == inline-2.html inline-2-ref.html
 fuzzy-if(OSX,99,210) == inline-3.html inline-3-ref.html
 fails-if(webrender) skip-if(!asyncPan) == inline-4.html inline-4-ref.html   # bug 1366295 for webrender
 fails == column-contain-1a.html column-contain-1-ref.html
--- a/layout/reftests/scrolling/reftest.list
+++ b/layout/reftests/scrolling/reftest.list
@@ -20,18 +20,18 @@ pref(layout.css.scroll-behavior.enabled,
 pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-8.html scroll-behavior-8.html?ref
 pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-9.html scroll-behavior-9.html?ref
 pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-10.html scroll-behavior-10.html?ref
 pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-textarea.html scroll-behavior-textarea.html?ref
 HTTP == simple-1.html simple-1.html?ref
 skip-if(styloVsGecko) HTTP == subpixel-1.html#d subpixel-1-ref.html#d # bug 1354406
 fuzzy-if(Android,4,120) HTTP == text-1.html text-1.html?ref
 fuzzy-if(Android,4,120) HTTP == text-2.html?up text-2.html?ref
-fuzzy-if(d2d,1,4) HTTP == transformed-1.html transformed-1.html?ref
-HTTP == transformed-1.html?up transformed-1.html?ref
+fuzzy-if(d2d,1,4) fuzzy-if(webrender,0-1,0-42) HTTP == transformed-1.html transformed-1.html?ref
+fuzzy-if(webrender,0-1,0-43) HTTP == transformed-1.html?up transformed-1.html?ref
 fuzzy-if(Android,5,20000) == uncovering-1.html uncovering-1-ref.html
 fuzzy-if(Android,5,20000) == uncovering-2.html uncovering-2-ref.html
 fuzzy-if(asyncPan&&!layersGPUAccelerated,149,4520) == 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
 fuzzy-if(asyncPan&&!layersGPUAccelerated,102,6818) == iframe-scrolling-attr-1.html iframe-scrolling-attr-ref.html
 fuzzy-if(asyncPan&&!layersGPUAccelerated,140,6818) == iframe-scrolling-attr-2.html iframe-scrolling-attr-ref.html
 == frame-scrolling-attr-1.html frame-scrolling-attr-ref.html
--- a/layout/reftests/svg/as-image/reftest.list
+++ b/layout/reftests/svg/as-image/reftest.list
@@ -36,22 +36,22 @@ include zoom/reftest.list
 # Test for canvas "drawImage" method
 == canvas-drawImage-simple-1a.html lime100x100-ref.html
 == canvas-drawImage-simple-1b.html lime100x100-ref.html
 
 == canvas-drawImage-scale-1a.html lime100x100-ref.html
 == canvas-drawImage-scale-1b.html lime100x100-ref.html
 == canvas-drawImage-scale-1c.html lime100x100-ref.html
 
-fuzzy(1,2) fuzzy-if(skiaContent,1,529) == canvas-drawImage-scale-2a.html canvas-drawImage-scale-2-ref.html
-fuzzy(1,2) fuzzy-if(skiaContent,1,529) == canvas-drawImage-scale-2b.html canvas-drawImage-scale-2-ref.html
+fuzzy(1,2) fuzzy-if(skiaContent,1,529) fails-if(webrender) == canvas-drawImage-scale-2a.html canvas-drawImage-scale-2-ref.html
+fuzzy(1,2) fuzzy-if(skiaContent,1,529) fails-if(webrender) == canvas-drawImage-scale-2b.html canvas-drawImage-scale-2-ref.html
 
 fuzzy-if(winWidget&&!d2d,1,10000) fuzzy-if(azureSkia,1,10000) fuzzy-if(Android,1,10000) == canvas-drawImage-alpha-1.html canvas-drawImage-alpha-1-ref.html
 #Same as scale-2a but with globalAlpha:
-fuzzy(1,2) fuzzy-if(azureSkia,1,40000) == canvas-drawImage-alpha-2.html canvas-drawImage-alpha-2-ref.html
+fuzzy(1,2) fuzzy-if(azureSkia,1,40000) fails-if(webrender) == canvas-drawImage-alpha-2.html canvas-drawImage-alpha-2-ref.html
 
 == canvas-drawImage-slice-1a.html lime100x100-ref.html
 == canvas-drawImage-slice-1b.html lime100x100-ref.html
 
 == canvas-drawImage-origin-clean-1.html lime100x100-ref.html
 == canvas-drawImage-transform-restored.html canvas-drawImage-transform-restored-ref.html
 
 # Context paint tests (this feature is currently not part of any spec.)
@@ -94,21 +94,21 @@ fuzzy-if(winWidget,1,10000) test-pref(sv
 fuzzy-if(winWidget,1,20000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-02.html context-fill-or-stroke-opacity-02-ref.html # Bug 1377327
 fuzzy-if(winWidget,1,10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-03.html context-fill-or-stroke-opacity-03-ref.html # Bug 1377327
 fuzzy-if(winWidget,1,10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-04.html blue100x100-ref.html # Bug 1377327
 fuzzy-if(winWidget,1,10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-05.html blue100x100-ref.html # Bug 1377327
 
 # Simple <img> tests
 == img-simple-1.html  lime100x100-ref.html
 == img-simple-2.html  lime100x100-ref.html
-fuzzy-if(skiaContent,255,350) == img-simple-3.html  img-simple-3-ref.html
+fuzzy-if(skiaContent,255,350) fails-if(webrender) == img-simple-3.html  img-simple-3-ref.html
 == img-simple-4.html  lime100x100-ref.html
-fuzzy-if(skiaContent,255,90) == img-simple-5.html  img-simple-5-ref.html
+fuzzy-if(skiaContent,255,90) fails-if(webrender) == img-simple-5.html  img-simple-5-ref.html
 == img-simple-6.html  lime100x100-ref.html
-fuzzy-if(skiaContent,255,27) == img-simple-7.html  img-simple-7-ref.html
+fuzzy-if(skiaContent,255,27) fails-if(webrender) == img-simple-7.html  img-simple-7-ref.html
 
 # Test with mix of <html:img> and <svg:image> referring to the same images,
 # with a variety of preserveAspectRatio values in play.
 random == img-and-image-1.html img-and-image-1-ref.svg # bug 645267
 
 # More complex <img> tests
 == img-blobURI-1.html lime100x100-ref.html
 == img-blobURI-2.html lime100x100-ref.html
@@ -125,62 +125,62 @@ fuzzy-if(d2d,16,10) == img-content-outsi
 # img-foreignObject-iframe-1a.html, though, because its SVG image tries to
 # alert(), and that'd trigger a reftest timeout if we loaded that file directly.
 == img-foreignObject-embed-1.html         lime100x100-ref.html
 != img-foreignObject-embed-1-helper.svg   lime100x100-ref.html
 == img-foreignObject-iframe-1a.html       lime100x100-ref.html
 == img-foreignObject-iframe-1b.html       lime100x100-ref.html
 != img-foreignObject-iframe-1b-helper.svg lime100x100-ref.html
 
-== img-widthAndHeight-meet-1.html  img-widthAndHeight-meet-1-ref.html
-== img-widthAndHeight-meet-2.html  img-widthAndHeight-meet-2-ref.html
-== img-widthAndHeight-slice-1.html img-widthAndHeight-slice-1-ref.html
-== img-widthAndHeight-slice-2.html img-widthAndHeight-slice-2-ref.html
+fails-if(webrender) == img-widthAndHeight-meet-1.html  img-widthAndHeight-meet-1-ref.html
+fails-if(webrender) == img-widthAndHeight-meet-2.html  img-widthAndHeight-meet-2-ref.html
+fails-if(webrender) == img-widthAndHeight-slice-1.html img-widthAndHeight-slice-1-ref.html
+fails-if(webrender) == img-widthAndHeight-slice-2.html img-widthAndHeight-slice-2-ref.html
 
-== img-height-meet-1.html   img-height-meet-1-ref.html
-== img-height-meet-2.html   img-height-meet-2-ref.html
-== img-height-slice-1.html  img-height-slice-1-ref.html
-== img-height-slice-2.html  img-height-slice-2-ref.html
+fails-if(webrender) == img-height-meet-1.html   img-height-meet-1-ref.html
+fails-if(webrender) == img-height-meet-2.html   img-height-meet-2-ref.html
+fails-if(webrender) == img-height-slice-1.html  img-height-slice-1-ref.html
+fails-if(webrender) == img-height-slice-2.html  img-height-slice-2-ref.html
 
-== img-width-meet-1.html   img-width-meet-1-ref.html
-== img-width-meet-2.html   img-width-meet-2-ref.html
-== img-width-slice-1.html  img-width-slice-1-ref.html
-== img-width-slice-2.html  img-width-slice-2-ref.html
+fails-if(webrender) == img-width-meet-1.html   img-width-meet-1-ref.html
+fails-if(webrender) == img-width-meet-2.html   img-width-meet-2-ref.html
+fails-if(webrender) == img-width-slice-1.html  img-width-slice-1-ref.html
+fails-if(webrender) == img-width-slice-2.html  img-width-slice-2-ref.html
 
 # Alternate version of "width & height both non-%-valued" tests, but now
 # with no explicit viewBox, to trigger "synthesize-viewBox" behavior
-== img-novb-widthAndHeight-meet-1-em.html  img-novb-widthAndHeight-all-1-ref.html
-== img-novb-widthAndHeight-meet-1-px.html  img-novb-widthAndHeight-all-1-ref.html
-== img-novb-widthAndHeight-slice-1-em.html img-novb-widthAndHeight-all-1-ref.html
-== img-novb-widthAndHeight-slice-1-px.html img-novb-widthAndHeight-all-1-ref.html
+fails-if(webrender) == img-novb-widthAndHeight-meet-1-em.html  img-novb-widthAndHeight-all-1-ref.html
+fails-if(webrender) == img-novb-widthAndHeight-meet-1-px.html  img-novb-widthAndHeight-all-1-ref.html
+fails-if(webrender) == img-novb-widthAndHeight-slice-1-em.html img-novb-widthAndHeight-all-1-ref.html
+fails-if(webrender) == img-novb-widthAndHeight-slice-1-px.html img-novb-widthAndHeight-all-1-ref.html
 
 # Alternate versions of "only one dimension is non-%-valued" tests, but now
 # with no explicit viewBox, to trigger "synthesize-viewBox" behavior
-== img-novb-height-meet-1.html    img-novb-height-all-1-ref.html
-== img-novb-height-slice-1.html   img-novb-height-all-1-ref.html
-fuzzy-if(skiaContent,255,10) == img-novb-width-meet-1.html     img-novb-width-all-1-ref.html
-fuzzy-if(skiaContent,255,10) == img-novb-width-slice-1.html    img-novb-width-all-1-ref.html
+fails-if(webrender) == img-novb-height-meet-1.html    img-novb-height-all-1-ref.html
+fails-if(webrender) == img-novb-height-slice-1.html   img-novb-height-all-1-ref.html
+fuzzy-if(skiaContent,255,10) fails-if(webrender) == img-novb-width-meet-1.html     img-novb-width-all-1-ref.html
+fuzzy-if(skiaContent,255,10) fails-if(webrender) == img-novb-width-slice-1.html    img-novb-width-all-1-ref.html
 
 # with with a fragmentIdentifier viewBox
 == img-fragment-1a.html  img-fragment-1-ref.html
 == img-fragment-1b.html  img-fragment-1-ref.html
 == img-fragment-1c.html  img-fragment-1-ref.html
 == img-fragment-2a.html  img-fragment-2-ref.html
 == img-fragment-2b.html  img-fragment-2-ref.html
 == img-fragment-2c.html  img-fragment-2-ref.html
 
 == list-simple-1.html list-simple-1-ref.html
 
 == svg-image-simple-1.svg lime100x100.svg
 == svg-image-simple-2.svg lime100x100.svg
 == svg-image-simple-3.svg lime100x100.svg
 
 # tests for <svg> files that include themselves as an <image>
-fuzzy-if(webrender,1-1,4-4) == svg-image-recursive-1a.svg  svg-image-recursive-1-ref.svg
-fuzzy-if(webrender,1-1,4-4) == svg-image-recursive-1b.svg  svg-image-recursive-1-ref.svg
+== svg-image-recursive-1a.svg  svg-image-recursive-1-ref.svg
+== svg-image-recursive-1b.svg  svg-image-recursive-1-ref.svg
 == svg-image-recursive-2a.svg  svg-image-recursive-2-ref.svg
 == svg-image-recursive-2b.html svg-image-recursive-2-ref.svg
 
 # tests for external resources vs. data URIs in SVG as an image
 == svg-image-datauri-1.html            lime100x100.svg
 HTTP == svg-image-datauri-1.html       lime100x100.svg
 == svg-image-external-1.html           blue100x100.svg
 HTTP == svg-image-external-1.html      blue100x100.svg
--- a/layout/reftests/svg/as-image/zoom/reftest.list
+++ b/layout/reftests/svg/as-image/zoom/reftest.list
@@ -2,10 +2,10 @@
 
 # Simple <img> tests
 fuzzy-if(skiaContent,1,408) == img-zoomIn-1.html   squaredCircle-150x150-ref.html
 fuzzy-if(skiaContent,1,74) == img-zoomOut-1.html  squaredCircle-50x50-ref.html
 
 # Ensure that scaled SVG images aren't fuzzy when tiled.
 == img-fuzzy-zoomOut-1.html           img-fuzzy-zoomOut-1-ref.html
 == img-fuzzy-zoomIn-1.html            img-fuzzy-zoomIn-1-ref.html
-== img-fuzzy-transform-zoomOut-1.html img-fuzzy-zoomOut-1-ref.html
-== img-fuzzy-transform-zoomIn-1.html  img-fuzzy-zoomIn-1-ref.html
+fails-if(webrender) == img-fuzzy-transform-zoomOut-1.html img-fuzzy-zoomOut-1-ref.html
+fails-if(webrender) == img-fuzzy-transform-zoomIn-1.html  img-fuzzy-zoomIn-1-ref.html
--- a/layout/reftests/svg/filters/css-filters/reftest.list
+++ b/layout/reftests/svg/filters/css-filters/reftest.list
@@ -64,9 +64,9 @@ fuzzy-if(d2d,1,10000) == saturate-desatu
 == saturate-percent.html saturate-percent-ref.html
 fuzzy-if(d2d,1,10000) == saturate-zero.html saturate-zero-ref.html
 fuzzy-if(webrender,1,10000) fuzzy-if(d2d,1,10000) == sepia.html sepia-ref.html
 fuzzy-if(webrender,1,10000) fuzzy-if(d2d,1,10000) == sepia-one.html sepia-one-ref.html
 fuzzy-if(webrender,1,10000) fuzzy-if(d2d,1,10000) fails-if(stylo&&webrender) == sepia-over-one.html sepia-over-one-ref.html
 fuzzy-if(webrender,1,10000) fuzzy-if(d2d,1,10000) == sepia-percent.html sepia-percent-ref.html
 == sepia-zero.html sepia-zero-ref.html
 
-fuzzy(2,125000) == scale-filtered-content-01.html scale-filtered-content-01-ref.html
+fuzzy(2,125000) fails-if(webrender) == scale-filtered-content-01.html scale-filtered-content-01-ref.html
--- a/layout/reftests/svg/filters/reftest.list
+++ b/layout/reftests/svg/filters/reftest.list
@@ -79,29 +79,29 @@ fails == filter-marked-line-01.svg pass.
 == filter-marked-line-03.svg pass.svg
 == filter-marked-line-04.svg pass.svg
 == filter-marked-line-05.svg pass.svg
 == filter-marked-line-06.svg pass.svg
 == filter-marked-line-07.svg pass.svg
 == filter-marked-line-08.svg pass.svg
 == filter-marked-line-09.svg pass.svg
 == filter-nested-filtering-01.svg pass.svg
-== filter-nested-filtering-02.svg pass.svg
+fails-if(webrender) == filter-nested-filtering-02.svg pass.svg
 == filter-patterned-rect-01.svg pass.svg
 == filter-patterned-rect-02.svg pass.svg
 == filter-region-01a.html pass.svg
 == filter-region-01b.html pass.svg
-== filter-transform-01.svg pass.svg
+fails-if(webrender) == filter-transform-01.svg pass.svg
 
 == feColorMatrix-saturate-01.svg pass.svg
 
 == feComponentTransfer-03.svg pass.svg
 == feComponentTransfer-04.svg pass.svg
 == feComposite-arguments-01.svg pass.svg
-fuzzy(1,26732) == feComposite-paint-01.svg feComposite-paint-01-ref.svg
+fuzzy(1,26732) fails-if(webrender) == feComposite-paint-01.svg feComposite-paint-01-ref.svg
 fuzzy(1,10000) == feConvolveMatrix-bias-01.svg feConvolveMatrix-bias-01-ref.svg
 == feConvolveMatrix-order-01.svg feConvolveMatrix-order-01-ref.svg
 
 fuzzy-if(skiaContent,1,400) == feDisplacementMap-alpha-01.svg pass.svg
 fuzzy(2,500) == feDisplacementMap-colour-01.svg feDisplacementMap-colour-01-ref.svg
 == feDisplacementMap-scale-01.svg pass.svg
 
 == feDropShadow-01.svg feDropShadow-01-ref.svg
--- a/layout/reftests/svg/image/reftest.list
+++ b/layout/reftests/svg/image/reftest.list
@@ -1,14 +1,14 @@
 # Tests of the SVG <image> element
 
 == image-fill-01.svg          ../pass.svg
 == image-filter-01.svg        image-filter-01-ref.svg
 == image-load-01.svg          ../pass.svg
-fuzzy-if(Android&&!browserIsRemote,4,32) == image-opacity-01.svg image-opacity-01-ref.svg # Bug 779514 for Android
+fuzzy-if(Android&&!browserIsRemote,4,32) fails-if(webrender) == image-opacity-01.svg image-opacity-01-ref.svg # Bug 779514 for Android
 fuzzy-if(Android,4,34) == image-opacity-02.svg image-opacity-02-ref.svg # Bug 776039 for Android
 == image-rotate-01.svg                        image-rotate-01-ref.svg
 == image-rotate-02a.svg                       image-rotate-02-ref.svg
 == image-rotate-02b.svg                       image-rotate-02-ref.svg
 == image-scaling-01.svg                       ../pass.svg
 == image-scaling-02.svg                       ../pass.svg
 == image-svg-inline-01.html                   ../pass.svg
 == image-svg-inline-zoom-in-01a.html          ../pass.svg
--- a/layout/reftests/svg/moz-only/reftest.list
+++ b/layout/reftests/svg/moz-only/reftest.list
@@ -14,9 +14,9 @@ fails == xbl-grad-ref--grad-in-resources
 == xbl-grad-ref--grad-in-bound-04.svg           pass.svg
 
 # Tests for zooming with the full page zoom UI
 random-if(d2d) == feImage-zoom-01a.svg          feImage-zoom-01-ref.svg
 random-if(d2d) == feImage-zoom-01b.svg          feImage-zoom-01-ref.svg
 == foreignObject-zoom-01.svg                    pass.svg
 == zoom-invalidation-01.svg                     pass.svg
 == replaced-element-zoom-01.html                pass.svg
-fuzzy-if(winWidget,12,7) == zoomed-svg-with-viewBox-01.svg   zoomed-svg-with-viewBox-01-ref.svg
+fuzzy-if(winWidget,12,7) fails-if(webrender) == zoomed-svg-with-viewBox-01.svg   zoomed-svg-with-viewBox-01-ref.svg
--- a/layout/reftests/svg/reftest.list
+++ b/layout/reftests/svg/reftest.list
@@ -24,17 +24,17 @@ include moz-only/reftest.list
 
 # svg-integration tests (using svg effects in e.g. HTML)
 include svg-integration/reftest.list
 
 == background-svg-without-height.html background-ref.html
 == background-svg-without-height-width.html background-ref.html
 == background-svg-without-width.html background-ref.html
 
-== baseline-middle-01.svg pass.svg
+fails-if(webrender) == baseline-middle-01.svg pass.svg
 
 skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-color-burn.svg blend-color-burn-ref.svg
 skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-color-dodge.svg blend-color-dodge-ref.svg
 # pref(layout.css.mix-blend-mode.enabled,true) == blend-color.svg blend-color-ref.svg
 skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-darken.svg blend-darken-ref.svg
 skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-difference.svg blend-difference-ref.svg
 skip-if(Android) fuzzy-if(skiaContent,1,1600) pref(layout.css.mix-blend-mode.enabled,true) == blend-exclusion.svg blend-exclusion-ref.svg
 # pref(layout.css.mix-blend-mode.enabled,true) == blend-hard-light.svg blend-hard-light-ref.svg
@@ -64,29 +64,29 @@ skip-if(Android) pref(layout.css.mix-ble
 == clip-use-element-02.svg pass.svg
 
 == clipPath-advanced-01.svg pass.svg
 == clipPath-and-mask-on-outflowElement-01a.html clipPath-on-outflowElement-01-ref.html
 == clipPath-and-mask-on-outflowElement-01b.html clipPath-on-outflowElement-01-ref.html
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.[12]/.test(http.oscpu),1,5) fuzzy-if(OSX,1,6) fuzzy-if(skiaContent,1,630) == clipPath-and-shape-rendering-01.svg clipPath-and-shape-rendering-01-ref.svg # bug 614840
 == clipPath-and-transform-01.svg pass.svg
 == clipPath-basic-01.svg pass.svg
-== clipPath-basic-02.svg pass.svg
-== clipPath-basic-03.svg pass.svg
+fails-if(webrender) == clipPath-basic-02.svg pass.svg
+fails-if(webrender) == clipPath-basic-03.svg pass.svg
 == clipPath-basic-04.svg pass.svg
 == clipPath-basic-05.svg pass.svg
 == clipPath-basic-06.svg pass.svg
 == clipPath-basic-07.svg pass.svg
 == clipPath-on-outflowElement-01a.html clipPath-on-outflowElement-01-ref.html
 == clipPath-on-outflowElement-01b.html clipPath-on-outflowElement-01-ref.html
 fuzzy(1,32400) == clipPath-on-outflowElement-02a.html clipPath-on-outflowElement-02-ref.html
 fuzzy(1,32400) == clipPath-on-outflowElement-02b.html clipPath-on-outflowElement-02-ref.html
 == clipPath-polygon-01.svg pass.svg
 == clipPath-polygon-elementFromPoint-01.svg pass.svg
-!= clipPath-on-thin-object.svg about:blank
+fails-if(webrender) != clipPath-on-thin-object.svg about:blank
 == clipPath-winding-01.svg pass.svg
 
 == comments-in-pres-attrs.svg pass.svg
 
 == conditions-01.svg pass.svg
 == conditions-02.svg pass.svg
 == conditions-03.svg pass.svg
 == conditions-04.svg pass.svg
@@ -255,29 +255,29 @@ fuzzy-if(cocoaWidget,15,19679) fuzzy-if(
 == linked-filter-01.svg pass.svg
 == linked-pattern-01.svg pass.svg
 
 fuzzy-if(skiaContent,1,800000) == markers-and-group-opacity-01.svg markers-and-group-opacity-01-ref.svg
 == marker-attribute-01.svg pass.svg
 == marker-dynamic-opacity.html marker-dynamic-opacity-ref.html
 == marker-effects-01.svg marker-effects-01-ref.svg
 fuzzy-if(skiaContent,1,100) == marker-viewBox-01.svg marker-viewBox-01-ref.svg
-fuzzy-if(skiaContent,1,100) == marker-orientation-01.svg marker-orientation-01-ref.svg
-fuzzy-if(skiaContent,1,5) pref(svg.marker-improvements.enabled,true) == marker-orientation-02.svg marker-orientation-02-ref.svg
+fuzzy-if(skiaContent,1,100) fails-if(webrender) == marker-orientation-01.svg marker-orientation-01-ref.svg
+fuzzy-if(skiaContent,1,5) pref(svg.marker-improvements.enabled,true) fails-if(webrender) == marker-orientation-02.svg marker-orientation-02-ref.svg
 == marker-orientation-03.svg pass.svg
 == marker-orientation-04.svg pass.svg
 
-fuzzy(28,28) == mask-and-clipPath.html mask-and-clipPath-ref.html
-== mask-and-clipPath-2.svg pass.svg
+fuzzy(28,28) fails-if(webrender) == mask-and-clipPath.html mask-and-clipPath-ref.html
+fails-if(webrender) == mask-and-clipPath-2.svg pass.svg
 == mask-ref-loop-01.svg pass.svg
-== mask-basic-01.svg pass.svg
+fails-if(webrender) == mask-basic-01.svg pass.svg
 fuzzy-if(skiaContent,1,10000) == mask-basic-02.svg mask-basic-02-ref.svg
 == mask-basic-03.svg pass.svg
 == mask-basic-04.svg pass.svg
-== mask-basic-05.svg pass.svg
+fails-if(webrender) == mask-basic-05.svg pass.svg
 == mask-containing-masked-content-01.svg pass.svg
 == mask-contains-inner-svg-01.svg pass.svg
 == mask-contains-inner-svg-02.svg pass.svg
 == mask-empty-size.svg about:blank
 == mask-extref-dataURI-01.svg pass.svg
 fuzzy(128,141) == mask-img.html mask-img-ref.html
 == mask-on-outflowElement-01a.html clipPath-on-outflowElement-01-ref.html
 == mask-on-outflowElement-01b.html clipPath-on-outflowElement-01-ref.html
@@ -292,19 +292,19 @@ fuzzy-if(d2d||skiaContent,1,6400) == mas
 fuzzy-if(d2d||skiaContent,1,6400) == mask-type-03.svg mask-type-01-ref.svg
 fuzzy-if(d2d||skiaContent,1,6400) == mask-type-04.svg mask-type-01-ref.svg
 == mask-use-element-01.svg pass.svg
 
 != nested-mask-mode.svg about:blank
 == nested-viewBox-01.svg pass.svg
 fuzzy-if(skiaContent,3,448000) == nesting-invalid-01.svg nesting-invalid-01-ref.svg
 
-fuzzy-if(d2d&&/^Windows\x20NT\x20(6\.1|10\.0)/.test(http.oscpu),63,168) fuzzy-if(cocoaWidget,1,122) fuzzy-if(skiaContent,2,1000) == non-scaling-stroke-01.svg non-scaling-stroke-01-ref.svg # bug 1074161 for Win7 and OSX 10.8
-fuzzy-if(gtkWidget,1,99) fuzzy-if(!contentSameGfxBackendAsCanvas,9,99) fuzzy-if(Android,9,586) == non-scaling-stroke-02.svg non-scaling-stroke-02-ref.svg
-== non-scaling-stroke-03.svg non-scaling-stroke-03-ref.svg
+fuzzy-if(d2d&&/^Windows\x20NT\x20(6\.1|10\.0)/.test(http.oscpu),63,168) fuzzy-if(cocoaWidget,1,122) fuzzy-if(skiaContent,2,1000) fails-if(webrender) == non-scaling-stroke-01.svg non-scaling-stroke-01-ref.svg # bug 1074161 for Win7 and OSX 10.8
+fuzzy-if(gtkWidget,1,99) fuzzy-if(!contentSameGfxBackendAsCanvas,9,99) fuzzy-if(Android,9,586) fails-if(webrender) == non-scaling-stroke-02.svg non-scaling-stroke-02-ref.svg
+fails-if(webrender) == non-scaling-stroke-03.svg non-scaling-stroke-03-ref.svg
 
 == objectBoundingBox-and-clipPath.svg pass.svg
 # Bug 588684
 random-if(gtkWidget) == objectBoundingBox-and-fePointLight-01.svg objectBoundingBox-and-fePointLight-01-ref.svg
 random-if(gtkWidget) == objectBoundingBox-and-fePointLight-02.svg objectBoundingBox-and-fePointLight-02-ref.svg
 == objectBoundingBox-and-mask.svg pass.svg
 == objectBoundingBox-and-mask-02.svg pass.svg
 == objectBoundingBox-and-pattern-01a.svg objectBoundingBox-and-pattern-01-ref.svg
@@ -315,55 +315,55 @@ random-if(gtkWidget) == objectBoundingBo
 
 == opacity-and-gradient-01.svg pass.svg
 skip-if(d2d) fuzzy-if(cocoaWidget,1,99974) fuzzy-if(skiaContent,1,200000) == opacity-and-gradient-02.svg opacity-and-gradient-02-ref.svg
 == opacity-and-pattern-01.svg pass.svg
 fuzzy-if(skiaContent,1,10000) == opacity-and-transform-01.svg opacity-and-transform-01-ref.svg
 
 fuzzy-if(Android,8,200) == outer-svg-border-and-padding-01.svg outer-svg-border-and-padding-01-ref.svg
 
-fuzzy-if(skiaContent,7,175) fuzzy-if(skiaContent&&webrender,7-7,154-154) == outline.html outline-ref.html
+fuzzy-if(skiaContent,7,175) == outline.html outline-ref.html
 
 == overflow-on-outer-svg-01.svg overflow-on-outer-svg-01-ref.svg
 == overflow-on-outer-svg-02a.xhtml overflow-on-outer-svg-02-ref.xhtml
 == overflow-on-outer-svg-02b.xhtml overflow-on-outer-svg-02-ref.xhtml
 == overflow-on-outer-svg-02c.xhtml overflow-on-outer-svg-02-ref.xhtml
 == overflow-on-outer-svg-02d.xhtml overflow-on-outer-svg-02-ref.xhtml
 == overflow-on-outer-svg-03a.xhtml overflow-on-outer-svg-03-ref.xhtml
 == overflow-on-outer-svg-03b.xhtml overflow-on-outer-svg-03-ref.xhtml
 
 == paint-on-maskLayer-1a.html paint-on-maskLayer-1-ref.html
 == paint-on-maskLayer-1b.html paint-on-maskLayer-1-ref.html
 == paint-on-maskLayer-1c.html paint-on-maskLayer-1-ref.html
-pref(svg.paint-order.enabled,true) == paint-order-01.svg paint-order-01-ref.svg
-pref(svg.paint-order.enabled,true) fuzzy-if(webrender,1-1,112-112) == paint-order-02.svg paint-order-02-ref.svg
-pref(svg.paint-order.enabled,true) == paint-order-03.svg paint-order-03-ref.svg
+pref(svg.paint-order.enabled,true) fails-if(webrender) == paint-order-01.svg paint-order-01-ref.svg
+pref(svg.paint-order.enabled,true) fuzzy-if(webrender,1-1,112-112) fails-if(webrender) == paint-order-02.svg paint-order-02-ref.svg
+pref(svg.paint-order.enabled,true) fails-if(webrender) == paint-order-03.svg paint-order-03-ref.svg
 
 #fuzzy(23,60) fails-if(d2d) == path-01.svg path-01-ref.svg
 == path-02.svg pass.svg
 == path-03.svg pass.svg
 == path-04.svg pass.svg
 == path-05.svg pass.svg
 fuzzy-if(skiaContent,1,400) == path-06.svg path-06-ref.svg
 == path-07.svg path-07-ref.svg
 == path-08.svg pass.svg
 
-== pathLength-01.svg pass.svg
-== pathLength-02.svg pass.svg
+fails-if(webrender) == pathLength-01.svg pass.svg
+fails-if(webrender) == pathLength-02.svg pass.svg
 
 == pattern-basic-01.svg pass.svg
-fuzzy(1,5) skip-if(Android) == pattern-big-image.html pattern-big-image-ref.html
+fuzzy(1,5) skip-if(Android) fails-if(webrender) == pattern-big-image.html pattern-big-image-ref.html
 == pattern-invalid-01.svg pattern-invalid-01-ref.svg
 fuzzy-if(skiaContent,1,5) == pattern-live-01a.svg pattern-live-01-ref.svg
 fuzzy-if(skiaContent,1,5) == pattern-live-01b.svg pattern-live-01-ref.svg
 fuzzy-if(skiaContent,1,5) == pattern-live-01c.svg pattern-live-01-ref.svg
 fuzzy-if(skiaContent,1,5) == pattern-scale-01a.svg pattern-scale-01-ref.svg
-== pattern-scale-01b.svg pattern-scale-01-ref.svg
+fails-if(webrender) == pattern-scale-01b.svg pattern-scale-01-ref.svg
 fuzzy-if(skiaContent,3,5) == pattern-scale-01c.svg pattern-scale-01-ref.svg
-== pattern-transform-presence-01.svg pattern-transform-presence-01-ref.svg
+fuzzy-if(webrender,0-1,0-120) == pattern-transform-presence-01.svg pattern-transform-presence-01-ref.svg
 == pattern-transformed-01.svg pattern-transformed-01-ref.svg
 
 == polygon-01.svg polygon-01-ref.svg
 == polygon-marker-01.svg pass.svg
 == polygon-points-negative-01.svg pass.svg
 == polyline-points-invalid-01.svg pass.svg
 
 == pseudo-classes-01.svg pass.svg
@@ -388,19 +388,19 @@ fuzzy-if(skiaContent,1,3600) == rect-01.
 
 == rootElement-null-01.svg pass.svg
 
 == script-empty-01.svg pass.svg
 
 == selector-01.svg pass.svg
 
 == stroke-dasharray-01.svg stroke-dasharray-01-ref.svg
-fuzzy-if(skiaContent,1,340) == stroke-dasharray-02.svg pass.svg
+fuzzy-if(skiaContent,1,340) fails-if(webrender) == stroke-dasharray-02.svg pass.svg
 fuzzy-if(skiaContent,1,340) == stroke-dasharray-03.svg pass.svg
-== stroke-dasharray-and-pathLength-01.svg pass.svg
+fails-if(webrender) == stroke-dasharray-and-pathLength-01.svg pass.svg
 == stroke-dasharray-and-text-01.svg stroke-dasharray-and-text-01-ref.svg
 == stroke-dashoffset-01.svg pass.svg
 == stroke-dashoffset-and-pathLength-01.svg pass.svg
 == stroke-linecap-circle-ellipse-01.svg stroke-linecap-circle-ellipse-01-ref.svg
 == stroke-linecap-circle-ellipse-dashed-01.svg pass.svg
 == stroke-linecap-round-w-zero-length-segs-01.svg pass.svg
 == stroke-linecap-round-w-zero-length-segs-02.svg pass.svg
 == stroke-linecap-square-w-zero-length-segs-01.svg pass.svg
@@ -428,49 +428,49 @@ fuzzy-if(skiaContent,1,2600) == svg-in-f
 == suspend-08.svg pass.svg
 
 == svg-effects-area-unzoomed.xhtml svg-effects-area-unzoomed-ref.xhtml
 == svg-effects-area-zoomed-in.xhtml svg-effects-area-zoomed-in-ref.xhtml
 == svg-effects-area-zoomed-out.xhtml svg-effects-area-zoomed-out-ref.xhtml
 == svg-transform-01.svg pass.svg
 == svg-transform-02.svg pass.svg
 
-== symbol-01.svg symbol-01-ref.svg
+fails-if(webrender) == symbol-01.svg symbol-01-ref.svg
 
 == text-font-size-01.svg pass.svg
 random-if(gtkWidget) == text-font-weight-01.svg text-font-weight-01-ref.svg # bug 386713
 == text-gradient-01.svg text-gradient-01-ref.svg
 random-if(winWidget) == text-gradient-02.svg text-gradient-02-ref.svg # see bug 590101
 fuzzy-if(skiaContent,1,5500) == text-gradient-03.svg pass.svg
 HTTP(..) == text-gradient-04.svg text-gradient-04-ref.svg
 == text-in-link-01.svg text-in-link-01-ref.svg
 == text-in-link-02.svg text-in-link-02-ref.svg
 == text-in-link-03.svg text-in-link-03-ref.svg
 # Tests for bug 546813: sanity-check using HTML text, then test SVG behavior.
 != text-language-00.xhtml text-language-00-ref.xhtml
 random-if(gtkWidget) != text-language-01.xhtml text-language-01-ref.xhtml # Fails on Linux tryserver due to lack of CJK fonts.
-== text-layout-01.svg text-layout-01-ref.svg
+fails-if(webrender) == text-layout-01.svg text-layout-01-ref.svg
 == text-layout-02.svg text-layout-02-ref.svg
 == text-layout-03.svg text-layout-03-ref.svg
 == text-layout-04.svg text-layout-04-ref.svg
 == text-layout-05.svg text-layout-05-ref.svg
 fuzzy-if(cocoaWidget&&layersGPUAccelerated,1,3) == text-layout-06.svg text-layout-06-ref.svg
 == text-layout-07.svg text-layout-07-ref.svg
 == text-layout-08.svg text-layout-08-ref.svg
-== text-scale-01.svg text-scale-01-ref.svg
+fails-if(webrender) == text-scale-01.svg text-scale-01-ref.svg
 fuzzy-if(skiaContent,2,1000) HTTP(..) == text-scale-02.svg text-scale-02-ref.svg
 HTTP(..) == text-scale-03.svg text-scale-03-ref.svg
 
 == text-style-01a.svg text-style-01-ref.svg
 == text-style-01b.svg text-style-01-ref.svg
 == text-style-01c.svg text-style-01-ref.svg
 == text-style-01d.svg text-style-01-ref.svg
 == text-style-01e.svg text-style-01-ref.svg
 
-== text-stroke-scaling-01.svg text-stroke-scaling-01-ref.svg
+fails-if(webrender) == text-stroke-scaling-01.svg text-stroke-scaling-01-ref.svg
 fuzzy(16,3) == text-stroke-scaling-02a.html text-stroke-scaling-02-ref.html # antialiasing
 fuzzy(16,3) == text-stroke-scaling-02b.html text-stroke-scaling-02-ref.html # antialiasing
 == text-stroke-scaling-02a.html text-stroke-scaling-02b.html
 == textPath-01.svg textPath-01-ref.svg
 == textPath-02.svg pass.svg
 fuzzy-if(skiaContent,1,610) == textPath-03.svg pass.svg
 == textPath-04.svg pass.svg
 == textPath-05.html pass.svg
@@ -524,17 +524,17 @@ fuzzy-if(skiaContent,1,100) == tspan-xy-
 == use-localRef-link.html pass.svg
 == use-localRef-stroke-01.svg use-localRef-stroke-01-ref.svg
 == use-localRef-mask-01.svg use-localRef-mask-01-ref.svg
 
 == userSpaceOnUse-and-pattern-01.svg userSpaceOnUse-and-pattern-01-ref.svg
 
 == viewBox-and-pattern-01.svg pass.svg
 == viewBox-and-pattern-02.svg pass.svg
-== viewBox-and-pattern-03.svg pass.svg
+fails-if(webrender) == viewBox-and-pattern-03.svg pass.svg
 == viewBox-and-pattern-04.svg pass.svg
 == viewBox-invalid-01.svg pass.svg
 == viewBox-invalid-02.svg pass.svg
 == viewBox-valid-01.svg pass.svg
 == viewBox-valid-02.xhtml pass.svg
 == viewport-percent-graphic-user-01.svg pass.svg
 == winding-01.svg pass.svg
 
--- a/layout/reftests/svg/smil/motion/reftest.list
+++ b/layout/reftests/svg/smil/motion/reftest.list
@@ -6,16 +6,16 @@
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,800) == animateMotion-flattening-1.svg lime.svg # bug 951541
 == animateMotion-from-to-1.svg lime.svg
 == animateMotion-indefinite-to-1.svg lime.svg
 == animateMotion-indefinite-to-2.svg lime.svg
 == animateMotion-rotate-1a.svg lime.svg
 == animateMotion-rotate-1b.svg lime.svg
 fuzzy-if(skiaContent,1,40) == animateMotion-rotate-2.svg  lime.svg
 == animateMotion-to-overridden-1.svg lime.svg
-== animateMotion-values-linear-1.svg animateMotion-values-linear-1-ref.svg
-== animateMotion-values-paced-1a.svg animateMotion-values-paced-1-ref.svg
-fuzzy-if(skiaContent,1,30) == animateMotion-values-paced-1b.svg animateMotion-values-paced-1-ref.svg
+fails-if(webrender) == animateMotion-values-linear-1.svg animateMotion-values-linear-1-ref.svg
+fails-if(webrender) == animateMotion-values-paced-1a.svg animateMotion-values-paced-1-ref.svg
+fuzzy-if(skiaContent,1,30) fails-if(webrender) == animateMotion-values-paced-1b.svg animateMotion-values-paced-1-ref.svg
 
 # Tests involving <mpath> sub-element
 == animateMotion-mpath-pathLength-1.svg lime.svg
 == animateMotion-mpath-targetChange-1.svg lime.svg
 == animateMotion-mpath-target-transform-1.svg lime.svg
--- a/layout/reftests/svg/smil/reftest.list
+++ b/layout/reftests/svg/smil/reftest.list
@@ -117,17 +117,17 @@ fuzzy-if(skiaContent,1,600) == anim-feGa
 # animate some <integer> attributes:
 == anim-feTurbulence-numOctaves-01.svg anim-feTurbulence-numOctaves-01-ref.svg
 
 # animate some <integer-optional-integer> attributes:
 == anim-feConvolveMatrix-order-01.svg anim-feConvolveMatrix-order-01-ref.svg
 
 # animate some <angle> attributes:
 == anim-marker-orient-01.svg lime.svg
-== anim-marker-orient-02.svg lime.svg
+random-if(webrender) == anim-marker-orient-02.svg lime.svg
 
 #animate points list:
 == anim-polygon-points-01.svg anim-polygon-points-01-ref.svg
 == anim-polyline-points-01.svg anim-polyline-points-01-ref.svg
 
 # animate path data:
 == anim-path-d-01.svg anim-path-d-01-ref.svg
 
@@ -230,17 +230,17 @@ skip == anim-text-x-y-dx-dy-01.svg anim-
 == anim-y-interp-2.svg anim-y-interp-2-ref.svg
 == anim-y-interp-3.svg anim-y-interp-3-ref.svg
 == anim-y-interp-4.svg anim-y-interp-4-ref.svg
 == anim-y-interp-5.svg anim-y-interp-5-ref.svg
 == anim-y-interp-6.svg anim-y-interp-6-ref.svg
 
 # Test we don't rely on HasAttr to see if an attribute has been set
 == anim-rect-rxry-1.svg anim-rect-rxry-1-ref.svg
-== anim-pattern-attr-presence-01.svg anim-pattern-attr-presence-01-ref.svg
+random-if(webrender) == anim-pattern-attr-presence-01.svg anim-pattern-attr-presence-01-ref.svg
 fails == anim-pattern-attr-presence-02.svg anim-pattern-attr-presence-02-ref.svg
 # ^ bug 621651
 fuzzy-if(cocoaWidget&&layersGPUAccelerated,1,2) == anim-gradient-attr-presence-01.svg anim-gradient-attr-presence-01-ref.svg
 
 == api-sanity-1.svg lime.svg
 
 == freeze-applied-late-1.svg anim-standard-ref.svg
 == freeze-applied-late-2.svg anim-standard-ref.svg
@@ -279,12 +279,12 @@ fuzzy-if(cocoaWidget&&layersGPUAccelerat
 == anim-display-in-g-element.svg lime.svg
 
 # Test animation that change 'display' style value to 'none'
 == anim-change-display-none-for-ancestor-elem.html lime.html
 == anim-change-display-none-for-target-elem.html lime.html
 == anim-change-display-none-for-dynamically-appended-elem.html lime.html
 == anim-change-display-block-for-dynamically-appended-elem.html anim-standard-ref.html
 
-fuzzy(63,146) == anim-clipPath-viewBox.svg anim-clipPath-viewBox-ref.svg
+fuzzy(63,146) fails-if(webrender) == anim-clipPath-viewBox.svg anim-clipPath-viewBox-ref.svg
 
 # Test animations for overflow.
 == anim-overflow-shorthand.svg anim-overflow-shorthand-ref.svg
--- a/layout/reftests/svg/smil/transform/reftest.list
+++ b/layout/reftests/svg/smil/transform/reftest.list
@@ -4,15 +4,15 @@
 fuzzy(111,1802) fuzzy-if(skiaContent,130,1000) == additive-1.svg additive-1-ref.svg # bug 981344, bug 1239766
 == animate-width-1.svg lime.svg
 fuzzy-if(cocoaWidget,1,32) fuzzy-if(winWidget,15,30) fuzzy-if(gtkWidget,1,30) == paced-1.svg paced-1-ref.svg # bug 981640, Bug 1293550
 fuzzy-if(skiaContent,7,90) == rotate-angle-1.svg rotate-angle-ref.svg
 fuzzy-if(skiaContent,7,90) == rotate-angle-2.svg rotate-angle-ref.svg
 fuzzy-if(skiaContent,7,130) == rotate-angle-3.svg rotate-angle-ref.svg
 fuzzy-if(skiaContent,7,90) == rotate-angle-4.svg rotate-angle-ref.svg
 fuzzy-if(skiaContent,1,130) == rotate-angle-5.svg rotate-angle-ref.svg
-fuzzy(12,27) fuzzy-if(skiaContent,1,180) fuzzy-if(Android,16,3) fuzzy-if(webrender,7-7,306-306) == scale-1.svg scale-1-ref.svg  # bug 981004
+fuzzy(12,27) fuzzy-if(skiaContent,1,180) fuzzy-if(Android,16,3) == scale-1.svg scale-1-ref.svg  # bug 981004
 == set-transform-1.svg lime.svg
 fuzzy-if(winWidget||gtkWidget||OSX,1,27) fuzzy-if(skiaContent,7,1548) == skew-1.svg skew-1-ref.svg # bug 983671, Bug 1260629
 == translate-clipPath-1.svg lime.svg
 == translate-gradient-1.svg lime.svg
 == translate-pattern-1.svg lime.svg
 == use-1.svg lime.svg
--- a/layout/reftests/svg/svg-integration/clip-path/reftest.list
+++ b/layout/reftests/svg/svg-integration/clip-path/reftest.list
@@ -15,43 +15,43 @@
 == clip-path-polygon-011.html clip-path-stripes-001-ref.html
 == clip-path-polygon-012.html clip-path-stripes-001-ref.html
 fuzzy-if(skiaContent,1,20) == clip-path-polygon-013.html clip-path-stripes-003-ref.html
 
 fuzzy-if(webrender,90-90,690-690) == clip-path-circle-001.html clip-path-circle-001-ref.html
 fuzzy-if(webrender,90-90,690-690) == clip-path-circle-002.html clip-path-circle-001-ref.html
 fuzzy-if(webrender,90-90,690-690) == clip-path-circle-003.html clip-path-circle-001-ref.html
 fuzzy-if(webrender,90-90,690-690) == clip-path-circle-004.html clip-path-circle-001-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-005.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-005.html clip-path-circle-002-ref.html
 fuzzy-if(webrender,90-90,690-690) == clip-path-circle-006.html clip-path-circle-001-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-007.html clip-path-circle-002-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-008.html clip-path-circle-002-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-009.html clip-path-circle-003-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-010.html clip-path-circle-004-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-011.html clip-path-circle-005-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-012.html clip-path-circle-006-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-013.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-007.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-008.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-009.html clip-path-circle-003-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-010.html clip-path-circle-004-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-011.html clip-path-circle-005-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-012.html clip-path-circle-006-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-013.html clip-path-circle-002-ref.html
 fuzzy-if(webrender,90-90,698-698) == clip-path-circle-014.html clip-path-circle-007-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-015.html clip-path-circle-008-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-015.html clip-path-circle-008-ref.html
 fuzzy-if(webrender,90-90,702-702) == clip-path-circle-016.html clip-path-circle-009-ref.html
-fuzzy-if(webrender,128,714) == clip-path-circle-017.html clip-path-circle-007-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-018.html clip-path-circle-010-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-019.html clip-path-circle-002-ref.html
-fuzzy-if(webrender,64,714) == clip-path-circle-020.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,90-90,698-698) == clip-path-circle-017.html clip-path-circle-007-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-018.html clip-path-circle-010-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-019.html clip-path-circle-002-ref.html
+fuzzy-if(webrender,64-64,714-714) == clip-path-circle-020.html clip-path-circle-002-ref.html
 == clip-path-circle-021.html clip-path-circle-021-ref.html
 
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-001.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-002.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-003.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-004.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-005.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-006.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-007.html clip-path-ellipse-001-ref.html
-fuzzy-if(webrender,64,1106) == clip-path-ellipse-008.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-001.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-002.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-003.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-004.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-005.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-006.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-007.html clip-path-ellipse-001-ref.html
+fuzzy-if(webrender,64-64,1106-1106) == clip-path-ellipse-008.html clip-path-ellipse-001-ref.html
 
 == clip-path-inset-001a.html clip-path-inset-001-ref.html
 == clip-path-inset-001b.html clip-path-inset-001-ref.html
 == clip-path-inset-001c.html clip-path-inset-001-ref.html
 # Anti-aliasing behavior for masking and borders is different
-fuzzy(64,146) == clip-path-inset-002a.html clip-path-inset-002-ref.html
-fuzzy(64,146) == clip-path-inset-002b.html clip-path-inset-002-ref.html
-fuzzy(64,146) == clip-path-inset-002c.html clip-path-inset-002-ref.html
-fuzzy(64,340) == clip-path-inset-003.html clip-path-inset-003-ref.html
+fuzzy(64,146) fails-if(webrender) == clip-path-inset-002a.html clip-path-inset-002-ref.html
+fuzzy(64,146) fails-if(webrender) == clip-path-inset-002b.html clip-path-inset-002-ref.html
+fuzzy(64,146) fails-if(webrender) == clip-path-inset-002c.html clip-path-inset-002-ref.html
+fuzzy(64,340) fails-if(webrender) == clip-path-inset-003.html clip-path-inset-003-ref.html
--- a/layout/reftests/svg/svg-integration/reftest.list
+++ b/layout/reftests/svg/svg-integration/reftest.list
@@ -11,42 +11,42 @@ include clip-path/reftest.list
 == clipPath-html-04-extref.xhtml clipPath-html-04-ref.xhtml
 fuzzy-if(true,140,70) == clipPath-html-05.xhtml clipPath-html-05-ref.xhtml # Bug 776089
 fuzzy-if(true,140,70) == clipPath-html-05-extref.xhtml clipPath-html-05-ref.xhtml # Bug 776089
 fuzzy-if(Android,255,30) == clipPath-html-06.xhtml clipPath-html-06-ref.xhtml
 fuzzy-if(Android,255,30) == clipPath-html-06-extref.xhtml clipPath-html-06-ref.xhtml
 == clipPath-html-07.xhtml clipPath-html-07-ref.svg
 == clipPath-html-08.xhtml clipPath-html-07-ref.svg # reuse 07-ref.svg
 == clipPath-html-zoomed-01.xhtml clipPath-html-01-ref.svg
-== clipPath-transformed-html-01.xhtml ../pass.svg
-== clipPath-transformed-html-02.xhtml ../pass.svg
+fails-if(webrender) == clipPath-transformed-html-01.xhtml ../pass.svg
+fails-if(webrender) == clipPath-transformed-html-02.xhtml ../pass.svg
 == conditions-outer-svg-01.xhtml ../pass.svg
 == conditions-outer-svg-02.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-01.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-02.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-03.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-04.xhtml ../pass.svg
 == filter-html-01.xhtml filter-html-01-ref.svg
 == filter-html-dynamic-01.xhtml filter-html-dynamic-01-ref.xhtml
 random-if(Android) skip-if(styloVsGecko) == filter-html-01-extref.xhtml filter-html-01-ref.svg # Android: bug 1198380. skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
 == filter-html-zoomed-01.xhtml filter-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-01.xhtml mask-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-01-extref-01.xhtml mask-html-01-ref.svg
 random == mask-html-01-extref-02.xhtml mask-html-01-ref.svg # random due to bug 877661
 fuzzy-if(webrender,1,125414) == mask-html-zoomed-01.xhtml mask-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-xbl-bound-01.html mask-html-01-ref.svg
-== mask-transformed-html-01.xhtml ../pass.svg
-== mask-transformed-html-02.xhtml ../pass.svg
-fuzzy-if(skiaContent,1,5) == patterned-svg-under-transformed-html-01.xhtml ../pass.svg
-== patterned-svg-under-transformed-html-02.xhtml ../pass.svg
+fails-if(webrender) == mask-transformed-html-01.xhtml ../pass.svg
+fails-if(webrender) == mask-transformed-html-02.xhtml ../pass.svg
+fuzzy-if(skiaContent,1,5) fails-if(webrender) == patterned-svg-under-transformed-html-01.xhtml ../pass.svg
+fails-if(webrender) == patterned-svg-under-transformed-html-02.xhtml ../pass.svg
 
 fuzzy(1,5000) == mask-clipPath-opacity-01a.xhtml mask-clipPath-opacity-01-ref.xhtml
 fuzzy(1,5000) == mask-clipPath-opacity-01b.xhtml mask-clipPath-opacity-01-ref.xhtml
 fuzzy(1,5000) == mask-clipPath-opacity-01c.xhtml mask-clipPath-opacity-01-ref.xhtml
 fuzzy(1,5000) == mask-clipPath-opacity-01d.xhtml mask-clipPath-opacity-01-ref.xhtml
 fuzzy(1,5000) == mask-clipPath-opacity-01e.xhtml mask-clipPath-opacity-01-ref.xhtml
 
 == transform-outer-svg-01.xhtml transform-outer-svg-01-ref.xhtml
 
 # box-decoration-break tests
 fuzzy-if(Android,4,10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
 fuzzy(62,14) == box-decoration-break-02.xhtml box-decoration-break-02-ref.xhtml
-fuzzy(67,234) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
+fuzzy(67,234) fails-if(webrender) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
--- a/layout/reftests/svg/text/reftest.list
+++ b/layout/reftests/svg/text/reftest.list
@@ -1,12 +1,12 @@
 == simple.svg simple-ref.html
 == simple-2.svg simple.svg
 == simple-underline.svg simple-underline-ref.html
-== simple-underline-scaled.svg simple-underline-scaled-ref.svg
+fails-if(webrender) == simple-underline-scaled.svg simple-underline-scaled-ref.svg
 == simple-anchor-end-bidi.svg simple-anchor-end-bidi-ref.html
 == simple-anchor-end-rtl.svg simple-anchor-end-rtl-ref.html
 == simple-anchor-end.svg simple-anchor-end-ref.html
 fuzzy-if(skiaContent&&dwrite,104,131) == simple-anchor-middle-bidi.svg simple-anchor-middle-bidi-ref.html
 == simple-anchor-middle-rtl.svg simple-anchor-middle-rtl-ref.html
 fuzzy-if(skiaContent,111,81) == simple-anchor-middle.svg simple-anchor-middle-ref.html
 == simple-bidi.svg simple-bidi-ref.html
 == simple-bidi-2.svg simple-bidi.svg
@@ -40,17 +40,17 @@ fuzzy-if(skiaContent,1,2) HTTP(../..) ==
 HTTP(../..) == simple-multiple-dx-anchor-middle.svg simple-multiple-dx-anchor-middle-ref.svg
 == simple-multiple-dx-bidi.svg simple-multiple-dx-bidi-ref.svg
 == simple-multiple-dx-bidi-2.svg simple-multiple-dx-bidi.svg
 == simple-multiple-dx-rtl.svg simple-multiple-dx-rtl-ref.svg
 == simple-multiple-dx-rtl-2.svg simple-multiple-dx-rtl.svg
 
 == simple-rtl.svg simple-rtl-ref.html
 == simple-rtl-2.svg simple-rtl.svg
-HTTP(../..) == simple-transform-rotate.svg simple-transform-rotate-ref.svg
+fails-if(webrender) HTTP(../..) == simple-transform-rotate.svg simple-transform-rotate-ref.svg
 
 == multiple-x.svg multiple-x-ref.svg
 == multiple-x-bidi.svg multiple-x-bidi-ref.svg
 == multiple-x-rtl.svg multiple-x-rtl-ref.svg
 == multiple-x-anchor-end-bidi.svg multiple-x-anchor-end-bidi-ref.svg
 == multiple-x-anchor-end-rtl.svg multiple-x-anchor-end-rtl-ref.svg
 == multiple-x-anchor-end.svg multiple-x-anchor-end-ref.svg
 == multiple-x-dx-bidi.svg multiple-x-dx-bidi-ref.svg
@@ -115,20 +115,20 @@ fuzzy-if(skiaContent,1,15) == textpath.s
 == textpath-anchor-middle.svg textpath-anchor-middle-ref.svg
 == textpath-anchor-end.svg textpath-anchor-end-ref.svg
 == textpath-invalid-parent.svg textpath-invalid-parent-ref.svg
 == textpath-multiline.svg textpath-multiline-ref.svg
 == textpath-multiline-2.svg textpath-multiline-2-ref.svg
 == textpath-after.svg textpath-after-ref.svg
 == textpath-after-anchor-end.svg textpath-after-anchor-end-ref.svg
 
-== textLength.svg textLength-ref.svg
-fuzzy-if(skiaContent,1,200) == textLength-2.svg textLength-2-ref.svg
-fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.[12]/.test(http.oscpu),4,17) fuzzy-if(skiaContent,4,100) == textLength-3.svg textLength-3-ref.svg
-== textLength-4.svg textLength-4-ref.svg
+fails-if(webrender) == textLength.svg textLength-ref.svg
+fuzzy-if(skiaContent,1,200) fails-if(webrender) == textLength-2.svg textLength-2-ref.svg
+fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.[12]/.test(http.oscpu),4,17) fuzzy-if(skiaContent,4,100) fails-if(webrender) == textLength-3.svg textLength-3-ref.svg
+fails-if(webrender) == textLength-4.svg textLength-4-ref.svg
 == textLength-5.svg textLength-5-ref.svg
 == textLength-6.svg textLength-6-ref.svg
 
 # text-shadow
 == text-shadow.svg text-shadow-ref.svg
 
 # vertical text
 == vertical-01.svg vertical-01-ref.svg
@@ -162,31 +162,31 @@ fuzzy-if(/^Windows\x20NT\x2010\.0/.test(
 
 # dynamic document changes
 == dynamic-font-size.svg dynamic-font-size-ref.svg
 == dynamic-font-size-2.svg dynamic-font-size-2-ref.svg
 == dynamic-font-size-3.svg dynamic-font-size-3-ref.svg
 == dynamic-font-size-4.svg dynamic-font-size-4-ref.svg
 == dynamic-dominant-baseline.svg dynamic-dominant-baseline-ref.svg
 == dynamic-multiple-x.svg dynamic-multiple-x-ref.svg
-fuzzy-if(!d2d,14,2) fuzzy-if(skiaContent,1,200) == dynamic-non-scaling-stroke.svg dynamic-non-scaling-stroke-ref.svg #Bug 885316
+fuzzy-if(!d2d,14,2) fuzzy-if(skiaContent,1,200) fails-if(webrender) == dynamic-non-scaling-stroke.svg dynamic-non-scaling-stroke-ref.svg #Bug 885316
 == dynamic-text-shadow.svg text-shadow-ref.svg
 
 # text and masks
-fuzzy-if(skiaContent&&winWidget,50,224) HTTP(../..)  == mask-applied.svg mask-applied-ref.svg
+fuzzy-if(skiaContent&&winWidget,50,224) HTTP(../..) == mask-applied.svg mask-applied-ref.svg
 fuzzy-if(skiaContent&&winWidget,105,112) HTTP(../..) == mask-content.svg mask-content-ref.svg
 fuzzy-if(skiaContent&&winWidget,53,112) HTTP(../..) == mask-content-2.svg mask-content-2-ref.svg
 
 # text and clipPaths
 HTTP(../..) == clipPath-applied.svg clipPath-applied-ref.svg
 fuzzy-if(skiaContent&&winWidget,105,56) HTTP(../..) == clipPath-content.svg clipPath-content-ref.svg
 fuzzy-if(skiaContent&&winWidget,53,112) HTTP(../..) == clipPath-content-2.svg clipPath-content-2-ref.svg
 
 # text and patterns
-fuzzy-if(cocoaWidget,1,6) fuzzy-if(skiaContent,65,313)  == pattern-content.svg pattern-content-ref.svg
+fuzzy-if(cocoaWidget,1,6) fuzzy-if(skiaContent,65,313)  fails-if(webrender) == pattern-content.svg pattern-content-ref.svg
 
 # text and filters
 fuzzy-if(skiaContent&&winWidget,126,336) HTTP(../..) == filter-applied.svg filter-applied-ref.svg
 
 # vertical text
 fuzzy-if(skiaContent,1,80) == textpath-vertical-dx.svg textpath-vertical-dx-ref.svg
 
 # selection
--- a/layout/reftests/text-shadow/reftest.list
+++ b/layout/reftests/text-shadow/reftest.list
@@ -21,19 +21,19 @@ HTTP(..) == blur-opacity.html blur-opaci
 == textindent.html textindent-ref.html
 == lineoverflow.html lineoverflow-ref.html
 
 == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref.html
 == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref2.html
 == overflow-not-scrollable-2.html overflow-not-scrollable-2-ref.html
 
 needs-focus != text-shadow-selected-1.html text-shadow-selected-1-notref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,1,1000) needs-focus == text-shadow-selected-1.html text-shadow-selected-1-ref.html # different foreground selection color on Android
+fails-if(Android) fuzzy-if(skiaContent&&!Android,1,1000) needs-focus fails-if(webrender) == text-shadow-selected-1.html text-shadow-selected-1-ref.html # different foreground selection color on Android
 needs-focus != text-shadow-selected-2.html text-shadow-selected-2-notref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,1,1400) needs-focus == text-shadow-selected-2.html text-shadow-selected-2-ref.html # different foreground selection color on Android
+fails-if(Android) fuzzy-if(skiaContent&&!Android,1,1400) needs-focus fails-if(webrender) == text-shadow-selected-2.html text-shadow-selected-2-ref.html # different foreground selection color on Android
 
 # bug 692744
 == text-shadow-on-space-1.html text-shadow-on-space-1-ref.html
 
 # bug 721750
 needs-focus == text-shadow-on-selection-1.html text-shadow-on-selection-1-ref.html
 needs-focus == text-shadow-on-selection-2.html text-shadow-on-selection-2-ref.html
 
--- a/layout/reftests/text-svgglyphs/reftest.list
+++ b/layout/reftests/text-svgglyphs/reftest.list
@@ -4,17 +4,17 @@ pref(gfx.font_rendering.opentype_svg.ena
 pref(gfx.font_rendering.opentype_svg.enabled,false)   != svg-glyph-positioning.svg svg-glyph-positioning-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,2,350) == svg-glyph-positioning.svg svg-glyph-positioning-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-html.html svg-glyph-html-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-direct.svg svg-glyph-direct-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-invalid.html svg-glyph-invalid-ref.html
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-objectfill-solid.svg svg-glyph-objectfill-solid-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,2,200) == svg-glyph-objectstroke-solid.svg svg-glyph-objectstroke-solid-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy(1,7) fuzzy-if(gtkWidget&&/^Linux\x20x86_64/.test(http.oscpu),1,79) fuzzy-if(skiaContent,1,300) == svg-glyph-objectgradient.svg svg-glyph-objectgradient-ref.svg # see bug 871961#c5
-pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(cocoaWidget,1,7028) fuzzy-if(gtkWidget&&/^Linux\x20x86_64/.test(http.oscpu),1,23) fuzzy-if(skiaContent,1,250) == svg-glyph-objectgradient-zoom.svg svg-glyph-objectgradient-zoom-ref.svg
+pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(cocoaWidget,1,7028) fuzzy-if(gtkWidget&&/^Linux\x20x86_64/.test(http.oscpu),1,23) fuzzy-if(skiaContent,1,250) fails-if(webrender) == svg-glyph-objectgradient-zoom.svg svg-glyph-objectgradient-zoom-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(gtkWidget,1,1438) fuzzy-if(winWidget,1,1954) fuzzy-if(Android,8,3795) fuzzy-if(skiaContent,14,13000) == svg-glyph-objectpattern.svg svg-glyph-objectpattern-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == clip.html clip-ref.html
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy(1,13) fuzzy-if(gtkWidget&&/^Linux\x20x86_64/.test(http.oscpu),1,62) fuzzy-if(skiaContent,1,350) == svg-glyph-objectopacity.svg svg-glyph-objectopacity-ref.svg # see bug 871961#c5
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(gtkWidget,1,2268) fuzzy-if(winWidget,1,3074) fuzzy-if(Android,5,4715) fuzzy-if(skiaContent,8,13000) == svg-glyph-objectopacity2.svg svg-glyph-objectopacity2-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,2,200) == svg-glyph-paintnone.svg svg-glyph-paintnone-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,2,200) == svg-glyph-cachedopacity.svg svg-glyph-cachedopacity-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(cocoaWidget,255,100) == svg-glyph-objectvalue.svg svg-glyph-objectvalue-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,15,152) == svg-glyph-mask.svg svg-glyph-mask-ref.svg
--- a/layout/reftests/text/reftest.list
+++ b/layout/reftests/text/reftest.list
@@ -106,17 +106,17 @@ HTTP(..) == synthetic-bold-papyrus-01.ht
 != text-align-justify-last-end.html text-align-justify-last-center.html
 != text-align-justify-last-end.html text-align-justify-last-justify.html
 != text-align-justify-last-center.html text-align-justify-last-justify.html
 == text-align-left-in-rtl-block.html text-align-left-in-rtl-block-ref.html
 HTTP(..) == variation-selector-unsupported-1.html variation-selector-unsupported-1-ref.html
 == white-space-1a.html white-space-1-ref.html
 == white-space-1b.html white-space-1-ref.html
 == white-space-2.html white-space-2-ref.html
-== wordbreak-1.html wordbreak-1-ref.html
+fails-if(webrender) == wordbreak-1.html wordbreak-1-ref.html
 == wordbreak-2.html wordbreak-2-ref.html
 == wordbreak-3.html wordbreak-3-ref.html
 skip-if(Android) == wordbreak-4a.html wordbreak-4a-ref.html
 == wordbreak-4b.html wordbreak-4b-ref.html
 == wordbreak-5.html wordbreak-5-ref.html
 fails-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == wordbreak-6.html wordbreak-6-ref.html # Bug 1258239
 HTTP(..) == wordbreak-7a.html wordbreak-7a-ref.html
 fails HTTP(..) == wordbreak-7b.html wordbreak-7b-ref.html # bug 479829
--- a/layout/reftests/transform-3d/reftest.list
+++ b/layout/reftests/transform-3d/reftest.list
@@ -32,17 +32,17 @@ fuzzy-if(winWidget,143,689) fuzzy-if(OSX
 fuzzy-if(winWidget,143,689) fuzzy-if(OSX,224,924) fuzzy-if(winWidget&&stylo,154,644) == scale3d-all-separate.html scale3d-1-ref.html # subpixel AA
 == scale3d-xz.html scale3d-1-ref.html
 == translatez-1a.html translatez-1-ref.html
 != translatez-1b.html translatez-1-ref.html
 == translate3d-1a.html translate3d-1-ref.html
 fuzzy-if(skiaContent,1,4) == matrix3d-1a.html matrix3d-1-ref.html
 == matrix3d-2a.html matrix3d-2-ref.html
 == rotate3d-1a.html rotatex-1-ref.html
-== rotate3d-2a.html rotatey-1-ref.html
+fuzzy-if(webrender,0-1,0-6) == rotate3d-2a.html rotatey-1-ref.html
 != backface-visibility-1a.html about:blank
 == backface-visibility-1b.html about:blank
 == backface-visibility-1c.html about:blank
 fuzzy-if(winWidget&&!layersGPUAccelerated,1,251) == backface-visibility-2.html backface-visibility-2-ref.html
 == backface-visibility-3.html backface-visibility-3-ref.html
 fails-if(webrender) == perspective-clipping-1.html perspective-clipping-1-ref.html
 == perspective-clipping-2.html perspective-clipping-2-ref.html
 != perspective-origin-1a.html rotatex-perspective-1a.html
--- a/layout/reftests/w3c-css/submitted/background/reftest.list
+++ b/layout/reftests/w3c-css/submitted/background/reftest.list
@@ -1,17 +1,17 @@
 # background-repeat round/space test cases
-== background-repeat-space-1a.html background-repeat-space-1-ref.html
-== background-repeat-space-1b.html background-repeat-space-1-ref.html
-== background-repeat-space-1c.html background-repeat-space-1-ref.html
+fails-if(webrender) == background-repeat-space-1a.html background-repeat-space-1-ref.html
+fails-if(webrender) == background-repeat-space-1b.html background-repeat-space-1-ref.html
+fails-if(webrender) == background-repeat-space-1c.html background-repeat-space-1-ref.html
 == background-repeat-space-2.html background-repeat-space-2-ref.html
-fuzzy-if(webrender,1-1,96-96) == background-repeat-space-3.html background-repeat-space-3-ref.html
-== background-repeat-space-4.html background-repeat-space-4-ref.html
-== background-repeat-space-5.html background-repeat-space-5-ref.html
-== background-repeat-space-6.html background-repeat-space-6-ref.html
+fuzzy-if(webrender,1-1,96-96) fails-if(webrender) == background-repeat-space-3.html background-repeat-space-3-ref.html
+fails-if(webrender) == background-repeat-space-4.html background-repeat-space-4-ref.html
+fails-if(webrender) == background-repeat-space-5.html background-repeat-space-5-ref.html
+fails-if(webrender) == background-repeat-space-6.html background-repeat-space-6-ref.html
 == background-repeat-space-7.html background-repeat-space-7-ref.html
 == background-repeat-space-8.html background-repeat-space-8-ref.html
 == background-repeat-space-9.html background-repeat-space-9-ref.html
 == background-repeat-space-10.html background-repeat-space-10-ref.html
 == background-repeat-round-1a.html background-repeat-round-1-ref.html
 == background-repeat-round-1b.html background-repeat-round-1-ref.html
 == background-repeat-round-1c.html background-repeat-round-1-ref.html
 == background-repeat-round-1d.html background-repeat-round-1-ref.html
--- a/layout/reftests/w3c-css/submitted/images3/reftest.list
+++ b/layout/reftests/w3c-css/submitted/images3/reftest.list
@@ -190,12 +190,12 @@ pref(gfx.webrender.layers-free,true) pre
 pref(gfx.webrender.layers-free,true) pref(layers.advanced.background-image,1) skip-if(!webrender) == object-position-png-002e.html object-position-png-002-ref.html
 pref(gfx.webrender.layers-free,true) pref(layers.advanced.background-image,1) skip-if(!webrender) == object-position-png-002i.html object-position-png-002-ref.html
 pref(gfx.webrender.layers-free,true) pref(layers.advanced.background-image,1) skip-if(!webrender) == object-position-png-002o.html object-position-png-002-ref.html
 pref(gfx.webrender.layers-free,true) pref(layers.advanced.background-image,1) skip-if(!webrender) == object-position-png-002p.html object-position-png-002-ref.html
 fails == object-position-svg-001e.html object-position-svg-001-ref.html # bug 1103286
 == object-position-svg-001i.html object-position-svg-001-ref.html
 fails == object-position-svg-001o.html object-position-svg-001-ref.html # bug 1103286
 == object-position-svg-001p.html object-position-svg-001-ref.html
-fails == object-position-svg-002e.html object-position-svg-002-ref.html # bug 1103286
+fails-if(!webrender) == object-position-svg-002e.html object-position-svg-002-ref.html # bug 1103286
 == object-position-svg-002i.html object-position-svg-002-ref.html
-fails == object-position-svg-002o.html object-position-svg-002-ref.html # bug 1103286
+fails-if(!webrender) == object-position-svg-002o.html object-position-svg-002-ref.html # bug 1103286
 == object-position-svg-002p.html object-position-svg-002-ref.html
--- a/layout/reftests/w3c-css/submitted/masking/reftest.list
+++ b/layout/reftests/w3c-css/submitted/masking/reftest.list
@@ -15,17 +15,17 @@ fuzzy-if(skiaContent,1,30000) == mask-mo
 fuzzy-if(skiaContent,1,30000) == mask-mode-c.html mask-mode-ref.html
 fuzzy-if(skiaContent,1,30000) == mask-mode-d.html mask-mode-ref.html
 fuzzy-if(skiaContent,1,30000) fuzzy-if(d2d,1,30000) == mask-mode-to-mask-type.html mask-mode-to-mask-type-ref.html
 
 # mask-image test cases
 == mask-image-1a.html mask-image-1-ref.html
 == mask-image-1b.html mask-image-1-ref.html
 == mask-image-1c.html mask-image-1-ref.html
-== mask-image-1d.html mask-image-1-ref.html
+fails-if(webrender) == mask-image-1d.html mask-image-1-ref.html
 fuzzy-if(skiaContent||winWidget,1,20000) == mask-image-2.html mask-image-2-ref.html
 == mask-image-3a.html mask-image-3-ref.html
 == mask-image-3b.html mask-image-3-ref.html
 fuzzy-if(skiaContent||winWidget,1,43) == mask-image-3c.html mask-image-3-ref.html
 fuzzy-if(skiaContent||winWidget,1,43) == mask-image-3d.html mask-image-3-ref.html
 == mask-image-3e.html mask-image-3-ref.html
 # Due to SVG luminance, see bug 1372577, parent process doesn't use d2d for luminance.
 fuzzy-if(skiaContent||winWidget,50,85) fuzzy-if(webrender,1,126) fuzzy-if(d2d,255,1) fuzzy-if(winWidget&&!browserIsRemote,50,85) == mask-image-3f.html mask-image-3-ref.html
@@ -34,17 +34,17 @@ fuzzy-if(winWidget,1,3) fuzzy-if(skiaCon
 fuzzy-if(skiaContent,71,203) == mask-image-3i.html mask-image-3-ref.html
 == mask-image-4a.html blank.html
 == mask-image-4b.html blank.html
 == mask-image-5.html mask-image-5-ref.html
 == mask-image-6.html mask-image-6-ref.html
 
 # mask-clip test cases
 == mask-clip-1.html mask-clip-1-ref.html
-== mask-clip-2.html mask-clip-2-ref.html
+fails-if(webrender) == mask-clip-2.html mask-clip-2-ref.html
 
 # mask-position test cases
 == mask-position-1a.html mask-position-1-ref.html
 == mask-position-1b.html mask-position-1-ref.html
 == mask-position-1c.html mask-position-1-ref.html
 == mask-position-2a.html mask-position-2-ref.html
 == mask-position-2b.html mask-position-2-ref.html
 == mask-position-3a.html mask-position-3-ref.html
@@ -60,17 +60,17 @@ fuzzy-if(skiaContent,71,203) == mask-ima
 # mask-repeat test cases
 == mask-repeat-1.html mask-repeat-1-ref.html
 == mask-repeat-2.html mask-repeat-2-ref.html
 == mask-repeat-3.html mask-repeat-3-ref.html
 
 # mask-origin test cases
 == mask-origin-1.html mask-origin-1-ref.html
 fails == mask-origin-2.html mask-origin-2-ref.html # bug 1260094
-== mask-origin-3.html mask-origin-3-ref.html
+fails-if(webrender) == mask-origin-3.html mask-origin-3-ref.html
 
 # mask-size test cases
 == mask-size-auto.html mask-size-auto-ref.html
 == mask-size-auto-auto.html mask-size-auto-ref.html
 == mask-size-auto-length.html mask-size-auto-length-ref.html
 == mask-size-auto-percent.html mask-size-auto-length-ref.html
 == mask-size-contain-clip-border.html mask-size-contain-clip-border-ref.html
 == mask-size-contain-clip-padding.html mask-size-contain-clip-padding-ref.html
@@ -83,30 +83,30 @@ fails == mask-origin-2.html mask-origin-
 == mask-size-length-percent.html mask-size-length-percent-ref.html
 == mask-size-percent.html mask-size-percent-percent-ref.html
 == mask-size-percent-auto.html mask-size-percent-percent-ref.html
 == mask-size-percent-length.html mask-size-percent-percent-ref.html
 == mask-size-percent-percent.html mask-size-percent-percent-ref.html
 == mask-size-percent-percent-stretch.html mask-size-percent-percent-stretch-ref.html
 
 fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fuzzy-if(webrender,64,371) == clip-path-contentBox-1a.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-contentBox-1b.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-contentBox-1c.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-contentBox-1b.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-contentBox-1c.html clip-path-geometryBox-1-ref.html
 fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fuzzy-if(webrender,64,371) == clip-path-paddingBox-1a.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-paddingBox-1b.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-paddingBox-1b.html clip-path-geometryBox-1-ref.html
 fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fuzzy-if(webrender,64,371) == clip-path-paddingBox-1c.html clip-path-geometryBox-1-ref.html
 fuzzy(64,370) == clip-path-borderBox-1a.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-borderBox-1b.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-borderBox-1b.html clip-path-geometryBox-1-ref.html
 fuzzy(64,370) == clip-path-borderBox-1c.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-marginBox-1a.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-marginBox-1a.html clip-path-geometryBox-1-ref.html
 fuzzy(64,370) == clip-path-fillBox-1a.html clip-path-geometryBox-1-ref.html
 fuzzy(64,370) == clip-path-strokeBox-1a.html clip-path-geometryBox-1-ref.html
-fuzzy(64,370) == clip-path-strokeBox-1b.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-viewBox-1a.html clip-path-geometryBox-1-ref.html
-fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) == clip-path-viewBox-1b.html clip-path-geometryBox-1-ref.html
+fuzzy(64,370) fails-if(webrender) == clip-path-strokeBox-1b.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-viewBox-1a.html clip-path-geometryBox-1-ref.html
+fuzzy-if(winWidget,1,21) fuzzy-if(skiaContent,1,60) fails-if(webrender) == clip-path-viewBox-1b.html clip-path-geometryBox-1-ref.html
 fuzzy(64,370) == clip-path-viewBox-1c.html clip-path-geometryBox-1-ref.html
 fuzzy-if(winWidget,9,98) fuzzy-if(webrender,64,100) == clip-path-geometryBox-2.html clip-path-geometryBox-2-ref.html
 
 == clip-path-localRef-1.html clip-path-localRef-1-ref.html
 
 # mask with opacity test cases
 fuzzy(1,5000) == mask-opacity-1a.html mask-opacity-1-ref.html
 fuzzy(1,5000) == mask-opacity-1b.html mask-opacity-1-ref.html
--- a/layout/reftests/w3c-css/submitted/selectors4/reftest.list
+++ b/layout/reftests/w3c-css/submitted/selectors4/reftest.list
@@ -1,12 +1,12 @@
 needs-focus == focus-within-1.html focus-within-1-ref.html
 needs-focus == focus-within-2.html focus-within-2-ref.html
 needs-focus == focus-within-3.html focus-within-3-ref.html
-== dir-style-01a.html dir-style-01-ref.html
-== dir-style-01b.html dir-style-01-ref.html
+fails-if(webrender) == dir-style-01a.html dir-style-01-ref.html
+fails-if(webrender) == dir-style-01b.html dir-style-01-ref.html
 == dir-style-02a.html dir-style-02-ref.html
 == dir-style-02b.html dir-style-02-ref.html
 == dir-style-03a.html dir-style-03-ref.html
 == dir-style-03b.html dir-style-03-ref.html
 == dir-style-04.html dir-style-04-ref.html
 == child-index-no-parent-01.html child-index-no-parent-01-ref.html
 == class-id-attr-selector-invalidation-01.html class-id-attr-selector-invalidation-01-ref.html
--- a/layout/reftests/w3c-css/submitted/transforms/reftest.list
+++ b/layout/reftests/w3c-css/submitted/transforms/reftest.list
@@ -1,6 +1,6 @@
 == transform-containing-block-dynamic-1a.html containing-block-dynamic-1-ref.html
 == transform-containing-block-dynamic-1b.html containing-block-dynamic-1-ref.html
 == perspective-containing-block-dynamic-1a.html containing-block-dynamic-1-ref.html
 == perspective-containing-block-dynamic-1b.html containing-block-dynamic-1-ref.html
 == perspective-zero.html reference/green.html
-fails-if(webrender) == perspective-zero-2.html perspective-zero-2-ref.html
+== perspective-zero-2.html perspective-zero-2-ref.html
--- a/layout/reftests/web-animations/reftest.list
+++ b/layout/reftests/web-animations/reftest.list
@@ -1,24 +1,24 @@
 test-pref(dom.animations-api.core.enabled,true) == 1246046-1.html green-box.html
-test-pref(dom.animations-api.core.enabled,true) == 1267937-1.html 1267937-ref.html
+test-pref(dom.animations-api.core.enabled,true) fails-if(webrender) == 1267937-1.html 1267937-ref.html
 # see bug 1353399. Intermittent with WR enabled
 test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == 1298742-1.html 1298742-ref.html
 test-pref(dom.animations-api.core.enabled,true) == 1363639-1.html green-box.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-none-animation-before-appending-element.html stacking-context-animation-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-changing-keyframe.html stacking-context-animation-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-opacity-changing-keyframe.html stacking-context-animation-ref.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-changing-keyframe-in-delay.html stacking-context-animation-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-changing-target.html stacking-context-animation-changing-target-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-opacity-changing-target.html stacking-context-animation-changing-target-ref.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-changing-target-in-delay.html stacking-context-animation-changing-target-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-changing-effect.html stacking-context-animation-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-opacity-changing-effect.html stacking-context-animation-ref.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-opacity-losing-css-animation-in-delay.html stacking-context-animation-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-keyframe.html stacking-context-animation-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-transform-changing-keyframe.html stacking-context-animation-ref.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-keyframe-in-delay.html stacking-context-animation-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-target.html stacking-context-animation-changing-target-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-transform-changing-target.html stacking-context-animation-changing-target-ref.html
 
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-target-in-delay.html stacking-context-animation-changing-target-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-effect.html stacking-context-animation-ref.html
-test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-changing-display-property.html stacking-context-animation-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-transform-changing-effect.html stacking-context-animation-ref.html
+test-pref(dom.animations-api.core.enabled,true) random-if(webrender) == stacking-context-transform-changing-display-property.html stacking-context-animation-ref.html
 test-pref(dom.animations-api.core.enabled,true) == stacking-context-transform-losing-css-animation-in-delay.html stacking-context-animation-ref.html
 test-pref(dom.animations-api.core.enabled,true) == style-updates-on-iteration-composition-changed-from-accumulate-to-replace.html style-updates-for-iteration-composite-ref.html
 test-pref(dom.animations-api.core.enabled,true) == style-updates-on-iteration-composition-changed-from-replace-to-accumulate.html style-updates-for-iteration-composite-ref.html
 test-pref(dom.animations-api.core.enabled,true) == style-updates-on-current-iteration-changed.html style-updates-for-iteration-composite-ref.html
 test-pref(dom.animations-api.core.enabled,true) == cancel-animation-with-selector-matching.html about:blank
--- a/layout/reftests/writing-mode/reftest.list
+++ b/layout/reftests/writing-mode/reftest.list
@@ -29,17 +29,17 @@ fails == 1102175-1a.html 1102175-1-ref.h
 == 1103613-1.html 1103613-1-ref.html
 == 1105268-1-min-max-dimensions.html 1105268-1-min-max-dimensions-ref.html
 == 1105268-2-min-max-dimensions.html 1105268-2-min-max-dimensions-ref.html
 == 1106669-1-intrinsic-for-container.html 1106669-1-intrinsic-for-container-ref.html
 == 1108923-1-percentage-margins.html 1108923-1-percentage-margins-ref.html
 == 1111944-1-list-marker.html 1111944-1-list-marker-ref.html
 fuzzy(116,94) fuzzy-if(winWidget,135,124) HTTP(..) == 1115916-1-vertical-metrics.html 1115916-1-vertical-metrics-ref.html
 == 1117210-1-vertical-baseline-snap.html 1117210-1-vertical-baseline-snap-ref.html
-== 1117227-1-text-overflow.html 1117227-1-text-overflow-ref.html
+random-if(webrender) == 1117227-1-text-overflow.html 1117227-1-text-overflow-ref.html
 == 1122366-1-margin-collapse.html 1122366-1-margin-collapse-ref.html
 == 1124636-1-fieldset-max-height.html 1124636-1-fieldset-max-height-ref.html
 == 1124636-2-fieldset-min-height.html 1124636-2-fieldset-min-height-ref.html
 
 == ua-style-sheet-margin-1.html ua-style-sheet-margin-1-ref.html
 == ua-style-sheet-margin-2.html ua-style-sheet-margin-2-ref.html
 == ua-style-sheet-margin-3.html ua-style-sheet-margin-3-ref.html
 == ua-style-sheet-margin-4.html ua-style-sheet-margin-4-ref.html
@@ -143,17 +143,17 @@ test-pref(dom.meta-viewport.enabled,true
 == 1188061-1-nsChangeHint_ClearAncestorIntrinsics.html 1188061-1-nsChangeHint_ClearAncestorIntrinsics-ref.html
 == 1188061-2-nsChangeHint_UpdateComputedBSize.html 1188061-2-nsChangeHint_UpdateComputedBSize-ref.html
 
 # tests involving sideways-lr mode
 == 1193519-sideways-lr-1.html 1193519-sideways-lr-1-ref.html
 == 1193519-sideways-lr-2.html 1193519-sideways-lr-2-ref.html
 fuzzy-if(winWidget,3,84) == 1193519-sideways-lr-3.html 1193519-sideways-lr-3-ref.html
 fuzzy-if(winWidget,3,112) fails-if(webrender) == 1193519-sideways-lr-4.html 1193519-sideways-lr-4-ref.html # see bug 1366692. Rounding error with WR enabled.
-fuzzy-if(gtkWidget,255,6) fuzzy-if(cocoaWidget,65,69) == 1193519-sideways-lr-decoration-1.html 1193519-sideways-lr-decoration-1-ref.html
+fuzzy-if(gtkWidget,255,6) fuzzy-if(cocoaWidget,65,69) fails-if(webrender) == 1193519-sideways-lr-decoration-1.html 1193519-sideways-lr-decoration-1-ref.html
 
 == 1196887-1-computed-display-inline-block.html 1196887-1-computed-display-inline-block-ref.html
 == 1205787-legacy-svg-values-1.html 1205787-legacy-svg-values-1-ref.html
 
 == 1216747-1.html 1216747-1-ref.html
 != 1216747-1.html 1216747-1-notref.html
 
 == 1243125-1-floats-overflowing.html 1243125-1-floats-overflowing-ref.html
--- a/layout/reftests/xul/reftest.list
+++ b/layout/reftests/xul/reftest.list
@@ -54,18 +54,18 @@ fails == object-fit-fill-svg-006.xul obj
 == object-fit-scale-down-png-001.xul object-fit-scale-down-png-001-ref.html
 == object-fit-scale-down-png-002.xul object-fit-scale-down-png-002-ref.html
 == object-fit-scale-down-svg-001.xul object-fit-scale-down-svg-001-ref.html
 == object-fit-scale-down-svg-002.xul object-fit-scale-down-svg-002-ref.html
 == object-fit-scale-down-svg-003.xul object-fit-scale-down-svg-003-ref.html
 == object-fit-scale-down-svg-004.xul object-fit-scale-down-svg-004-ref.html
 == object-fit-scale-down-svg-005.xul object-fit-scale-down-svg-005-ref.html
 == object-fit-scale-down-svg-006.xul object-fit-scale-down-svg-006-ref.html
-== object-position-png-001.xul object-position-png-001-ref.html
-== object-position-png-002.xul object-position-png-002-ref.html
+fails-if(webrender) == object-position-png-001.xul object-position-png-001-ref.html
+fails-if(webrender) == object-position-png-002.xul object-position-png-002-ref.html
 
 == stack-sizing-1.xul stack-sizing-1-ref.xul
 == stack-sizing-2.xul stack-sizing-2-ref.xul
 
 # Tests for rendering SVG images in a XUL <treecell>:
 # XXXdholbert: These are marked as "random" right now, since they might not
 # render the images they trying to test in time for the reftest snapshot, per
 # bug 1218954.