Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
authorShing Lyu <slyu@mozilla.com>
Thu, 13 Apr 2017 15:44:41 +0800
changeset 569990 46fc8d45948300d9e635c684d01ac7a4444dd6c8
parent 569989 148e6b4cbd7ea77de3cde1668be5550e402b89cf
child 569991 3940a4760c84c4198a5b61407f62a36d78a2d8e8
push id56356
push userbmo:hsivonen@hsivonen.fi
push dateFri, 28 Apr 2017 08:00:57 +0000
reviewersbholley
bugs1351548
milestone55.0a1
Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley MozReview-Commit-ID: GOUGBsd05cn
dom/canvas/test/reftest/reftest.list
dom/html/reftests/autofocus/reftest.list
dom/html/reftests/reftest.list
dom/imptests/html/html/dom/elements/global-attributes/reftest.list
dom/plugins/test/reftest/reftest.list
dom/tests/reftest/reftest.list
dom/tests/reftest/xml-stylesheet/reftest.list
editor/reftests/reftest.list
gfx/layers/apz/test/reftest/reftest.list
gfx/tests/reftest/reftest.list
image/test/reftest/bmp/bmp-4bpp/reftest.list
image/test/reftest/bmp/bmpsuite/q/reftest.list
image/test/reftest/downscaling/reftest.list
image/test/reftest/gif/reftest.list
image/test/reftest/ico/ico-bmp-1bpp/reftest.list
image/test/reftest/ico/ico-bmp-24bpp/reftest.list
image/test/reftest/ico/ico-bmp-32bpp/reftest.list
image/test/reftest/ico/ico-bmp-4bpp/reftest.list
image/test/reftest/ico/ico-bmp-8bpp/reftest.list
image/test/reftest/ico/ico-mixed/reftest.list
image/test/reftest/ico/ico-png/reftest.list
layout/reftests/abs-pos/reftest.list
layout/reftests/async-scrolling/reftest.list
layout/reftests/backgrounds/gradient/reftest.list
layout/reftests/backgrounds/reftest.list
layout/reftests/backgrounds/vector/empty/reftest.list
layout/reftests/bidi/dirAuto/reftest.list
layout/reftests/bidi/reftest.list
layout/reftests/border-dotted/reftest.list
layout/reftests/border-image/reftest.list
layout/reftests/border-radius/reftest.list
layout/reftests/box-ordinal/reftest.list
layout/reftests/box-properties/reftest.list
layout/reftests/box-shadow/reftest.list
layout/reftests/box/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/counters/reftest.list
layout/reftests/css-animations/reftest.list
layout/reftests/css-break/reftest.list
layout/reftests/css-calc/reftest.list
layout/reftests/css-charset/reftest.list
layout/reftests/css-default/submit-button/reftest.list
layout/reftests/css-disabled/select/reftest.list
layout/reftests/css-disabled/textarea/reftest.list
layout/reftests/css-display/reftest.list
layout/reftests/css-enabled/textarea/reftest.list
layout/reftests/css-gradients/reftest.list
layout/reftests/css-grid/reftest.list
layout/reftests/css-import/reftest.list
layout/reftests/css-invalid/default-style/reftest.list
layout/reftests/css-invalid/fieldset/reftest.list
layout/reftests/css-invalid/form/reftest.list
layout/reftests/css-invalid/select/reftest.list
layout/reftests/css-invalid/textarea/reftest.list
layout/reftests/css-mediaqueries/reftest.list
layout/reftests/css-optional/reftest.list
layout/reftests/css-parsing/reftest.list
layout/reftests/css-placeholder/input/reftest.list
layout/reftests/css-placeholder/reftest.list
layout/reftests/css-placeholder/textarea/reftest.list
layout/reftests/css-required/reftest.list
layout/reftests/css-ruby/reftest.list
layout/reftests/css-selectors/reftest.list
layout/reftests/css-sizing/reftest.list
layout/reftests/css-submit-invalid/button-submit/reftest.list
layout/reftests/css-submit-invalid/default-style/reftest.list
layout/reftests/css-submit-invalid/input-image/reftest.list
layout/reftests/css-submit-invalid/input-submit/reftest.list
layout/reftests/css-transitions/reftest.list
layout/reftests/css-ui-invalid/default-style/reftest.list
layout/reftests/css-ui-invalid/input/reftest.list
layout/reftests/css-ui-invalid/select/reftest.list
layout/reftests/css-ui-invalid/textarea/reftest.list
layout/reftests/css-ui-valid/input/reftest.list
layout/reftests/css-ui-valid/select/reftest.list
layout/reftests/css-ui-valid/textarea/reftest.list
layout/reftests/css-valid/select/reftest.list
layout/reftests/css-valid/textarea/reftest.list
layout/reftests/css-valuesandunits/reftest.list
layout/reftests/details-summary/reftest.list
layout/reftests/dom/reftest.list
layout/reftests/first-letter/reftest.list
layout/reftests/first-line/reftest.list
layout/reftests/flexbox/reftest.list
layout/reftests/floats/reftest.list
layout/reftests/font-face/reftest.list
layout/reftests/font-features/reftest.list
layout/reftests/font-inflation/reftest.list
layout/reftests/font-loading-api/reftest.list
layout/reftests/font-matching/reftest.list
layout/reftests/forms/button/reftest.list
layout/reftests/forms/fieldset/reftest.list
layout/reftests/forms/input/color/reftest.list
layout/reftests/forms/input/datetime/reftest.list
layout/reftests/forms/input/email/reftest.list
layout/reftests/forms/input/file/reftest.list
layout/reftests/forms/input/number/reftest.list
layout/reftests/forms/input/range/reftest.list
layout/reftests/forms/input/search/reftest.list
layout/reftests/forms/input/tel/reftest.list
layout/reftests/forms/input/text/reftest.list
layout/reftests/forms/input/url/reftest.list
layout/reftests/forms/legend/reftest.list
layout/reftests/forms/meter/default-style/reftest.list
layout/reftests/forms/meter/reftest.list
layout/reftests/forms/output/reftest.list
layout/reftests/forms/placeholder/reftest.list
layout/reftests/forms/progress/reftest.list
layout/reftests/forms/reftest.list
layout/reftests/forms/select/reftest.list
layout/reftests/forms/textarea/reftest.list
layout/reftests/forms/textbox/reftest.list
layout/reftests/generated-content/reftest.list
layout/reftests/ib-split/reftest.list
layout/reftests/image-element/reftest.list
layout/reftests/image-rect/reftest.list
layout/reftests/image/reftest.list
layout/reftests/invalidation/reftest.list
layout/reftests/layers/reftest.list
layout/reftests/list-item/reftest.list
layout/reftests/margin-collapsing/reftest.list
layout/reftests/marquee/reftest.list
layout/reftests/mathml/reftest.list
layout/reftests/native-theme/reftest.list
layout/reftests/object/reftest.list
layout/reftests/ogg-video/reftest.list
layout/reftests/pagination/reftest.list
layout/reftests/percent-overflow-sizing/reftest.list
layout/reftests/pixel-rounding/reftest.list
layout/reftests/position-sticky/reftest.list
layout/reftests/printing/reftest.list
layout/reftests/reftest-sanity/reftest.list
layout/reftests/scoped-style/reftest.list
layout/reftests/scrolling/reftest.list
layout/reftests/selection/reftest.list
layout/reftests/svg/as-image/reftest.list
layout/reftests/svg/filters/reftest.list
layout/reftests/svg/moz-only/reftest.list
layout/reftests/svg/reftest.list
layout/reftests/svg/sizing/reftest.list
layout/reftests/svg/smil/container/reftest.list
layout/reftests/svg/smil/event/reftest.list
layout/reftests/svg/smil/reftest.list
layout/reftests/svg/smil/style/reftest.list
layout/reftests/svg/smil/syncbase/reftest.list
layout/reftests/svg/svg-integration/clip-path/reftest.list
layout/reftests/svg/svg-integration/reftest.list
layout/reftests/tab-size/reftest.list
layout/reftests/table-anonymous-boxes/reftest.list
layout/reftests/table-background/reftest.list
layout/reftests/table-html/reftest.list
layout/reftests/table-overflow/reftest.list
layout/reftests/table-width/reftest.list
layout/reftests/text-decoration/reftest.list
layout/reftests/text-overflow/reftest.list
layout/reftests/text-stroke/reftest.list
layout/reftests/text-transform/reftest.list
layout/reftests/text/reftest.list
layout/reftests/transform-3d/reftest.list
layout/reftests/transform/reftest.list
layout/reftests/unicode/reftest.list
layout/reftests/usercss/reftest.list
layout/reftests/view-source/reftest.list
layout/reftests/w3c-css/failures.list
layout/reftests/w3c-css/received/reftest.list
layout/reftests/w3c-css/submitted/align3/reftest.list
layout/reftests/w3c-css/submitted/background/reftest.list
layout/reftests/w3c-css/submitted/color4/reftest.list
layout/reftests/w3c-css/submitted/conditional3/reftest.list
layout/reftests/w3c-css/submitted/contain/reftest.list
layout/reftests/w3c-css/submitted/css21/pagination/reftest.list
layout/reftests/w3c-css/submitted/flexbox/reftest.list
layout/reftests/w3c-css/submitted/images3/reftest.list
layout/reftests/w3c-css/submitted/lists-3/reftest.list
layout/reftests/w3c-css/submitted/masking/reftest.list
layout/reftests/w3c-css/submitted/multicol3/reftest.list
layout/reftests/w3c-css/submitted/ruby/reftest.list
layout/reftests/w3c-css/submitted/selectors4/reftest.list
layout/reftests/w3c-css/submitted/shapes1/reftest.list
layout/reftests/w3c-css/submitted/text-decor-3/reftest.list
layout/reftests/w3c-css/submitted/text3/reftest.list
layout/reftests/w3c-css/submitted/values3/reftest.list
layout/reftests/w3c-css/submitted/will-change/reftest.list
layout/reftests/w3c-css/submitted/writing-modes-3/reftest.list
layout/reftests/web-animations/reftest.list
layout/reftests/webcomponents/reftest.list
layout/reftests/webkit-box/reftest.list
layout/reftests/webkit-gradient/reftest.list
layout/reftests/webm-video/reftest.list
layout/reftests/writing-mode/abspos/reftest.list
layout/reftests/writing-mode/reftest.list
layout/reftests/writing-mode/tables/reftest.list
layout/reftests/xul/reftest.list
layout/reftests/z-index/reftest.list
layout/xul/grid/reftests/reftest.list
parser/htmlparser/tests/reftest/reftest.list
python/mozbuild/mozbuild/test/frontend/data/files-test-metadata/default/tests/reftests/reftest.list
python/mozbuild/mozbuild/test/frontend/data/test-manifest-emitted-includes/reftest.list
python/mozbuild/mozbuild/test/frontend/data/test-manifest-keys-extracted/reftest.list
toolkit/content/tests/reftests/reftest.list
widget/reftests/reftest.list
--- a/dom/canvas/test/reftest/reftest.list
+++ b/dom/canvas/test/reftest/reftest.list
@@ -12,17 +12,17 @@ skip-if(Android)                        
 pref(webgl.force-layers-readback,true) skip-if(Android) == webgl-clear-test.html?readback wrapper.html?green.png
 
 # Make sure that our choice of attribs doesn't break rendering.
 skip-if(Android) == webgl-clear-test.html?depth wrapper.html?green.png
 skip-if(Android) == webgl-clear-test.html?stencil wrapper.html?green.png
 skip-if(Android) == webgl-clear-test.html?depth&stencil wrapper.html?green.png
 
 # Check that resize works:
-skip-if(Android) == webgl-resize-test.html  wrapper.html?green.png
+skip-if(Android) fails-if(stylo) == webgl-resize-test.html  wrapper.html?green.png
 
 # Check that captureStream() displays in a local video element
 skip-if(Android) == webgl-capturestream-test.html?preserve wrapper.html?green.png
 
 # Some of the failure conditions are a little crazy. I'm (jgilbert) setting these based on
 # failures encountered when running on Try, and then targetting the Try config by
 # differences in the `sandbox` contents. That is, I'm labeling based on symptoms rather
 # than cause.
--- a/dom/html/reftests/autofocus/reftest.list
+++ b/dom/html/reftests/autofocus/reftest.list
@@ -1,14 +1,14 @@
 default-preferences pref(dom.forms.number,true) pref(dom.forms.datetime,true)
-fuzzy-if(skiaContent,1,3) needs-focus == input-load.html input-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == input-create.html input-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == input-number.html input-number-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == input-time.html input-time-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == button-load.html button-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == button-create.html button-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == textarea-load.html textarea-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == textarea-create.html textarea-ref.html
-fuzzy-if(skiaContent,9,6) needs-focus == select-load.html select-ref.html
-fuzzy-if(skiaContent,2,4) needs-focus == select-create.html select-ref.html
-needs-focus == autofocus-after-load.html autofocus-after-load-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == autofocus-leaves-iframe.html autofocus-leaves-iframe-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == autofocus-after-body-focus.html autofocus-after-body-focus-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == input-load.html input-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == input-create.html input-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus skip-if(stylo) == input-number.html input-number-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == input-time.html input-time-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == button-load.html button-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == button-create.html button-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == textarea-load.html textarea-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == textarea-create.html textarea-ref.html
+fuzzy-if(skiaContent,9,6) needs-focus fails-if(stylo) == select-load.html select-ref.html
+fuzzy-if(skiaContent,2,4) needs-focus fails-if(stylo) == select-create.html select-ref.html
+needs-focus fails-if(stylo) == autofocus-after-load.html autofocus-after-load-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == autofocus-leaves-iframe.html autofocus-leaves-iframe-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == autofocus-after-body-focus.html autofocus-after-body-focus-ref.html
--- a/dom/html/reftests/reftest.list
+++ b/dom/html/reftests/reftest.list
@@ -1,34 +1,34 @@
 # autofocus attribute (we can't test with mochitests)
 include autofocus/reftest.list
 include toblob-todataurl/reftest.list
 
-== 41464-1a.html 41464-1-ref.html
-== 41464-1b.html 41464-1-ref.html
+fails-if(stylo) == 41464-1a.html 41464-1-ref.html
+fails-if(stylo) == 41464-1b.html 41464-1-ref.html
 == 52019-1.html 52019-1-ref.html
-== 82711-1.html 82711-1-ref.html
-== 82711-2.html 82711-2-ref.html
-!= 82711-1-ref.html 82711-2-ref.html
+fails-if(stylo) == 82711-1.html 82711-1-ref.html
+fails-if(stylo) == 82711-2.html 82711-2-ref.html
+fails-if(stylo) != 82711-1-ref.html 82711-2-ref.html
 != 468263-1a.html about:blank
 != 468263-1b.html about:blank
 != 468263-1c.html about:blank
 != 468263-1d.html about:blank
 == 468263-2.html 468263-2-ref.html
 == 468263-2.html 468263-2-alternate-ref.html
 == 484200-1.html 484200-1-ref.html
 == 485377.html 485377-ref.html
 == 557840.html 557840-ref.html
 == 560059-video-dimensions.html 560059-video-dimensions-ref.html
-== 573322-quirks.html 573322-quirks-ref.html
-== 573322-no-quirks.html 573322-no-quirks-ref.html
-== 596455-1a.html 596455-ref-1.html
-== 596455-1b.html 596455-ref-1.html
-== 596455-2a.html 596455-ref-2.html
-== 596455-2b.html 596455-ref-2.html
+fails-if(stylo) == 573322-quirks.html 573322-quirks-ref.html
+fails-if(stylo) == 573322-no-quirks.html 573322-no-quirks-ref.html
+fails-if(stylo) == 596455-1a.html 596455-ref-1.html
+fails-if(stylo) == 596455-1b.html 596455-ref-1.html
+fails-if(stylo) == 596455-2a.html 596455-ref-2.html
+fails-if(stylo) == 596455-2b.html 596455-ref-2.html
 == 610935.html 610935-ref.html
 == 649134-1.html 649134-ref.html
 skip-if(Android) == 649134-2.html 649134-2-ref.html
 == 741776-1.vtt 741776-1-ref.html
 
 == bug448564-1_malformed.html bug448564-1_well-formed.html
 == bug448564-1_malformed.html bug448564-1_ideal.html
 
--- a/dom/imptests/html/html/dom/elements/global-attributes/reftest.list
+++ b/dom/imptests/html/html/dom/elements/global-attributes/reftest.list
@@ -47,10 +47,10 @@
 == dir_auto-R.html dir_auto-R-ref.html
 == dir_auto-textarea-mixed.html dir_auto-textarea-mixed-ref.html
 fails-if(Android&&asyncPan) == dir_auto-textarea-N-between-Rs.html dir_auto-textarea-N-between-Rs-ref.html
 == dir_auto-textarea-N-EN.html dir_auto-textarea-N-EN-ref.html
 == dir_auto-textarea-script-mixed.html dir_auto-textarea-script-mixed-ref.html
 fails-if(Android&&asyncPan) == dir_auto-textarea-script-N-between-Rs.html dir_auto-textarea-script-N-between-Rs-ref.html
 == dir_auto-textarea-script-N-EN.html dir_auto-textarea-script-N-EN-ref.html
 == lang-xyzzy.html lang-xyzzy-ref.html
-== lang-xmllang-01.html lang-xmllang-01-ref.html
-== style-01.html style-01-ref.html
+fails-if(stylo) == lang-xmllang-01.html lang-xmllang-01-ref.html
+fails-if(stylo) == style-01.html style-01-ref.html
--- a/dom/plugins/test/reftest/reftest.list
+++ b/dom/plugins/test/reftest/reftest.list
@@ -1,11 +1,11 @@
 # basic sanity checking
-random-if(!haveTestPlugin) != plugin-sanity.html about:blank
-fails-if(!haveTestPlugin) == plugin-sanity.html div-sanity.html
+random-if(!haveTestPlugin) fails-if(stylo) != plugin-sanity.html about:blank
+fails-if(!haveTestPlugin) fails-if(stylo) == plugin-sanity.html div-sanity.html
 fails-if(!haveTestPlugin) fuzzy-if(skiaContent&&haveTestPlugin,1,160000) == plugin-alpha-zindex.html div-alpha-zindex.html
 fails-if(!haveTestPlugin) fuzzy-if(skiaContent&&haveTestPlugin,1,164000) == plugin-alpha-opacity.html div-alpha-opacity.html
 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(!haveTestPlugin) == windowless-clipping-1.html windowless-clipping-1-ref.html # bug 631832
 # fuzzy because of anti-aliasing in dashed border
 fuzzy(16,256) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(!haveTestPlugin) == border-padding-1.html border-padding-1-ref.html # bug 629430
 fuzzy(16,256) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(!haveTestPlugin) == border-padding-2.html border-padding-2-ref.html # bug 629430
 skip-if(!webrender) pref(layers.advanced.border-layers,1) fuzzy(16,256) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(!haveTestPlugin) == border-padding-2.html border-padding-2-ref.html
 fuzzy(16,256) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) skip-if(!haveTestPlugin||Android) == border-padding-3.html border-padding-3-ref.html # bug 629430 # bug 773482
--- a/dom/tests/reftest/reftest.list
+++ b/dom/tests/reftest/reftest.list
@@ -1,13 +1,13 @@
-== bug453105.html bug453105-ref.html
-== optiontext.html optiontext-ref.html
+fails-if(stylo) == bug453105.html bug453105-ref.html
+fails-if(stylo) == optiontext.html optiontext-ref.html
 == bug456008.xhtml bug456008-ref.html
 fuzzy-if(skiaContent,2,3) == bug439965.html bug439965-ref.html
 == bug427779.xml bug427779-ref.xml
-fuzzy-if(skiaContent,1,5) == bug559996.html bug559996-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == bug559996.html bug559996-ref.html
 == bug591981-1.html bug591981-ref.html
 == bug591981-2.html bug591981-ref.html
 == bug592366-1.html bug592366-ref.html
 == bug592366-2.html bug592366-ref.html
 == bug592366-1.xhtml bug592366-ref.xhtml
 == bug592366-2.xhtml bug592366-ref.xhtml
 == bug798068.xhtml bug798068-ref.xhtml
--- a/dom/tests/reftest/xml-stylesheet/reftest.list
+++ b/dom/tests/reftest/xml-stylesheet/reftest.list
@@ -1,12 +1,12 @@
 == css_relative_href.xml pass.svg
 HTTP == css_relative_href_also_external.xml pass.svg
 HTTP == css_relative_href_also_external_override.xml pass.svg
 == embedded_dtd_id.svg pass.svg
 != error_no_href.svg fail.svg
-fails == lreas_selflink_dtd_id.svg pass.svg
+fails-if(!stylo) == lreas_selflink_dtd_id.svg pass.svg
 == lreas_selflink_empty_href.svg pass.svg
 == lreas_selflink_relative_href.svg pass.svg
 == xslt_relative_href.svg pass.svg
 == xslt_selflink_dtd_id.xml pass.svg
 == xslt_selflink_empty_href.xml pass.svg
 == xslt_selflink_relative_href.xml pass.svg
--- a/editor/reftests/reftest.list
+++ b/editor/reftests/reftest.list
@@ -1,124 +1,124 @@
 # include the XUL reftests
 include xul/reftest.list
 
-!= newline-1.html newline-ref.html
-== newline-2.html newline-ref.html
-== newline-3.html newline-ref.html
-== newline-4.html newline-ref.html
-== dynamic-1.html dynamic-ref.html
-== dynamic-type-1.html dynamic-ref.html
-== dynamic-type-2.html dynamic-ref.html
-== dynamic-type-3.html dynamic-ref.html
-== dynamic-type-4.html dynamic-ref.html
-== passwd-1.html passwd-ref.html
-!= passwd-2.html passwd-ref.html
-== passwd-3.html passwd-ref.html
-needs-focus == passwd-4.html passwd-ref.html
-== emptypasswd-1.html emptypasswd-ref.html
-== emptypasswd-2.html emptypasswd-ref.html
+fails-if(stylo) != newline-1.html newline-ref.html
+fails-if(stylo) == newline-2.html newline-ref.html
+fails-if(stylo) == newline-3.html newline-ref.html
+fails-if(stylo) == newline-4.html newline-ref.html
+fails-if(stylo) == dynamic-1.html dynamic-ref.html
+fails-if(stylo) == dynamic-type-1.html dynamic-ref.html
+fails-if(stylo) == dynamic-type-2.html dynamic-ref.html
+fails-if(stylo) == dynamic-type-3.html dynamic-ref.html
+fails-if(stylo) == dynamic-type-4.html dynamic-ref.html
+fails-if(stylo) == passwd-1.html passwd-ref.html
+fails-if(stylo) != passwd-2.html passwd-ref.html
+fails-if(stylo) == passwd-3.html passwd-ref.html
+needs-focus fails-if(stylo) == passwd-4.html passwd-ref.html
+fails-if(stylo) == emptypasswd-1.html emptypasswd-ref.html
+fails-if(stylo) == emptypasswd-2.html emptypasswd-ref.html
 == caret_on_positioned.html caret_on_positioned-ref.html
-fails-if(Android) needs-focus != spellcheck-input-disabled.html spellcheck-input-ref.html
-== spellcheck-input-attr-before.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-before.html spellcheck-input-ref.html
-== spellcheck-input-attr-after.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-after.html spellcheck-input-ref.html
-== spellcheck-input-attr-inherit.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-inherit.html spellcheck-input-ref.html
-== spellcheck-input-attr-dynamic.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-dynamic.html spellcheck-input-ref.html
-== spellcheck-input-attr-dynamic-inherit.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-dynamic-inherit.html spellcheck-input-ref.html
-== spellcheck-input-property-dynamic.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-property-dynamic.html spellcheck-input-ref.html
-== spellcheck-input-property-dynamic-inherit.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-property-dynamic-inherit.html spellcheck-input-ref.html
-== spellcheck-input-attr-dynamic-override.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-dynamic-override.html spellcheck-input-ref.html
-== spellcheck-input-attr-dynamic-override-inherit.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-attr-dynamic-override-inherit.html spellcheck-input-ref.html
-== spellcheck-input-property-dynamic-override.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-property-dynamic-override.html spellcheck-input-ref.html
-== spellcheck-input-property-dynamic-override-inherit.html spellcheck-input-nofocus-ref.html
-fails-if(Android) needs-focus != spellcheck-input-property-dynamic-override-inherit.html spellcheck-input-ref.html
-== spellcheck-textarea-attr.html spellcheck-textarea-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-disabled.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-before.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-before.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-after.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-after.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-inherit.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-inherit.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-dynamic.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-dynamic.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-dynamic-inherit.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-dynamic-inherit.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-property-dynamic.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-property-dynamic.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-property-dynamic-inherit.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-property-dynamic-inherit.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-dynamic-override.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-dynamic-override.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-attr-dynamic-override-inherit.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-attr-dynamic-override-inherit.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-property-dynamic-override.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-property-dynamic-override.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-input-property-dynamic-override-inherit.html spellcheck-input-nofocus-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-input-property-dynamic-override-inherit.html spellcheck-input-ref.html
+fails-if(stylo) == spellcheck-textarea-attr.html spellcheck-textarea-nofocus-ref.html
 #the random-if(Android) tests pass on android native, but fail on android-xul, see bug 728942
-random-if(Android) needs-focus != spellcheck-textarea-attr.html spellcheck-textarea-ref.html
-needs-focus == spellcheck-textarea-focused.html spellcheck-textarea-ref.html
-needs-focus == spellcheck-textarea-focused-reframe.html spellcheck-textarea-ref.html
-needs-focus == spellcheck-textarea-focused-notreadonly.html spellcheck-textarea-ref2.html
-random-if(Android) needs-focus != spellcheck-textarea-nofocus.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-disabled.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-attr-inherit.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-attr-dynamic.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-attr-dynamic-inherit.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-property-dynamic.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-property-dynamic-inherit.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-attr-dynamic-override.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-attr-dynamic-override-inherit.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-property-dynamic-override.html spellcheck-textarea-ref.html
-random-if(Android) needs-focus != spellcheck-textarea-property-dynamic-override-inherit.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr.html spellcheck-textarea-ref.html
+needs-focus fails-if(stylo) == spellcheck-textarea-focused.html spellcheck-textarea-ref.html
+needs-focus fails-if(stylo) == spellcheck-textarea-focused-reframe.html spellcheck-textarea-ref.html
+needs-focus fails-if(stylo) == spellcheck-textarea-focused-notreadonly.html spellcheck-textarea-ref2.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-nofocus.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-disabled.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr-inherit.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr-dynamic.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr-dynamic-inherit.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-property-dynamic.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-property-dynamic-inherit.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr-dynamic-override.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-attr-dynamic-override-inherit.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-property-dynamic-override.html spellcheck-textarea-ref.html
+random-if(Android) needs-focus fails-if(stylo) != spellcheck-textarea-property-dynamic-override-inherit.html spellcheck-textarea-ref.html
 needs-focus == caret_on_focus.html caret_on_focus-ref.html
-needs-focus != caret_on_textarea_lastline.html caret_on_textarea_lastline-ref.html
-needs-focus == input-text-onfocus-reframe.html input-text-onfocus-reframe-ref.html
+needs-focus fails-if(stylo) != caret_on_textarea_lastline.html caret_on_textarea_lastline-ref.html
+needs-focus fails-if(stylo) == input-text-onfocus-reframe.html input-text-onfocus-reframe-ref.html
 needs-focus == input-text-notheme-onfocus-reframe.html input-text-notheme-onfocus-reframe-ref.html
-needs-focus == caret_after_reframe.html caret_after_reframe-ref.html
+needs-focus fails-if(stylo) == caret_after_reframe.html caret_after_reframe-ref.html
 == nobogusnode-1.html nobogusnode-ref.html
 == nobogusnode-2.html nobogusnode-ref.html
-== spellcheck-hyphen-valid.html spellcheck-hyphen-valid-ref.html
-fails-if(Android) needs-focus != spellcheck-hyphen-invalid.html spellcheck-hyphen-invalid-ref.html
-== spellcheck-slash-valid.html spellcheck-slash-valid-ref.html
-== spellcheck-period-valid.html spellcheck-period-valid-ref.html
-== spellcheck-space-valid.html spellcheck-space-valid-ref.html
-== spellcheck-comma-valid.html spellcheck-comma-valid-ref.html
-== spellcheck-hyphen-multiple-valid.html spellcheck-hyphen-multiple-valid-ref.html
-fails-if(Android) needs-focus != spellcheck-hyphen-multiple-invalid.html spellcheck-hyphen-multiple-invalid-ref.html
-== spellcheck-dotafterquote-valid.html spellcheck-dotafterquote-valid-ref.html
-== spellcheck-url-valid.html spellcheck-url-valid-ref.html
-needs-focus == spellcheck-non-latin-arabic.html spellcheck-non-latin-arabic-ref.html
-needs-focus == spellcheck-non-latin-chinese-simplified.html spellcheck-non-latin-chinese-simplified-ref.html
-needs-focus == spellcheck-non-latin-chinese-traditional.html spellcheck-non-latin-chinese-traditional-ref.html
-needs-focus == spellcheck-non-latin-hebrew.html spellcheck-non-latin-hebrew-ref.html
-needs-focus == spellcheck-non-latin-japanese.html spellcheck-non-latin-japanese-ref.html
-needs-focus == spellcheck-non-latin-korean.html spellcheck-non-latin-korean-ref.html
-== unneeded_scroll.html unneeded_scroll-ref.html
+fails-if(stylo) == spellcheck-hyphen-valid.html spellcheck-hyphen-valid-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-hyphen-invalid.html spellcheck-hyphen-invalid-ref.html
+fails-if(stylo) == spellcheck-slash-valid.html spellcheck-slash-valid-ref.html
+fails-if(stylo) == spellcheck-period-valid.html spellcheck-period-valid-ref.html
+fails-if(stylo) == spellcheck-space-valid.html spellcheck-space-valid-ref.html
+fails-if(stylo) == spellcheck-comma-valid.html spellcheck-comma-valid-ref.html
+fails-if(stylo) == spellcheck-hyphen-multiple-valid.html spellcheck-hyphen-multiple-valid-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-hyphen-multiple-invalid.html spellcheck-hyphen-multiple-invalid-ref.html
+fails-if(stylo) == spellcheck-dotafterquote-valid.html spellcheck-dotafterquote-valid-ref.html
+fails-if(stylo) == spellcheck-url-valid.html spellcheck-url-valid-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-arabic.html spellcheck-non-latin-arabic-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-chinese-simplified.html spellcheck-non-latin-chinese-simplified-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-chinese-traditional.html spellcheck-non-latin-chinese-traditional-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-hebrew.html spellcheck-non-latin-hebrew-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-japanese.html spellcheck-non-latin-japanese-ref.html
+needs-focus fails-if(stylo) == spellcheck-non-latin-korean.html spellcheck-non-latin-korean-ref.html
+fails-if(stylo) == unneeded_scroll.html unneeded_scroll-ref.html
 == caret_on_presshell_reinit.html caret_on_presshell_reinit-ref.html
-fuzzy-if(browserIsRemote,255,3) asserts-if(browserIsRemote,0-3) asserts-if(webrender&&!browserIsRemote,0-1) == caret_on_presshell_reinit-2.html caret_on_presshell_reinit-ref.html
-fuzzy-if(asyncPan&&!layersGPUAccelerated,102,2824) == 642800.html 642800-ref.html
-== selection_visibility_after_reframe.html selection_visibility_after_reframe-ref.html
-!= selection_visibility_after_reframe-2.html selection_visibility_after_reframe-ref.html
-!= selection_visibility_after_reframe-3.html selection_visibility_after_reframe-ref.html
+fuzzy-if(browserIsRemote,255,3) asserts-if(browserIsRemote,0-2) asserts-if(webrender&&!browserIsRemote,0-1) == caret_on_presshell_reinit-2.html caret_on_presshell_reinit-ref.html
+fuzzy-if(asyncPan&&!layersGPUAccelerated,102,2824) fails-if(stylo) == 642800.html 642800-ref.html
+fails-if(stylo) == selection_visibility_after_reframe.html selection_visibility_after_reframe-ref.html
+fails-if(stylo) != selection_visibility_after_reframe-2.html selection_visibility_after_reframe-ref.html
+fails-if(stylo) != selection_visibility_after_reframe-3.html selection_visibility_after_reframe-ref.html
 == 672709.html 672709-ref.html
-== 338427-1.html 338427-1-ref.html
+fails-if(stylo) == 338427-1.html 338427-1-ref.html
 skip-if(Android) needs-focus == 674212-spellcheck.html 674212-spellcheck-ref.html
 skip-if(Android) needs-focus == 338427-2.html 338427-2-ref.html
-skip-if(Android) needs-focus == 338427-3.html 338427-3-ref.html
+skip-if(Android) needs-focus fails-if(stylo) == 338427-3.html 338427-3-ref.html
 skip-if(Android) needs-focus == 462758-grabbers-resizers.html 462758-grabbers-resizers-ref.html
-== readwrite-non-editable.html readwrite-non-editable-ref.html
-== readwrite-editable.html readwrite-editable-ref.html
-== readonly-non-editable.html readonly-non-editable-ref.html
-== readonly-editable.html readonly-editable-ref.html
-== dynamic-overflow-change.html dynamic-overflow-change-ref.html
+fails-if(stylo) == readwrite-non-editable.html readwrite-non-editable-ref.html
+fails-if(stylo) == readwrite-editable.html readwrite-editable-ref.html
+fails-if(stylo) == readonly-non-editable.html readonly-non-editable-ref.html
+fails-if(stylo) == readonly-editable.html readonly-editable-ref.html
+fails-if(stylo) == dynamic-overflow-change.html dynamic-overflow-change-ref.html
 == 694880-1.html 694880-ref.html
 == 694880-2.html 694880-ref.html
 == 694880-3.html 694880-ref.html
 == 388980-1.html 388980-1-ref.html
-needs-focus == spellcheck-superscript-1.html spellcheck-superscript-1-ref.html
-fails-if(Android) needs-focus != spellcheck-superscript-2.html spellcheck-superscript-2-ref.html # bug 783658
+needs-focus fails-if(stylo) == spellcheck-superscript-1.html spellcheck-superscript-1-ref.html
+fails-if(Android) needs-focus fails-if(stylo) != spellcheck-superscript-2.html spellcheck-superscript-2-ref.html # bug 783658
 fuzzy-if(skiaContent,1,3400) needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-1.html 824080-1-ref.html
 fuzzy-if(OSX,1,1) needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-2.html 824080-2-ref.html #Bug 1313253
 fuzzy-if(OSX,1,1) needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-3.html 824080-3-ref.html #Bug 1312951
 needs-focus != 824080-2.html 824080-3.html
 fuzzy-if(skiaContent,1,3200) needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-4.html 824080-4-ref.html
 fuzzy-if(skiaContent,2,1800) needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-5.html 824080-5-ref.html
 needs-focus != 824080-4.html 824080-5.html
-needs-focus == 824080-6.html 824080-6-ref.html
-needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) == 824080-7.html 824080-7-ref.html
-needs-focus != 824080-6.html 824080-7.html
+needs-focus fails-if(stylo) == 824080-6.html 824080-6-ref.html
+needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessiblecaret.enabled_on_touch,false) fails-if(stylo) == 824080-7.html 824080-7-ref.html
+needs-focus fails-if(stylo) != 824080-6.html 824080-7.html
 # Bug 674927: copy spellcheck-textarea tests to contenteditable
 == spellcheck-contenteditable-attr.html spellcheck-contenteditable-nofocus-ref.html
 fails-if(Android) needs-focus != spellcheck-contenteditable-attr.html spellcheck-contenteditable-ref.html
 needs-focus == spellcheck-contenteditable-focused.html spellcheck-contenteditable-ref.html
 needs-focus == spellcheck-contenteditable-focused-reframe.html spellcheck-contenteditable-ref.html
 == spellcheck-contenteditable-nofocus.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-disabled.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-disabled-partial.html spellcheck-contenteditable-disabled-partial-ref.html
@@ -128,10 +128,10 @@ needs-focus == spellcheck-contenteditabl
 == spellcheck-contenteditable-property-dynamic.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-property-dynamic-inherit.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-attr-dynamic-override.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-attr-dynamic-override-inherit.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-property-dynamic-override.html spellcheck-contenteditable-disabled-ref.html
 == spellcheck-contenteditable-property-dynamic-override-inherit.html spellcheck-contenteditable-disabled-ref.html
 == 911201.html 911201-ref.html
 needs-focus == 969773.html 969773-ref.html
-fuzzy-if(skiaContent,1,220) == 997805.html 997805-ref.html
-fuzzy-if(skiaContent,1,220) == 1088158.html 1088158-ref.html
+fuzzy-if(skiaContent,1,220) fails-if(stylo) == 997805.html 997805-ref.html
+fuzzy-if(skiaContent,1,220) fails-if(stylo) == 1088158.html 1088158-ref.html
--- a/gfx/layers/apz/test/reftest/reftest.list
+++ b/gfx/layers/apz/test/reftest/reftest.list
@@ -1,19 +1,19 @@
 # The following tests test the async positioning of the scrollbars.
 # Basic root-frame scrollbar with async scrolling
 fuzzy-if(Android,1,2) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-v.html async-scrollbar-1-v-ref.html
 fuzzy-if(Android,4,5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-h.html async-scrollbar-1-h-ref.html
 fuzzy-if(Android,3,5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-vh.html async-scrollbar-1-vh-ref.html
-fuzzy-if(Android,1,2) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-v-rtl.html async-scrollbar-1-v-rtl-ref.html
-fuzzy-if(Android,4,5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-h-rtl.html async-scrollbar-1-h-rtl-ref.html
-fuzzy-if(Android,3,7) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-vh-rtl.html async-scrollbar-1-vh-rtl-ref.html
+fuzzy-if(Android,1,2) skip-if(!Android) pref(apz.allow_zooming,true) fails-if(stylo) == async-scrollbar-1-v-rtl.html async-scrollbar-1-v-rtl-ref.html
+fuzzy-if(Android,4,5) skip-if(!Android) pref(apz.allow_zooming,true) fails-if(stylo) == async-scrollbar-1-h-rtl.html async-scrollbar-1-h-rtl-ref.html
+fuzzy-if(Android,3,7) skip-if(!Android) pref(apz.allow_zooming,true) fails-if(stylo) == async-scrollbar-1-vh-rtl.html async-scrollbar-1-vh-rtl-ref.html
 
 # Different async zoom levels. Since the scrollthumb gets async-scaled in the
 # compositor, the border-radius ends of the scrollthumb are going to be a little
 # off, hence the fuzzy-if clauses.
-fuzzy-if(Android,54,18) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-zoom-1.html async-scrollbar-zoom-1-ref.html
-fuzzy-if(Android,45,21) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-zoom-2.html async-scrollbar-zoom-2-ref.html
+fuzzy-if(Android,54,18) skip-if(!Android) pref(apz.allow_zooming,true) fails-if(stylo) == async-scrollbar-zoom-1.html async-scrollbar-zoom-1-ref.html
+fuzzy-if(Android,45,21) skip-if(!Android) pref(apz.allow_zooming,true) fails-if(stylo) == async-scrollbar-zoom-2.html async-scrollbar-zoom-2-ref.html
 
 # Meta-viewport tag support
 skip-if(!Android) pref(apz.allow_zooming,true) == initial-scale-1.html initial-scale-1-ref.html
 
 skip-if(!asyncPan) == frame-reconstruction-scroll-clamping.html frame-reconstruction-scroll-clamping-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) == 611498-1.html 611498-ref.html
-fuzzy-if(Android,8,1000) == 709477-1.html 709477-1-ref.html
+fuzzy(175,443) skip-if(stylo) == 611498-1.html 611498-ref.html
+fuzzy-if(Android,8,1000) fails-if(stylo) == 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
 fuzzy(100,30) == 1149923.html 1149923-ref.html # use fuzzy due to few distorted pixels caused by border-radius
 == 1131264-1.svg pass.svg
--- a/image/test/reftest/bmp/bmp-4bpp/reftest.list
+++ b/image/test/reftest/bmp/bmp-4bpp/reftest.list
@@ -16,9 +16,9 @@
 == bmp-size-31x31-4bpp.bmp bmp-size-31x31-4bpp.png
 == bmp-size-32x32-4bpp.bmp bmp-size-32x32-4bpp.png
 == bmp-size-33x33-4bpp.bmp bmp-size-33x33-4bpp.png
 == bmp-not-square-4bpp.bmp bmp-not-square-4bpp.png
 == os2bmp-size-32x32-4bpp.bmp bmp-size-32x32-4bpp.png
 == top-to-bottom-16x16-4bpp.bmp  bmp-size-16x16-4bpp.png
 # test that delta skips are drawn as transparent
 # taken from http://bmptestsuite.sourceforge.net/
-== rle4-delta-320x240.bmp rle4-delta-320x240.png
+fails-if(stylo) == rle4-delta-320x240.bmp rle4-delta-320x240.png
--- a/image/test/reftest/bmp/bmpsuite/q/reftest.list
+++ b/image/test/reftest/bmp/bmpsuite/q/reftest.list
@@ -16,22 +16,22 @@
 == wrapper.html?pal2.bmp about:blank
 
 # BMP: bihsize=40, 127 x 64, bpp=4, compression=2, colors=13
 # "An RLE-compressed image that used 'delta' codes to skip over some pixels,
 # leaving them undefined. Some viewers make undefined pixels transparent,
 # others make them black, and others assign them palette color 0 (purple, in
 # this case)."
 # [We make the undefined pixels transparent. So does Chromium.]
-== pal4rletrns.bmp pal4rletrns.png
+fails-if(stylo) == pal4rletrns.bmp pal4rletrns.png
 
 # BMP: bihsize=40, 127 x 64, bpp=8, compression=1, colors=253
 # "8-bit version of q/pal4rletrns.bmp."
 # [Ditto.]
-== pal8rletrns.bmp pal8rletrns.png
+fails-if(stylo) == pal8rletrns.bmp pal8rletrns.png
 
 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252
 # "A file with some unused bytes between the palette and the image. This is
 # probably valid, but I’m not 100% sure."
 # [We accept it. So does Chromium.]
 fuzzy(1,899) == pal8offs.bmp pal8.png
 
 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=300
@@ -66,17 +66,17 @@ fuzzy(1,899) == pal8os2v2-16.bmp pal8.pn
 # (possibly including one round of bit replication), instead of proper
 # scaling."
 == rgb16-231.bmp rgb16-231.png
 
 # BMP: bihsize=124, 127 x 64, bpp=16, compression=3, colors=0
 # "A 16-bit image with an alpha channel. There are 4 bits for each color
 # channel, and 4 bits for the alpha channel. It’s not clear if this is valid,
 # but I can’t find anything that suggests it isn’t."
-== rgba16-4444.bmp rgba16-4444.png
+fails-if(stylo) == rgba16-4444.bmp rgba16-4444.png
 
 # BMP: bihsize=40, 127 x 64, bpp=24, compression=0, colors=300
 # "A 24-bit image, with a palette containing 300 colors. The fact that the
 # palette has more than 256 colors may cause some viewers to complain, but the
 # documentation does not mention a size limit."
 # [We accept it. So does Chromium.]
 == rgb24largepal.bmp rgb24.png
 
@@ -114,17 +114,17 @@ fuzzy(1,899) == pal8os2v2-16.bmp pal8.pn
 # 10 for blue. As far as I know, this is perfectly valid, but it is unusual."
 fuzzy(1,1408) == rgb32-111110.bmp rgb24.png
 
 # BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0
 # "A BMP with an alpha channel. Transparency is barely documented, so it’s
 # possible that this file is not correctly formed. The color channels are in an
 # unusual order, to prevent viewers from passing this test by making a lucky
 # guess."
-== rgba32.bmp rgba32.png
+fails-if(stylo) == rgba32.bmp rgba32.png
 
 # BMP: bihsize=40, 127 x 64, bpp=32, compression=6, colors=0
 # "An image of type BI_ALPHABITFIELDS. Supposedly, this was used on Windows CE.
 # I don’t know whether it is constructed correctly."
 # [We reject it. So does Chromium.]
 == wrapper.html?rgba32abf.bmp about:blank
 
 
--- a/image/test/reftest/downscaling/reftest.list
+++ b/image/test/reftest/downscaling/reftest.list
@@ -189,19 +189,19 @@ fuzzy(18,128) == downscale-32px.html?.gi
 fuzzy(19,992) == downscale-32px.html?.jpg downscale-32px-ref.html
 fuzzy(18,128) == downscale-32px.html?.png downscale-32px-ref.html
 == downscale-32px.html?.svg downscale-32px-ref.html
 fuzzy(18,128) == downscale-32px.html?-bmp-in.ico downscale-32px-ref.html
 fuzzy(18,128) == downscale-32px.html?-png-in.ico downscale-32px-ref.html
 
 # Test images taller or wider than 32767 pixels.
 == huge-1.html?100x32768.png,100,100 huge-1.html?100x100.png,100,100
-== huge-1.html?100x32768.png,100,32768 huge-1.html?100x100.png,100,32768
+fails-if(stylo) == huge-1.html?100x32768.png,100,32768 huge-1.html?100x100.png,100,32768
 == huge-1.html?32768x100.png,100,100 huge-1.html?100x100.png,100,100
-== huge-1.html?32768x100.png,32768,100 huge-1.html?100x100.png,32768,100
+fails-if(stylo) == huge-1.html?32768x100.png,32768,100 huge-1.html?100x100.png,32768,100
 == huge-1.html?100x32768.gif,100,100 huge-1.html?100x100.gif,100,100
-== huge-1.html?100x32768.gif,100,32768 huge-1.html?100x100.gif,100,32768
+fails-if(stylo) == huge-1.html?100x32768.gif,100,32768 huge-1.html?100x100.gif,100,32768
 == huge-1.html?32768x100.gif,100,100 huge-1.html?100x100.gif,100,100
-== huge-1.html?32768x100.gif,32768,100 huge-1.html?100x100.gif,32768,100
+fails-if(stylo) == huge-1.html?32768x100.gif,32768,100 huge-1.html?100x100.gif,32768,100
 == huge-1.html?100x32768.jpg,100,100 huge-1.html?100x100.jpg,100,100
-== huge-1.html?100x32768.jpg,100,32768 huge-1.html?100x100.jpg,100,32768
+fails-if(stylo) == huge-1.html?100x32768.jpg,100,32768 huge-1.html?100x100.jpg,100,32768
 == huge-1.html?32768x100.jpg,100,100 huge-1.html?100x100.jpg,100,100
-== huge-1.html?32768x100.jpg,32768,100 huge-1.html?100x100.jpg,32768,100
+fails-if(stylo) == huge-1.html?32768x100.jpg,32768,100 huge-1.html?100x100.jpg,32768,100
--- a/image/test/reftest/gif/reftest.list
+++ b/image/test/reftest/gif/reftest.list
@@ -1,29 +1,29 @@
 # GIF tests
 
 # tests for bug 519589
-== 1bit-255-trans.gif 1bit-255-trans.png
-== in-colormap-trans.gif in-colormap-trans.png
-== out-of-colormap-trans.gif out-of-colormap-trans.png
+fails-if(stylo) == 1bit-255-trans.gif 1bit-255-trans.png
+fails-if(stylo) == in-colormap-trans.gif in-colormap-trans.png
+fails-if(stylo) == out-of-colormap-trans.gif out-of-colormap-trans.png
 
 # a GIF file that uses the comment extension
 == comment.gif comment.png
 
 # a GIF file with a background smaller than the size of the canvas
-== small-background-size.gif small-background-size-ref.gif
-== small-background-size-2.gif small-background-size-2-ref.gif
+fails-if(stylo) == small-background-size.gif small-background-size-ref.gif
+fails-if(stylo) == small-background-size-2.gif small-background-size-2-ref.gif
 
 # a transparent gif that disposes previous frames with clear; we must properly
 # clear each frame to pass.
 random == delaytest.html?transparent-animation.gif transparent-animation-finalframe.gif # incorrect timing dependence (bug 558678)
 
 # test for bug 641198
 skip == test_bug641198.html animation2a-finalframe.gif  # Disabled; see bug 1120144.
 
 # Bug 1062886: a gif with a single color and an offset
-== one-color-offset.gif one-color-offset-ref.gif
+fails-if(stylo) == one-color-offset.gif one-color-offset-ref.gif
 
 # Bug 1068230
 == tile-transform.html tile-transform-ref.html
 
 # Bug 1234077
 == truncated-framerect.html truncated-framerect-ref.html
--- a/image/test/reftest/ico/ico-bmp-1bpp/reftest.list
+++ b/image/test/reftest/ico/ico-bmp-1bpp/reftest.list
@@ -12,12 +12,12 @@
 == ico-size-9x9-1bpp.ico   ico-size-9x9-1bpp.png
 == ico-size-15x15-1bpp.ico ico-size-15x15-1bpp.png
 == ico-size-16x16-1bpp.ico ico-size-16x16-1bpp.png
 == ico-size-17x17-1bpp.ico ico-size-17x17-1bpp.png
 == ico-size-31x31-1bpp.ico ico-size-31x31-1bpp.png
 == ico-size-32x32-1bpp.ico ico-size-32x32-1bpp.png
 == ico-size-33x33-1bpp.ico ico-size-33x33-1bpp.png
 == ico-size-256x256-1bpp.ico ico-size-256x256-1bpp.png
-== ico-partial-transparent-1bpp.ico ico-partial-transparent-1bpp.png
-== ico-transparent-1bpp.ico ico-transparent-1bpp.png
-== ico-not-square-transparent-1bpp.ico ico-not-square-transparent-1bpp.png
+fails-if(stylo) == ico-partial-transparent-1bpp.ico ico-partial-transparent-1bpp.png
+fails-if(stylo) == ico-transparent-1bpp.ico ico-transparent-1bpp.png
+fails-if(stylo) == ico-not-square-transparent-1bpp.ico ico-not-square-transparent-1bpp.png
 
--- a/image/test/reftest/ico/ico-bmp-24bpp/reftest.list
+++ b/image/test/reftest/ico/ico-bmp-24bpp/reftest.list
@@ -12,12 +12,12 @@
 == ico-size-9x9-24bpp.ico   ico-size-9x9-24bpp.png
 == ico-size-15x15-24bpp.ico ico-size-15x15-24bpp.png
 == ico-size-16x16-24bpp.ico ico-size-16x16-24bpp.png
 == ico-size-17x17-24bpp.ico ico-size-17x17-24bpp.png
 == ico-size-31x31-24bpp.ico ico-size-31x31-24bpp.png
 == ico-size-32x32-24bpp.ico ico-size-32x32-24bpp.png
 == ico-size-33x33-24bpp.ico ico-size-33x33-24bpp.png
 == ico-size-256x256-24bpp.ico ico-size-256x256-24bpp.png
-== ico-partial-transparent-24bpp.ico ico-partial-transparent-24bpp.png
-== ico-transparent-24bpp.ico ico-transparent-24bpp.png
-== ico-not-square-transparent-24bpp.ico ico-not-square-transparent-24bpp.png
+fails-if(stylo) == ico-partial-transparent-24bpp.ico ico-partial-transparent-24bpp.png
+fails-if(stylo) == ico-transparent-24bpp.ico ico-transparent-24bpp.png
+fails-if(stylo) == ico-not-square-transparent-24bpp.ico ico-not-square-transparent-24bpp.png
 
--- a/image/test/reftest/ico/ico-bmp-32bpp/reftest.list
+++ b/image/test/reftest/ico/ico-bmp-32bpp/reftest.list
@@ -12,11 +12,11 @@
 == ico-size-9x9-32bpp.ico   ico-size-9x9-32bpp.png
 == ico-size-15x15-32bpp.ico ico-size-15x15-32bpp.png
 == ico-size-16x16-32bpp.ico ico-size-16x16-32bpp.png
 == ico-size-17x17-32bpp.ico ico-size-17x17-32bpp.png
 == ico-size-31x31-32bpp.ico ico-size-31x31-32bpp.png
 == ico-size-32x32-32bpp.ico ico-size-32x32-32bpp.png
 == ico-size-33x33-32bpp.ico ico-size-33x33-32bpp.png
 == ico-size-256x256-32bpp.ico ico-size-256x256-32bpp.png
-== ico-partial-transparent-32bpp.ico ico-partial-transparent-32bpp.png
-== ico-transparent-32bpp.ico ico-transparent-32bpp.png
-== ico-not-square-transparent-32bpp.ico ico-not-square-transparent-32bpp.png
+fails-if(stylo) == ico-partial-transparent-32bpp.ico ico-partial-transparent-32bpp.png
+fails-if(stylo) == ico-transparent-32bpp.ico ico-transparent-32bpp.png
+fails-if(stylo) == ico-not-square-transparent-32bpp.ico ico-not-square-transparent-32bpp.png
--- a/image/test/reftest/ico/ico-bmp-4bpp/reftest.list
+++ b/image/test/reftest/ico/ico-bmp-4bpp/reftest.list
@@ -12,12 +12,12 @@
 == ico-size-9x9-4bpp.ico   ico-size-9x9-4bpp.png
 == ico-size-15x15-4bpp.ico ico-size-15x15-4bpp.png
 == ico-size-16x16-4bpp.ico ico-size-16x16-4bpp.png
 == ico-size-17x17-4bpp.ico ico-size-17x17-4bpp.png
 == ico-size-31x31-4bpp.ico ico-size-31x31-4bpp.png
 == ico-size-32x32-4bpp.ico ico-size-32x32-4bpp.png
 == ico-size-33x33-4bpp.ico ico-size-33x33-4bpp.png
 == ico-size-256x256-4bpp.ico ico-size-256x256-4bpp.png
-== ico-partial-transparent-4bpp.ico ico-partial-transparent-4bpp.png
-== ico-transparent-4bpp.ico ico-transparent-4bpp.png
-== ico-not-square-transparent-4bpp.ico ico-not-square-transparent-4bpp.png
+fails-if(stylo) == ico-partial-transparent-4bpp.ico ico-partial-transparent-4bpp.png
+fails-if(stylo) == ico-transparent-4bpp.ico ico-transparent-4bpp.png
+fails-if(stylo) == ico-not-square-transparent-4bpp.ico ico-not-square-transparent-4bpp.png
 
--- a/image/test/reftest/ico/ico-bmp-8bpp/reftest.list
+++ b/image/test/reftest/ico/ico-bmp-8bpp/reftest.list
@@ -12,12 +12,12 @@
 == ico-size-9x9-8bpp.ico   ico-size-9x9-8bpp.png
 == ico-size-15x15-8bpp.ico ico-size-15x15-8bpp.png
 == ico-size-16x16-8bpp.ico ico-size-16x16-8bpp.png
 == ico-size-17x17-8bpp.ico ico-size-17x17-8bpp.png
 == ico-size-31x31-8bpp.ico ico-size-31x31-8bpp.png
 == ico-size-32x32-8bpp.ico ico-size-32x32-8bpp.png
 == ico-size-33x33-8bpp.ico ico-size-33x33-8bpp.png
 == ico-size-256x256-8bpp.ico ico-size-256x256-8bpp.png
-== ico-partial-transparent-8bpp.ico ico-partial-transparent-8bpp.png
-== ico-transparent-8bpp.ico ico-transparent-8bpp.png
-== ico-not-square-transparent-8bpp.ico ico-not-square-transparent-8bpp.png
+fails-if(stylo) == ico-partial-transparent-8bpp.ico ico-partial-transparent-8bpp.png
+fails-if(stylo) == ico-transparent-8bpp.ico ico-transparent-8bpp.png
+fails-if(stylo) == ico-not-square-transparent-8bpp.ico ico-not-square-transparent-8bpp.png
 
--- a/image/test/reftest/ico/ico-mixed/reftest.list
+++ b/image/test/reftest/ico/ico-mixed/reftest.list
@@ -1,3 +1,3 @@
 # ICO BMP and PNG mixed tests
 
-== mixed-bmp-png.ico mixed-bmp-png48.png
+fails-if(stylo) == mixed-bmp-png.ico mixed-bmp-png48.png
--- a/image/test/reftest/ico/ico-png/reftest.list
+++ b/image/test/reftest/ico/ico-png/reftest.list
@@ -20,10 +20,10 @@
 
 # Corrupted files so no image should be loaded
 # x00n0g01 - empty 0x0 grayscale file
 == wrapper.html?x00n0g01.ico about:blank
 # xcrn0g04 - added cr bytes
 == wrapper.html?xcrn0g04.ico about:blank
 
 # Test ICO PNG transparency
-== transparent-png.ico transparent-png.png
+fails-if(stylo) == transparent-png.ico transparent-png.png
 
--- a/layout/reftests/abs-pos/reftest.list
+++ b/layout/reftests/abs-pos/reftest.list
@@ -43,20 +43,20 @@ fuzzy-if(/^Windows\x20NT\x206\.1/.test(h
 == table-footer-group-2.html table-internal-2-ref.html
 == table-footer-group-3.html table-internal-3-ref.html
 == table-footer-group-4.html table-internal-4-ref.html
 == table-footer-group-5.html table-internal-5-ref.html
 == table-footer-group-6.html table-internal-6-ref.html
 == table-footer-group-7.html table-internal-7-ref.html
 == continuation-positioned-inline-1.html continuation-positioned-inline-ref.html
 == continuation-positioned-inline-2.html continuation-positioned-inline-ref.html
-== scrollframe-1.html scrollframe-1-ref.html
-fuzzy-if(gtkWidget,1,1) fuzzy-if(Android,9,185) fuzzy-if(asyncPan&&!layersGPUAccelerated,140,144) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
-fuzzy-if(gtkWidget,1,8) == select-1.html select-1-ref.html
-fuzzy-if(gtkWidget,1,8) == select-1-dynamic.html select-1-ref.html
-== select-2.html select-2-ref.html
-fuzzy-if(gtkWidget,1,19) fuzzy-if(Android,17,726) fuzzy-if(asyncPan&&!layersGPUAccelerated,110,114) fuzzy-if(browserIsRemote&&winWidget,110,114) == select-3.html select-3-ref.html
+fails-if(stylo) == scrollframe-1.html scrollframe-1-ref.html
+fuzzy-if(gtkWidget,1,1) fuzzy-if(Android,9,185) fuzzy-if(asyncPan&&!layersGPUAccelerated,140,144) fails-if(stylo) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
+fuzzy-if(gtkWidget,1,8) fails-if(stylo) == select-1.html select-1-ref.html
+fuzzy-if(gtkWidget,1,8) fails-if(stylo) == select-1-dynamic.html select-1-ref.html
+fails-if(stylo) == select-2.html select-2-ref.html
+fuzzy-if(gtkWidget,1,19) fuzzy-if(Android,17,726) fuzzy-if(asyncPan&&!layersGPUAccelerated,110,114) fuzzy-if(browserIsRemote&&winWidget,110,114) fails-if(webrender) fails-if(stylo) == select-3.html select-3-ref.html
 == multi-column-1.html multi-column-1-ref.html
 == button-1.html button-1-ref.html
 == button-2.html button-2-ref.html
 == relative-row-animation-1.html relative-row-animation-1-ref.html
 fuzzy-if(Android,12,50) == fixed-pos-auto-offset-1a.html fixed-pos-auto-offset-1-ref.html
 fuzzy-if(Android,12,50) == fixed-pos-auto-offset-1b.html fixed-pos-auto-offset-1-ref.html
--- a/layout/reftests/async-scrolling/reftest.list
+++ b/layout/reftests/async-scrolling/reftest.list
@@ -16,51 +16,51 @@ pref(layers.force-active,true) skip-if(!
 skip-if(!asyncPan) == nested-1.html nested-1-ref.html
 skip-if(!asyncPan) == nested-2.html nested-2-ref.html
 skip-if(!asyncPan) == position-fixed-1.html position-fixed-1-ref.html
 skip-if(!asyncPan) == position-fixed-2.html position-fixed-2-ref.html
 skip-if(!asyncPan) == position-fixed-body.html position-fixed-body-ref.html
 skip-if(!asyncPan) == position-fixed-cover-1.html position-fixed-cover-1-ref.html
 skip-if(!asyncPan) == position-fixed-cover-2.html position-fixed-cover-2-ref.html
 skip-if(!asyncPan) == position-fixed-cover-3.html position-fixed-cover-3-ref.html
-fuzzy-if(Android,5,4) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html
+fuzzy-if(Android,5,4) skip-if(!asyncPan) fails-if(stylo) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html
 skip-if(!asyncPan) == split-layers-1.html split-layers-1-ref.html
 skip-if(!asyncPan) == split-layers-multi-scrolling-1.html split-layers-multi-scrolling-1-ref.html
 fuzzy-if(skiaContent,2,240000) fuzzy-if(browserIsRemote&&!skiaContent&&(cocoaWidget||winWidget),1,240000) skip-if(!asyncPan) == split-opacity-layers-1.html split-opacity-layers-1-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-1.html sticky-pos-scrollable-1-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-2.html sticky-pos-scrollable-2-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-3.html sticky-pos-scrollable-3-ref.html
-skip-if(!asyncPan) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
+skip-if(!asyncPan) fails-if(stylo) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
 skip-if(!asyncPan) == culling-1.html culling-1-ref.html
 skip-if(!asyncPan) == position-fixed-iframe-1.html position-fixed-iframe-1-ref.html
 skip-if(!asyncPan) == position-fixed-iframe-2.html position-fixed-iframe-2-ref.html
-fuzzy-if(skiaContent,1,11300) skip-if(!asyncPan) == position-fixed-in-scroll-container.html position-fixed-in-scroll-container-ref.html
+fuzzy-if(skiaContent,1,11300) skip-if(!asyncPan) fails-if(stylo) == position-fixed-in-scroll-container.html position-fixed-in-scroll-container-ref.html
 skip-if(!asyncPan) == position-fixed-inside-sticky-1.html position-fixed-inside-sticky-1-ref.html
 skip-if(!asyncPan) == position-fixed-inside-sticky-2.html position-fixed-inside-sticky-2-ref.html
 fuzzy(1,60000) skip-if(!asyncPan) == group-opacity-surface-size-1.html group-opacity-surface-size-1-ref.html
 skip-if(!asyncPan) == position-sticky-transformed.html position-sticky-transformed-ref.html
 skip-if(!asyncPan) == offscreen-prerendered-active-opacity.html offscreen-prerendered-active-opacity-ref.html
-fuzzy-if(Android,6,4) fuzzy-if(skiaContent&&!Android,1,34) skip-if(!asyncPan) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html
-fuzzy-if(Android,6,4) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html
+fuzzy-if(Android,6,4) fuzzy-if(skiaContent&&!Android,1,34) skip-if(!asyncPan) fails-if(stylo) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html
+fuzzy-if(Android,6,4) skip-if(!asyncPan) fails-if(stylo) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html
 fuzzy-if(Android,6,4) skip == offscreen-clipped-blendmode-3.html offscreen-clipped-blendmode-ref.html # bug 1251588 - wrong AGR on mix-blend-mode item
-fuzzy-if(Android,6,4) skip-if(!asyncPan) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html
-fuzzy-if(Android,7,4) skip-if(!asyncPan) == perspective-scrolling-1.html perspective-scrolling-1-ref.html
-fuzzy-if(Android,7,4) skip-if(!asyncPan) == perspective-scrolling-2.html perspective-scrolling-2-ref.html
-fuzzy-if(Android,7,4) skip-if(!asyncPan) == perspective-scrolling-3.html perspective-scrolling-3-ref.html
-fuzzy-if(Android,7,4) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html
-pref(apz.disable_for_scroll_linked_effects,true) skip-if(!asyncPan) == disable-apz-for-sle-pages.html disable-apz-for-sle-pages-ref.html
+fuzzy-if(Android,6,4) skip-if(!asyncPan) fails-if(stylo) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html
+fuzzy-if(Android,7,4) skip-if(!asyncPan) fails-if(stylo) == perspective-scrolling-1.html perspective-scrolling-1-ref.html
+fuzzy-if(Android,7,4) skip-if(!asyncPan) fails-if(stylo) == perspective-scrolling-2.html perspective-scrolling-2-ref.html
+fuzzy-if(Android,7,4) skip-if(!asyncPan) fails-if(stylo) == perspective-scrolling-3.html perspective-scrolling-3-ref.html
+fuzzy-if(Android,7,4) skip-if(!asyncPan) fails-if(stylo) == perspective-scrolling-4.html perspective-scrolling-4-ref.html
+pref(apz.disable_for_scroll_linked_effects,true) skip-if(!asyncPan) fails-if(stylo) == disable-apz-for-sle-pages.html disable-apz-for-sle-pages-ref.html
 fuzzy-if(browserIsRemote&&d2d,1,19) skip-if(!asyncPan) == background-blend-mode-1.html background-blend-mode-1-ref.html
-skip-if(Android||!asyncPan) != opaque-fractional-displayport-1.html about:blank
-skip-if(Android||!asyncPan) != opaque-fractional-displayport-2.html about:blank
-fuzzy-if(Android,6,4) skip-if(!asyncPan) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html
-fuzzy-if(Android,6,8) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html
-fuzzy-if(Android,6,8) skip-if(!asyncPan) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html
-fuzzy-if(Android,6,8) skip-if(!asyncPan) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html
-fuzzy-if(Android,6,4) skip-if(!asyncPan) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html
-fuzzy-if(Android,6,4) skip == position-sticky-scrolled-clip-2.html position-sticky-scrolled-clip-2-ref.html # bug ?????? - incorrectly applying clip to sticky contents
+skip-if(Android||!asyncPan) fails-if(stylo) != opaque-fractional-displayport-1.html about:blank
+skip-if(Android||!asyncPan) fails-if(stylo) != opaque-fractional-displayport-2.html about:blank
+fuzzy-if(Android,6,4) skip-if(!asyncPan) fails-if(stylo) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html
+fuzzy-if(Android,6,8) skip-if(!asyncPan) fails-if(stylo) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html
+fuzzy-if(Android,6,8) skip-if(!asyncPan) fails-if(stylo) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html
+fuzzy-if(Android,6,8) skip-if(!asyncPan) fails-if(stylo) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html
+fuzzy-if(Android,6,4) skip-if(!asyncPan) fails-if(stylo) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html
+fuzzy-if(Android,6,4) skip fails-if(stylo) == position-sticky-scrolled-clip-2.html position-sticky-scrolled-clip-2-ref.html # bug ?????? - incorrectly applying clip to sticky contents
 
 # for the following tests, we want to disable the low-precision buffer
 # as it will expand the displayport beyond what the test specifies in
 # its reftest-displayport attributes, and interfere with where we expect
 # checkerboarding to occur
 default-preferences pref(layers.low-precision-buffer,false)
 skip-if(!asyncPan) == checkerboard-1.html checkerboard-1-ref.html
 skip-if(!asyncPan) == checkerboard-2.html checkerboard-2-ref.html
--- a/layout/reftests/backgrounds/gradient/reftest.list
+++ b/layout/reftests/backgrounds/gradient/reftest.list
@@ -1,3 +1,3 @@
-== scaled-color-stop-position.html scaled-color-stop-position-ref.html
-== color-stop-clamp-interpolation.html color-stop-clamp-interpolation-ref.html
+fails-if(stylo) == scaled-color-stop-position.html scaled-color-stop-position-ref.html
+fails-if(stylo) == color-stop-clamp-interpolation.html color-stop-clamp-interpolation-ref.html
 == linear-gradient-repeated.html linear-gradient-repeated-ref.html
--- a/layout/reftests/backgrounds/reftest.list
+++ b/layout/reftests/backgrounds/reftest.list
@@ -1,16 +1,16 @@
 include gradient/reftest.list
 include vector/reftest.list
 
 == layers-stacking-order.xhtml layers-stacking-order-ref.xhtml
 == layers-layer-count-cascade-1.xhtml layers-layer-count-1-ref.xhtml
 == layers-layer-count-inheritance-1.xhtml layers-layer-count-1-ref.xhtml
 == layers-layer-count-cascade-2.xhtml layers-layer-count-2-ref.xhtml
-== layers-layer-count-inheritance-2.xhtml layers-layer-count-2-ref.xhtml
+fails-if(stylo) == layers-layer-count-inheritance-2.xhtml layers-layer-count-2-ref.xhtml
 fuzzy-if(Android,9,600000) fuzzy-if(skiaContent,1,5000) == viewport-translucent-color-1.html viewport-translucent-color-ref.html
 fuzzy-if(skiaContent,1,5000) == viewport-translucent-color-2.html viewport-translucent-color-ref.html
 fuzzy-if(skiaContent,1,5000) == viewport-translucent-color-3.html viewport-translucent-color-ref.html
 != viewport-translucent-color-ref.html about:blank
 fuzzy-if(skiaContent,1,10000) == iframe-translucent-color-1.html iframe-translucent-color-ref.html
 fuzzy-if(skiaContent,1,1024) == translucent-color-1.html translucent-color-ref.html
 fuzzy-if(skiaContent,1,1024) == translucent-color-2.html translucent-color-ref.html
 fuzzy-if(skiaContent,1,1024) == translucent-color-3.html translucent-color-ref.html
@@ -105,44 +105,44 @@ fuzzy-if(OSX,1,324) == background-layers
 # background-size results in a different rendering when present.
 pref(layout.css.box-decoration-break.enabled,true) != background-size-cover-slice.html background-size-slice.html
 pref(layout.css.box-decoration-break.enabled,true) != background-size-cover-clone.html background-size-clone.html
 
 # ...and make sure each rendering with background-size is different from the
 # other
 pref(layout.css.box-decoration-break.enabled,true) != background-size-cover-slice.html background-size-cover-clone.html
 
-random-if(OSX==1010) == background-size-monster-ch.html background-size-monster-ref.html # bug 1129300
+random-if(OSX==1010) fails-if(stylo) == background-size-monster-ch.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-cm.html background-size-monster-ref.html # bug 1129300
-random-if(OSX==1010) == background-size-monster-em.html background-size-monster-ref.html # bug 1129300
-random-if(OSX==1010) == background-size-monster-ex.html background-size-monster-ref.html # bug 1129300
+random-if(OSX==1010) fails-if(stylo) == background-size-monster-em.html background-size-monster-ref.html # bug 1129300
+random-if(OSX==1010) fails-if(stylo) == background-size-monster-ex.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-inches.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-mm.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-pc.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-pt.html background-size-monster-ref.html # bug 1129300
 random-if(OSX==1010) == background-size-monster-px.html background-size-monster-ref.html # bug 1129300
-random-if(OSX==1010) == background-size-monster-rem.html background-size-monster-ref.html # bug 1129300
+random-if(OSX==1010) fails-if(stylo) == background-size-monster-rem.html background-size-monster-ref.html # bug 1129300
 
 # There seems to be a pixel-snapping problem here, where the repeated background
 # image isn't being snapped at its boundaries.  Note that the boundaries within
 # the image aren't the issue, because they're being obscured to avoid sampling
 # algorithm dependencies (at least assuming the sampling algorithm in use
 # doesn't sample too far astray from the boundaries).
-fails == background-size-zoom-repeat.html background-size-zoom-repeat-ref.html
+fails-if(!stylo) == background-size-zoom-repeat.html background-size-zoom-repeat-ref.html
 
 # -moz-default-background-color and -moz-default-color (bug 591341)
 == background-moz-default-background-color.html background-moz-default-background-color-ref.html
 
 == fixed-bg-with-transform-outside-viewport-1.html fixed-bg-with-transform-outside-viewport-ref.html
 fuzzy(2,83) == fixed-bg-border-radius.html fixed-bg-border-radius-ref.html
 
 HTTP == root-background-1.html root-background-ref.html
 HTTP != root-background-1.html about:blank
 
-== really-big-background.html really-big-background-ref.html
+fails-if(stylo) == really-big-background.html really-big-background-ref.html
 == body-background.html body-background-ref.html
 == table-background.html table-background-ref.html
 == table-background-print.html table-background-print-ref.html
 != div-background.html div-background-ref.html
 
 == background-repeat-1-ref.html background-repeat-1.html
 
 == multi-background-clip-content-border.html multi-background-clip-content-border-ref.html
@@ -178,11 +178,11 @@ fuzzy(30,474) fuzzy-if(skiaContent,31,47
 
 skip-if(!cocoaWidget) == background-repeat-resampling.html background-repeat-resampling-ref.html
 
 pref(layout.css.background-clip-text.enabled,true) fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1a.html background-clip-text-1-ref.html
 pref(layout.css.background-clip-text.enabled,true) fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1b.html background-clip-text-1-ref.html
 pref(layout.css.background-clip-text.enabled,true) fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1c.html background-clip-text-1-ref.html
 pref(layout.css.background-clip-text.enabled,true) fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1d.html background-clip-text-1-ref.html
 pref(layout.css.background-clip-text.enabled,true) fuzzy-if(winWidget,102,2032) fuzzy-if(skiaContent,102,2811) == background-clip-text-1e.html background-clip-text-1-ref.html
-pref(layout.css.background-clip-text.enabled,false) != background-clip-text-1a.html background-clip-text-1-ref.html
+pref(layout.css.background-clip-text.enabled,false) fails-if(stylo) != background-clip-text-1a.html background-clip-text-1-ref.html
 
 pref(layout.css.background-clip-text.enabled,true) == background-clip-text-2.html background-clip-text-2-ref.html
--- a/layout/reftests/backgrounds/vector/empty/reftest.list
+++ b/layout/reftests/backgrounds/vector/empty/reftest.list
@@ -1,18 +1,18 @@
 == tall--contain--height.html ref-tall-empty.html
 == tall--contain--width.html ref-tall-empty.html
 == wide--contain--height.html ref-wide-empty.html
 == wide--contain--width.html ref-wide-empty.html
 
 # These tests fail because of integer overflow; see bug 894555.
-fails == tall--cover--height.html ref-tall-lime.html
-fails == tall--cover--width.html ref-tall-lime.html
-fails == wide--cover--height.html ref-wide-lime.html
-fails == wide--cover--width.html ref-wide-lime.html
+fails-if(!stylo) == tall--cover--height.html ref-tall-lime.html
+fails-if(!stylo) == tall--cover--width.html ref-tall-lime.html
+fails-if(!stylo) == wide--cover--height.html ref-wide-lime.html
+fails-if(!stylo) == wide--cover--width.html ref-wide-lime.html
 
 == zero-height-ratio-contain.html ref-tall-empty.html
 == zero-height-ratio-cover.html ref-tall-empty.html
 == zero-height-ratio-auto-auto.html ref-tall-empty.html
 == zero-height-ratio-auto-5px.html ref-tall-empty.html
 == zero-height-ratio-5px-auto.html ref-tall-empty.html
 == zero-width-ratio-contain.html ref-tall-empty.html
 == zero-width-ratio-cover.html ref-tall-empty.html
--- a/layout/reftests/bidi/dirAuto/reftest.list
+++ b/layout/reftests/bidi/dirAuto/reftest.list
@@ -1,119 +1,119 @@
 == bdi-auto-dir-default.html bdi-auto-dir-default-ref.html
-== dir_auto-set-contained-dir-L.html dir_auto-contained-dir-L-ref.html
-== dir_auto-set-contained-dir-R.html dir_auto-contained-dir-R-ref.html
-== dir_auto-set-contained-invalid-dir-L.html dir_auto-contained-dir-L-ref.html
-== dir_auto-set-contained-invalid-dir-R.html dir_auto-contained-dir-R-ref.html
-== dir_auto-unset-contained-dir-L.html dir_auto-unset-contained-dir-L-ref.html
-== dir_auto-unset-contained-dir-R.html dir_auto-unset-contained-dir-R-ref.html
-== dynamicDirAuto-setLTR-Auto1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-Auto2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-Auto3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-Auto4.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-Auto5.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-Auto6.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR4.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR5.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR6.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR7.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-LTR8.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-RTL1.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL2.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL3.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL4.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL5.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL6.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL7.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-RTL8.html dynamicDirAuto-refLTR-RTL.html
-== dynamicDirAuto-setLTR-NoDir1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir4.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir5.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir6.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir7.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-NoDir8.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir4.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir5.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir6.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir7.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setLTR-InvalidDir7.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-setRTL-Auto1.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-Auto2.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-Auto3.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-Auto4.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-Auto5.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-Auto6.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-LTR1.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR2.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR3.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR4.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR5.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR6.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR7.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-LTR8.html dynamicDirAuto-refRTL-LTR.html
-== dynamicDirAuto-setRTL-RTL1.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL2.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL3.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL4.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL5.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL6.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL7.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-RTL8.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-setRTL-NoDir1.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir2.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir3.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir4.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir5.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir6.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir7.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-NoDir8.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir1.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir2.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir3.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir4.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir5.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir6.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir7.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-setRTL-InvalidDir8.html dynamicDirAuto-refRTL-NoDir.html
-== dynamicDirAuto-addLTR-Auto.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-addRTL-Auto.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-LTR1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR4.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR5.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR6.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR7.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR8.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR9.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-LTR10.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-ChangeText-RTL1.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-RTL2.html dynamicDirAuto-refRTL-RTL.html
-fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) == dynamicDirAuto-ChangeText-RTL3.html dynamicDirAuto-refRTL-RTL.html
-fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) == dynamicDirAuto-ChangeText-RTL4.html dynamicDirAuto-refRTL-RTL.html
-fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) == dynamicDirAuto-ChangeText-RTL5.html dynamicDirAuto-refRTL-RTL.html
-fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) == dynamicDirAuto-ChangeText-RTL6.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-RTL7.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-RTL8.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-RTL9.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-ChangeText-RTL10.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-DeleteText-LTR1.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-DeleteText-LTR2.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-DeleteText-LTR3.html dynamicDirAuto-refLTR-LTR.html
-== dynamicDirAuto-DeleteText-RTL1.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-DeleteText-RTL2.html dynamicDirAuto-refRTL-RTL.html
-== dynamicDirAuto-DeleteText-RTL3.html dynamicDirAuto-refRTL-RTL.html
-== 839886-1.html 839886-1-ref.html
+fails-if(stylo) == dir_auto-set-contained-dir-L.html dir_auto-contained-dir-L-ref.html
+fails-if(stylo) == dir_auto-set-contained-dir-R.html dir_auto-contained-dir-R-ref.html
+fails-if(stylo) == dir_auto-set-contained-invalid-dir-L.html dir_auto-contained-dir-L-ref.html
+fails-if(stylo) == dir_auto-set-contained-invalid-dir-R.html dir_auto-contained-dir-R-ref.html
+fails-if(stylo) == dir_auto-unset-contained-dir-L.html dir_auto-unset-contained-dir-L-ref.html
+fails-if(stylo) == dir_auto-unset-contained-dir-R.html dir_auto-unset-contained-dir-R-ref.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto4.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto5.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-Auto6.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR4.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR5.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR6.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR7.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-LTR8.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL1.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL2.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL3.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL4.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL5.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL6.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL7.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-RTL8.html dynamicDirAuto-refLTR-RTL.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir4.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir5.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir6.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir7.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-NoDir8.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir4.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir5.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir6.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir7.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setLTR-InvalidDir7.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto1.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto2.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto3.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto4.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto5.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-Auto6.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR1.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR2.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR3.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR4.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR5.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR6.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR7.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-LTR8.html dynamicDirAuto-refRTL-LTR.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL1.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL2.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL3.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL4.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL5.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL6.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL7.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-RTL8.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir1.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir2.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir3.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir4.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir5.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir6.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir7.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-NoDir8.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir1.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir2.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir3.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir4.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir5.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir6.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir7.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-setRTL-InvalidDir8.html dynamicDirAuto-refRTL-NoDir.html
+fails-if(stylo) == dynamicDirAuto-addLTR-Auto.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-addRTL-Auto.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR4.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR5.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR6.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR7.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR8.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR9.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-LTR10.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL1.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL2.html dynamicDirAuto-refRTL-RTL.html
+fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) fails-if(stylo) == dynamicDirAuto-ChangeText-RTL3.html dynamicDirAuto-refRTL-RTL.html
+fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) fails-if(stylo) == dynamicDirAuto-ChangeText-RTL4.html dynamicDirAuto-refRTL-RTL.html
+fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) fails-if(stylo) == dynamicDirAuto-ChangeText-RTL5.html dynamicDirAuto-refRTL-RTL.html
+fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,30,1) fails-if(stylo) == dynamicDirAuto-ChangeText-RTL6.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL7.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL8.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL9.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-ChangeText-RTL10.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-LTR1.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-LTR2.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-LTR3.html dynamicDirAuto-refLTR-LTR.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-RTL1.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-RTL2.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == dynamicDirAuto-DeleteText-RTL3.html dynamicDirAuto-refRTL-RTL.html
+fails-if(stylo) == 839886-1.html 839886-1-ref.html
 == 859093-1.html 859093-1-ref.html
 == 889742-1.html 889742-1-ref.html
-== 1103348-1.html 1103348-1-ref.html
-== 1169267-delete-add-1a.html 1169267-delete-add-1-ref.html
-== 1169267-delete-add-1b.html 1169267-delete-add-1-ref.html
-== 1169267-delete-add-2a.html 1169267-delete-add-2-ref.html
-== 1169267-delete-add-2b.html 1169267-delete-add-2-ref.html
+fails-if(stylo) == 1103348-1.html 1103348-1-ref.html
+fails-if(stylo) == 1169267-delete-add-1a.html 1169267-delete-add-1-ref.html
+fails-if(stylo) == 1169267-delete-add-1b.html 1169267-delete-add-1-ref.html
+fails-if(stylo) == 1169267-delete-add-2a.html 1169267-delete-add-2-ref.html
+fails-if(stylo) == 1169267-delete-add-2b.html 1169267-delete-add-2-ref.html
--- a/layout/reftests/bidi/reftest.list
+++ b/layout/reftests/bidi/reftest.list
@@ -5,18 +5,18 @@ include numeral/reftest.list
 == 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
 == bidi-005.html bidi-005-ref.html
-random-if(cocoaWidget) == bidi-006.html bidi-006-ref.html # bug 734313
-random-if(cocoaWidget) == bidi-006-j.html bidi-006-ref.html # bug 734313
+random-if(cocoaWidget) fails-if(stylo) == bidi-006.html bidi-006-ref.html # bug 734313
+random-if(cocoaWidget) fails-if(stylo) == bidi-006-j.html bidi-006-ref.html # bug 734313
 == bidiSVG-01.svg bidiSVG-01-ref.svg
 == bidiSVG-02.svg bidiSVG-02-ref.svg
 == bidiSVG-03.svg bidiSVG-03-ref.svg
 fuzzy-if(skiaContent,1,1) == bidiSVG-04.svg bidiSVG-04-ref.svg
 == bidiSVG-05.svg bidiSVG-05-ref.svg
 HTTP(..) == bidiMirroring.svg bidiMirroring-ref.svg
 fuzzy-if(Android,9,134) random-if(layersGPUAccelerated) == visualmarquee.html marquee-ref.html
 fuzzy-if(Android,9,134) random-if(layersGPUAccelerated) == logicalmarquee.html marquee-ref.html
@@ -32,108 +32,108 @@ random-if(cocoaWidget) == mirroring-02.h
 == mixedChartype-01-j.html mixedChartype-01-ref.html
 == mixedChartype-02.html mixedChartype-02-ref.html
 == mixedChartype-02-j.html mixedChartype-02-ref.html
 == mixedChartype-03.html mixedChartype-03-ref.html
 == mixedChartype-03-j.html mixedChartype-03-ref.html
 == unicode-bidi-anonymous-001.html unicode-bidi-anonymous-001-ref.html
 == unicode-bidi-anonymous-002.html unicode-bidi-anonymous-002-ref.html
 == unicode-bidi-isolate-basic.html unicode-bidi-isolate-basic-ref.html
-== unicode-bidi-isolate-aharon.html unicode-bidi-isolate-aharon-ref.html
+fails-if(stylo) == unicode-bidi-isolate-aharon.html unicode-bidi-isolate-aharon-ref.html
 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,73,1) fuzzy-if(skiaContent,104,32) == unicode-bidi-plaintext.html unicode-bidi-plaintext-ref.html
-== unicode-bidi-plaintext-textarea-1.html unicode-bidi-plaintext-textarea-ref.html
-== unicode-bidi-plaintext-textarea-2.html unicode-bidi-plaintext-textarea-ref.html
-== unicode-bidi-plaintext-textarea-3.html unicode-bidi-plaintext-textarea-ref.html
-== unicode-bidi-plaintext-textarea-4.html unicode-bidi-plaintext-textarea-ref.html
+fails-if(stylo) == unicode-bidi-plaintext-textarea-1.html unicode-bidi-plaintext-textarea-ref.html
+fails-if(stylo) == unicode-bidi-plaintext-textarea-2.html unicode-bidi-plaintext-textarea-ref.html
+fails-if(stylo) == unicode-bidi-plaintext-textarea-3.html unicode-bidi-plaintext-textarea-ref.html
+fails-if(stylo) == unicode-bidi-plaintext-textarea-4.html unicode-bidi-plaintext-textarea-ref.html
 == with-first-letter-1a.html with-first-letter-1-ref.html
 == with-first-letter-1b.html with-first-letter-1-ref.html
 random-if(cocoaWidget) == with-first-letter-2a.html with-first-letter-2-ref.html # bug 734313
 random-if(cocoaWidget) == with-first-letter-2b.html with-first-letter-2-ref.html # bug 734313
 == 83958-1a.html 83958-1-ref.html
 == 83958-1b.html 83958-1-ref.html
 == 83958-1c.html 83958-1-ref.html
 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,111,7) == 83958-2a.html 83958-2-ref.html
 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,111,7) == 83958-2b.html 83958-2-ref.html
 == 115921-1.html 115921-1-ref.html
-== 115921-2.html 115921-2-ref.html
+fails-if(stylo) == 115921-2.html 115921-2-ref.html
 == 151407-1.html 151407-1-ref.html
 == 151407-1a.html 151407-1-ref.html
 == 151407-2-ltr.html 151407-2-ltr-ref.html
 == 151407-2-rtl.html 151407-2-rtl-ref.html
 == 151407-2-auto.html 151407-2-auto-ref.html
 == 151407-2-empty.html 151407-2-empty-ref.html
 == 151407-2-foopy.html 151407-2-empty-ref.html
 == 151407-3-ltr.html 151407-3-ltr-ref.html
 == 151407-3-rtl.html 151407-3-rtl-ref.html
 == 151407-3-auto.html 151407-3-auto-ref.html
 == 151407-3-foopy.html 151407-3-empty-ref.html
 == 229367-1.html 229367-1-ref.html
-== 229367-2.html 229367-2-ref.html
+fails-if(stylo) == 229367-2.html 229367-2-ref.html
 == 229367-3.html 229367-3-ref.html
 == 258928-1.html 258928-1-ref.html
 == 263359-1.html 263359-1-ref.html
 == 263359-1a.html 263359-1-ref.html
 != 263359-1b.html 263359-1-ref.html
-== 263359-2.html 263359-2-ref.html
+fails-if(stylo) == 263359-2.html 263359-2-ref.html
 == 263359-3.html 263359-3-ref.html
 == 263359-4.html 263359-4-ref.html
-random-if(winWidget) fuzzy-if(skiaContent,1,1700) == 267459-1.html 267459-1-ref.html # depends on windows version, see bug 590101
-fuzzy-if(skiaContent,1,1100) == 267459-2.html 267459-2-ref.html
+random-if(winWidget) fuzzy-if(skiaContent,1,1700) fails-if(stylo) == 267459-1.html 267459-1-ref.html # depends on windows version, see bug 590101
+fuzzy-if(skiaContent,1,1100) fails-if(stylo) == 267459-2.html 267459-2-ref.html
 == 299065-1.html 299065-1-ref.html
 random-if(winWidget) == 305643-1.html 305643-1-ref.html # depends on windows version, see bug 590101
 == 332655-1.html 332655-1-ref.html
 == 332655-2.html 332655-2-ref.html
-== 381279-1.html 381279-1-ref.html
+fails-if(stylo) == 381279-1.html 381279-1-ref.html
 == 386339.html 386339-ref.html
 == 409375.html 409375-ref.html
 == 413542-1.html 413542-1-ref.html
 == 413542-2.html 413542-2-ref.html
-== 413928-1.html 413928-1-ref.html
-== 413928-2.html 413928-2-ref.html
+fails-if(stylo) == 413928-1.html 413928-1-ref.html
+fails-if(stylo) == 413928-2.html 413928-2-ref.html
 == 425338-1a.html 425338-1-ref.html
 == 425338-1b.html 425338-1-ref.html
 == 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
+fails-if(stylo) == 536963-1.html 536963-1-ref.html
 == 562169-1.html 562169-1-ref.html
-== 562169-1a.html 562169-1-ref.html
+fails-if(stylo) == 562169-1a.html 562169-1-ref.html
 == 562169-2.html 562169-2-ref.html
-== 562169-2a.html 562169-2-ref.html
+fails-if(stylo) == 562169-2a.html 562169-2-ref.html
 == 562169-3.html 562169-3-ref.html
-== 562169-3a.html 562169-3-ref.html
+fails-if(stylo) == 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
 == 612843-1.html 612843-1-ref.html
 == 613149-1a.html 613149-1-ref.html
 == 613149-1b.html 613149-1-ref.html
 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,36,2) == 613149-2a.html 613149-2-ref.html
 fuzzy-if(Android,24,1) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,36,2) == 613149-2b.html 613149-2-ref.html
 == 613157-1.html 613157-1-ref.html
 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia,255,6) == 613157-2.html 613157-2-ref.html
 == 662288-1.html 662288-1-ref.html
-== 670226-1.html 670226-1-ref.html
+fails-if(stylo) == 670226-1.html 670226-1-ref.html
 == 676245-1.html 676245-1-ref.html
-fuzzy-if(skiaContent,1,3) == 698291-1.html 698291-1-ref.html
+fuzzy-if(skiaContent,1,3) fails-if(stylo) == 698291-1.html 698291-1-ref.html
 == 698706-1.html 698706-1-ref.html
 == 704837-1.html 704837-1-ref.html
 == 712600-1.html 712600-1-ref.html
 == 712600-2.html 712600-2-ref.html
 == 712600-2-dyn.html 712600-2-ref.html
 == 712600-3.html 712600-3-ref.html
 == 718236-1.html 718236-1-ref.html
 == 718236-2.html 718236-2-ref.html
 == 718236-3.html 718236-3-ref.html
-== 726420-1.html 726420-1-ref.html
+fails-if(stylo) == 726420-1.html 726420-1-ref.html
 == 726460-1.html 726460-1-ref.html
 == 729047-1.html 729047-1-ref.html
 == 730562-1.html 730562-1-ref.html
 == 746987-1.html 746987-1-ref.html
 == 746987-2.html 746987-2-ref.html
 == 746987-3.html 746987-3-ref.html
 == 746987-4.html 746987-4-ref.html
 == 779003-1.html 779003-1-ref.html
@@ -164,11 +164,11 @@ fuzzy-if(Android,254,557) == brackets-2a
 == brackets-2b-ltr.html brackets-2b-ltr-ref.html
 == brackets-2b-rtl.html brackets-2b-rtl-ref.html
 == brackets-2c-ltr.html brackets-2c-ltr-ref.html
 fuzzy-if(Android,254,231) == brackets-2c-rtl.html brackets-2c-rtl-ref.html
 == brackets-3a-ltr.html brackets-3a-ltr-ref.html
 == brackets-3a-rtl.html brackets-3a-rtl-ref.html
 == brackets-3b-ltr.html brackets-3b-ltr-ref.html
 == brackets-3b-rtl.html brackets-3b-rtl-ref.html
-== 1217833-1.html 1217833-1-ref.html
-== 1217833-2.html 1217833-2-ref.html
+fails-if(stylo) == 1217833-1.html 1217833-1-ref.html
+fails-if(stylo) == 1217833-2.html 1217833-2-ref.html
 == 1231175-1.html 1231175-1-ref.html
--- a/layout/reftests/border-dotted/reftest.list
+++ b/layout/reftests/border-dotted/reftest.list
@@ -4,10 +4,10 @@
 # so difference less than 80 is ignorable.
 fuzzy(80,1500) == border-dotted-interaction.html masked.html
 fuzzy(80,1500) == border-dotted-no-radius.html masked.html
 fuzzy(80,1500) == border-dotted-radius.html masked.html
 fuzzy(80,1500) == border-dashed-no-radius.html masked.html
 fuzzy(80,1500) == border-dashed-radius.html masked.html
 fuzzy(80,1500) == border-mixed.html masked.html
 fuzzy(80,1500) == border-dashed-non-integer.html masked.html
-fuzzy(80,1500) == border-dashed-radius-zoom.html masked-zoom.html
+fuzzy(80,1500) fails-if(stylo) == border-dashed-radius-zoom.html masked-zoom.html
 fuzzy(80,1500) == border-dotted-radius-zero.html masked-small.html
--- a/layout/reftests/border-image/reftest.list
+++ b/layout/reftests/border-image/reftest.list
@@ -5,17 +5,17 @@
 == 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
 == 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
+fails-if(stylo) != repeat-image-1.html repeat-image-1-ref.html
 == 470250-1.html 470250-1-ref.html
 == 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
 == center-scaling-1.html center-scaling-1-ref.html
 fails-if(Android) fails-if(usesRepeatResampling) == center-scaling-2.html center-scaling-2-ref.html # Android: very different scaling (blurriness) on some sides
 fails-if(Android) fails-if(usesRepeatResampling) == center-scaling-3.html center-scaling-3-ref.html # Android: very different scaling (blurriness) on some sides
@@ -25,17 +25,17 @@ fails-if(Android) fails-if(usesRepeatRes
 == center-scaling-4l.html center-scaling-4l-ref.html
 == center-scaling-4tb.html center-scaling-4tb-ref.html
 == center-scaling-4lr.html center-scaling-4lr-ref.html
 == side-scaling-1h.html side-scaling-1h-ref.html
 == side-scaling-1v.html side-scaling-1v-ref.html
 == border-image-width-1a.html border-image-width-1-ref.html
 == border-image-width-1b.html border-image-width-1-ref.html
 == border-image-width-1c.html border-image-width-1-ref.html
-== border-image-width-large.html border-image-width-large-ref.html
+fails-if(stylo) == border-image-width-large.html border-image-width-large-ref.html
 == border-image-outset-1a.html border-image-outset-1-ref.html
 == border-image-outset-1b.html border-image-outset-1-ref.html
 == border-image-outset-1c.html border-image-outset-1-ref.html
 == 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) == 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
--- a/layout/reftests/border-radius/reftest.list
+++ b/layout/reftests/border-radius/reftest.list
@@ -9,17 +9,17 @@
 
 != outline-square.html about:blank
 != outline-circle.html about:blank
 != outline-ellips.html about:blank
 != outline-square.html outline-circle.html
 != outline-square.html outline-ellips.html
 != outline-circle.html outline-ellips.html
 == border-value-interpret.html border-value-interpret-ref.html
-!= curved-borders-all-styles.html about:blank # no way to generate reference for dotted/dashed/inset/outset
+fails-if(stylo) != curved-borders-all-styles.html about:blank # no way to generate reference for dotted/dashed/inset/outset
 # ridge/groove borders
 
 # percent units
 == percent-1.html percent-1-ref.html
 fuzzy-if(skiaContent,1,342) == percent-2.html percent-2-ref.html
 fuzzy-if(skiaContent,1,343) == percent-3.html percent-3-ref.html
 
 # more serious tests, using SVG reference
@@ -32,17 +32,17 @@ fuzzy-if(gtkWidget,23,5) fuzzy-if(winWid
 fuzzy-if(gtkWidget,3,10) fuzzy-if(winWidget&&!d2d,3,10) fuzzy-if(d2d,15,32) fuzzy-if(Android,3,15) fuzzy-if(skiaContent,3,100) == corner-3.html corner-3-ref.svg
 fuzzy-if(skiaContent,1,2728) == corner-4.html corner-4-ref.svg
 
 # Test that radii too long are reduced
 == border-reduce-height.html border-reduce-height-ref.html
 skip-if(!webrender) pref(layers.advanced.border-layers,1) == border-reduce-height.html border-reduce-height-ref.html
 
 # Tests for border clipping
-fails == clipping-1.html clipping-1-ref.html # background color should completely fill box; bug 466572
+fails-if(!stylo) == clipping-1.html clipping-1-ref.html # background color should completely fill box; bug 466572
 != clipping-2.html about:blank # background color clipped to inner/outer border, can't get
 # great tests for this due to antialiasing problems described in bug 466572
 fuzzy-if(skiaContent,1,13) == clipping-3.html clipping-3-ref.xhtml # edge of border-radius clips an underlying object's background
 
 # Tests for clipping the contents of replaced elements and overflow!=visible
 != clipping-4-ref.html clipping-4-notref.html
 fuzzy-if(true,1,20) fuzzy-if(d2d,64,196) fuzzy-if(cocoaWidget,1,180) fuzzy-if(Android,140,237) == clipping-4-canvas.html clipping-4-ref.html # bug 732535
 fuzzy-if(Android,5,54) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,10) fuzzy-if(skiaContent,1,140) == clipping-4-image.html clipping-4-ref.html
@@ -67,18 +67,18 @@ fuzzy-if(true,1,33) fuzzy-if(d2d,48,350)
 # Table elements
 == table-collapse-1.html table-collapse-1-ref.html # border-radius is ignored on internal table elements
 # when border-collapse: collapse
 
 fuzzy-if(skiaContent,1,116) == invalidate-1a.html invalidate-1-ref.html
 fuzzy-if(skiaContent,1,117) == invalidate-1b.html invalidate-1-ref.html
 
 # test that border-radius is reduced for scrollbars
-fails-if(Android) fuzzy-if(asyncPan&&!layersGPUAccelerated,12,12) fuzzy-if(browserIsRemote&&layersGPUAccelerated&&/^Windows\x20NT\x206\.1/.test(http.oscpu),12,12) fuzzy-if(skiaContent&&!Android,1,50) fuzzy-if(gtkWidget&&layersGPUAccelerated,12,12) == scrollbar-clamping-1.html scrollbar-clamping-1-ref.html
-fails-if(Android) == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html
+fails-if(Android) fuzzy-if(asyncPan&&!layersGPUAccelerated,12,12) fuzzy-if(browserIsRemote&&layersGPUAccelerated&&/^Windows\x20NT\x206\.1/.test(http.oscpu),12,12) fuzzy-if(skiaContent&&!Android,1,50) fuzzy-if(gtkWidget&&layersGPUAccelerated,12,12) fails-if(stylo) == scrollbar-clamping-1.html scrollbar-clamping-1-ref.html
+fails-if(Android) fails-if(stylo) == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html
 
 # Test for bad corner joins.
 fuzzy-if(true,1,1) == corner-joins-1.xhtml corner-joins-1-ref.xhtml
 fuzzy(255,20) random-if(winWidget) fuzzy-if(skiaContent,255,610) HTTP(..) == corner-joins-2.xhtml corner-joins-2-ref.xhtml
 
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,20) fuzzy-if(d2d,64,157) fuzzy-if(Android,166,400) fuzzy-if(skiaContent,64,70) == scroll-1.html scroll-1-ref.html # see bug 732535 #Bug 959166
 
 == transforms-1.html transforms-1-ref.html
--- a/layout/reftests/box-ordinal/reftest.list
+++ b/layout/reftests/box-ordinal/reftest.list
@@ -1,7 +1,7 @@
 == box-ordinal-with-out-of-flow-1.html box-ordinal-with-out-of-flow-1-ref.html
 == dynamic-1-remove-to-none-grouped.xul dynamic-1-ref.xul
 == dynamic-1-add-to-one-grouped.xul dynamic-1-ref.xul
 == dynamic-1-remove-to-one-grouped-1.xul dynamic-1-ref.xul
-fails == dynamic-1-remove-to-one-grouped-2.xul dynamic-1-ref.xul # bug 575500
+fails-if(!stylo) == dynamic-1-remove-to-one-grouped-2.xul dynamic-1-ref.xul # bug 575500
 == dynamic-1-add-to-two-grouped-1.xul dynamic-1-ref.xul
 == dynamic-1-add-to-two-grouped-2.xul dynamic-1-ref.xul
--- a/layout/reftests/box-properties/reftest.list
+++ b/layout/reftests/box-properties/reftest.list
@@ -1,30 +1,30 @@
-== outline-radius-percent-1.html outline-radius-percent-1-ref.html
+fails-if(stylo) == outline-radius-percent-1.html outline-radius-percent-1-ref.html
 == min-width-1.html min-width-1-ref.html
 == min-height-1.html min-height-1-ref.html
 == max-width-1.html max-width-1-ref.html
 == max-height-1.html max-height-1-ref.html
-== width-special-values-block.html width-special-values-block-ref.html
-== width-special-values-float.html width-special-values-block-ref.html
-== width-special-values-image-block.html width-special-values-image-block-ref.html
-== width-special-values-image.html width-special-values-image-ref.html
-== width-special-values-block-intrinsic.html width-special-values-block-intrinsic-ref.html
-== width-special-values-float-intrinsic.html width-special-values-block-intrinsic-ref.html
+fails-if(stylo) == width-special-values-block.html width-special-values-block-ref.html
+fails-if(stylo) == width-special-values-float.html width-special-values-block-ref.html
+fails-if(stylo) == width-special-values-image-block.html width-special-values-image-block-ref.html
+fails-if(stylo) == width-special-values-image.html width-special-values-image-ref.html
+fails-if(stylo) == width-special-values-block-intrinsic.html width-special-values-block-intrinsic-ref.html
+fails-if(stylo) == width-special-values-float-intrinsic.html width-special-values-block-intrinsic-ref.html
 == minmax-width-special-values-block-intrinsic.html minmax-width-special-values-block-intrinsic-ref.html
-== width-special-values-cell-auto.html width-special-values-cell-auto-ref.html
-== width-special-values-cell-fixed.html width-special-values-cell-fixed-ref.html
-== box-sizing-1.html box-sizing-1-ref.html
-== box-sizing-2.html box-sizing-2-ref.html
-== box-sizing-3.html box-sizing-1-ref.html
-== box-sizing-4.html box-sizing-4-ref.html
+fails-if(stylo) == width-special-values-cell-auto.html width-special-values-cell-auto-ref.html
+fails-if(stylo) == width-special-values-cell-fixed.html width-special-values-cell-fixed-ref.html
+fails-if(stylo) == box-sizing-1.html box-sizing-1-ref.html
+fails-if(stylo) == box-sizing-2.html box-sizing-2-ref.html
+fails-if(stylo) == box-sizing-3.html box-sizing-1-ref.html
+fails-if(stylo) == box-sizing-4.html box-sizing-4-ref.html
 == box-sizing-minmax-height.html box-sizing-minmax-height-ref.html
 == box-sizing-minmax-width.html box-sizing-minmax-width-ref.html
 == box-sizing-mozbox-minmax-height.html box-sizing-mozbox-minmax-height-ref.html
-== abspos-non-replaced-width-offset-margin.html abspos-non-replaced-width-offset-margin-ref.html
-== abspos-replaced-width-offset-margin.html abspos-replaced-width-offset-margin-ref.html
+fails-if(stylo) == abspos-non-replaced-width-offset-margin.html abspos-non-replaced-width-offset-margin-ref.html
+fails-if(stylo) == abspos-replaced-width-offset-margin.html abspos-replaced-width-offset-margin-ref.html
 HTTP(..) == CSS21-t100301.xhtml CSS21-t100301-ref.xhtml
 == CSS21-t100303.xhtml CSS21-t100303-ref.xhtml
 == CSS21-t100303-simple.xhtml CSS21-t100303-ref.xhtml
 == CSS21-t100801-vertical-align.xhtml CSS21-t100801-vertical-align-ref.xhtml
 == clip-auto.html clip-auto-ref.html
 == clip-rect-auto.html clip-rect-auto-ref.html
 == width-rounding.html width-rounding-ref.html
--- a/layout/reftests/box-shadow/reftest.list
+++ b/layout/reftests/box-shadow/reftest.list
@@ -1,47 +1,47 @@
 == boxshadow-basic.html boxshadow-basic-ref.html
 != boxshadow-blur.html boxshadow-blur-notref.html
 != boxshadow-blur.html boxshadow-blur-notref2.html
-random == boxshadow-blur-2.html boxshadow-blur-2-ref.html # fixedpoint division in blur code makes this fail
-random != boxshadow-blur-2.html boxshadow-blur-2-notref.html # fixedpoint division in blur code makes this fail
+random fails-if(stylo) == boxshadow-blur-2.html boxshadow-blur-2-ref.html # fixedpoint division in blur code makes this fail
+random fails-if(stylo) != boxshadow-blur-2.html boxshadow-blur-2-notref.html # fixedpoint division in blur code makes this fail
 == boxshadow-multiple.html boxshadow-multiple-ref.html
 == boxshadow-spread.html boxshadow-spread-ref.html
 == tableboxshadow-basic.html tableboxshadow-basic-ref.html
 == 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,20,3310) == boxshadow-button.html boxshadow-button-ref.html
 fuzzy-if(OSX==1010,1,24) fuzzy-if(d2d,16,908) fuzzy-if(webrender,19,1680) == boxshadow-large-border-radius.html boxshadow-large-border-radius-ref.html # Bug 1209649
 
-fails-if(Android) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
+fails-if(Android) fails-if(stylo) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
 == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
 random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
 random-if(d2d) == 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) == boxshadow-onecorner.html boxshadow-onecorner-ref.html
 random-if(d2d) == boxshadow-twocorners.html boxshadow-twocorners-ref.html
 random-if(d2d) == boxshadow-threecorners.html boxshadow-threecorners-ref.html
 fuzzy(2,440) == 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) == boxshadow-border-radius-int.html boxshadow-border-radius-int-ref.html
 == boxshadow-inset-neg-spread.html about:blank
 == boxshadow-inset-neg-spread2.html boxshadow-inset-neg-spread2-ref.html
-fuzzy(26,3610) == boxshadow-rotated.html boxshadow-rotated-ref.html # Bug 1211264
+fuzzy(26,3610) fails-if(stylo) == boxshadow-rotated.html boxshadow-rotated-ref.html # Bug 1211264
 == boxshadow-inset-large-border-radius.html boxshadow-inset-large-border-radius-ref.html
 
 # fuzzy due to blur going inside, but as long as it's essentially black instead of a light gray its ok.
 fuzzy(13,9445) fuzzy-if(d2d,13,10926) fuzzy-if(webrender,14,14307) == boxshadow-inset-large-offset.html boxshadow-inset-large-offset-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
 fuzzy-if(webrender,1,655) == 611574-1.html 611574-1-ref.html
 fuzzy-if(webrender,4,144) == 611574-2.html 611574-2-ref.html
 fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows
 fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) == fieldset-inset.html fieldset-inset-ref.html # minor anti-aliasing problem on Windows
 == 1178575.html 1178575-ref.html
 == 1178575-2.html 1178575-2-ref.html
-fuzzy(159,2) fails-if(!dwrite) == 1212823-1.html 1212823-1-ref.html
-== boxshadow-large-offset.html boxshadow-large-offset-ref.html
+fuzzy(159,2) fails-if(!dwrite) fails-if(stylo) == 1212823-1.html 1212823-1-ref.html
+fails-if(stylo) == boxshadow-large-offset.html boxshadow-large-offset-ref.html
--- a/layout/reftests/box/reftest.list
+++ b/layout/reftests/box/reftest.list
@@ -1,11 +1,11 @@
 == flexbox-abspos-container-1a.html flexbox-abspos-container-1-ref.html
 == flexbox-abspos-container-1b.html flexbox-abspos-container-1-ref.html
 == flexbox-abspos-container-1c.html flexbox-abspos-container-1-ref.html
 == flexbox-abspos-container-1d.html flexbox-abspos-container-1-ref.html
 == flexbox-abspos-container-2.html  flexbox-abspos-container-2-ref.html
 == flexbox-attributes-no-box-horizontal.xhtml flexbox-attributes-no-box-horizontal-ref.xhtml
 == flexbox-attributes-no-box-vertical.xhtml flexbox-attributes-no-box-vertical-ref.xhtml
-== flexbox-attributes-no-input-horizontal.xhtml flexbox-attributes-no-input-horizontal-ref.xhtml
-== flexbox-attributes-no-input-vertical.xhtml flexbox-attributes-no-input-vertical-ref.xhtml
+fails-if(stylo) == flexbox-attributes-no-input-horizontal.xhtml flexbox-attributes-no-input-horizontal-ref.xhtml
+fails-if(stylo) == flexbox-attributes-no-input-vertical.xhtml flexbox-attributes-no-input-vertical-ref.xhtml
 == flexbox-child-is-abspos-container-1.html flexbox-child-is-abspos-container-1-ref.html
 == flexbox-child-is-abspos-container-2.html flexbox-child-is-abspos-container-2-ref.html
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -1,28 +1,28 @@
 # Please keep this list sorted by bug number (but feel free to use a
 # logical order for the tests for each bug).
 == 105-1.html 105-1-ref.html
-== 647-1.html 647-1-ref.html
+fails-if(stylo) == 647-1.html 647-1-ref.html
 == 9458-basic-1.html 9458-basic-1-ref.html
 == 9458-valign-1.html 9458-valign-1-ref.html
 == 9458-valign-2.html 9458-valign-2-ref.html
 == 9458-height-1.html 9458-height-1-ref.html
 == 9458-height-2.html 9458-height-2-ref.html
 == 9458-width-1a.html 9458-width-1-ref.html
 == 9458-width-1b.html 9458-width-1-ref.html
 == 9458-width-2a.html 9458-width-2-ref.html
 == 9458-width-2b.html 9458-width-2-ref.html
 == 9458-zorder-1.html 9458-zorder-ref.html
 == 9458-zorder-2.html 9458-zorder-ref.html
 == 9458-zorder-3.html 9458-zorder-ref-inline.html
 == 9458-zorder-4.html 9458-zorder-ref-inline-block.html
 == 9458-zorder-5.html 9458-zorder-ref-inline-block.html
 == 10036-1.html 10036-1-ref.html
-skip-if(!cocoaWidget) HTTP(..) == 10209-1.html 10209-ref.html # Bug 667079
+skip-if(!cocoaWidget) fails-if(stylo) HTTP(..) == 10209-1.html 10209-ref.html # Bug 667079
 HTTP(..) == 10209-2.html 10209-ref.html
 asserts(2) skip-if(!cocoaWidget) HTTP(..) == 10209-3.html 10209-3-ref.html # Assertions: bug 666606, skip because of bug 667079
 == 18217-basic-1.html 18217-basic-1-ref.html
 == 18217-basic-2a.html 18217-basic-2-ref.html
 == 18217-basic-2b.html 18217-basic-2-ref.html
 == 18217-valign-1.html 18217-valign-1-ref.html
 == 18217-height-1.html 18217-height-1-ref.html
 == 18217-height-2.html 18217-height-2-ref.html
@@ -30,18 +30,18 @@ asserts(2) skip-if(!cocoaWidget) HTTP(..
 == 18217-width-1b.html 18217-width-1-ref.html
 == 18217-width-2a.html 18217-width-2-ref.html
 == 18217-width-2b.html 18217-width-2-ref.html
 == 18217-zorder-1.html 18217-zorder-ref.html
 == 18217-zorder-2.html 18217-zorder-ref.html
 == 18217-zorder-3.html 18217-zorder-ref-inline.html
 == 18217-zorder-4.html 18217-zorder-ref-inline-table.html
 == 18217-zorder-5.html 18217-zorder-ref-inline-table.html
-== 23604-1.html 23604-1-ref.html
-== 23604-2.html 23604-2-ref.html
+fails-if(stylo) == 23604-1.html 23604-1-ref.html
+fails-if(stylo) == 23604-2.html 23604-2-ref.html
 != 24998-1.html 24998-1-ref.html
 == 25888-1l.html 25888-1l-ref.html
 != 25888-1l.html 25888-1l-notref.html
 == 25888-1r.html 25888-1r-ref.html
 != 25888-1r.html 25888-1r-notref.html
 == 25888-2l.html 25888-2l-ref.html
 == 25888-2r.html 25888-2r-ref.html
 == 25888-3l.html 25888-3l-ref.html
@@ -49,60 +49,60 @@ asserts(2) skip-if(!cocoaWidget) HTTP(..
 == 25888-1l-block.html 25888-1l-ref.html
 != 25888-1l-block.html 25888-1l-notref.html
 == 25888-1r-block.html 25888-1r-ref.html
 != 25888-1r-block.html 25888-1r-notref.html
 == 25888-2l-block.html 25888-2l-ref.html
 == 25888-2r-block.html 25888-2r-ref.html
 == 25888-3l-block.html 25888-3l-ref.html
 == 25888-3r-block.html 25888-3r-ref.html
-== 28811-1a.html 28811-1-ref.html
-fuzzy-if(gtkWidget,6,26200) == 28811-1b.html 28811-1-ref.html  # Bug 1128229
-== 28811-2a.html 28811-2-ref.html
-fuzzy-if(gtkWidget,6,26200) == 28811-2b.html 28811-2-ref.html  # Bug 1128229
+fails-if(stylo) == 28811-1a.html 28811-1-ref.html
+fuzzy-if(gtkWidget,6,26200) fails-if(stylo) == 28811-1b.html 28811-1-ref.html  # Bug 1128229
+fails-if(stylo) == 28811-2a.html 28811-2-ref.html
+fuzzy-if(gtkWidget,6,26200) fails-if(stylo) == 28811-2b.html 28811-2-ref.html  # Bug 1128229
 == 40596-1a.html 40596-1-ref.html
-!= 40596-1b.html 40596-1-ref.html
+fails-if(stylo) != 40596-1b.html 40596-1-ref.html
 == 40596-1c.html 40596-1-ref.html
-!= 40596-1d.html 40596-1-ref.html
-!= 40596-1e.html 40596-1-ref.html
-!= 40596-1f.html 40596-1-ref.html
-!= 40596-1g.html 40596-1-ref.html
-!= 40596-1h.html 40596-1-ref.html
+fails-if(stylo) != 40596-1d.html 40596-1-ref.html
+fails-if(stylo) != 40596-1e.html 40596-1-ref.html
+fails-if(stylo) != 40596-1f.html 40596-1-ref.html
+fails-if(stylo) != 40596-1g.html 40596-1-ref.html
+fails-if(stylo) != 40596-1h.html 40596-1-ref.html
 == 40596-1i.html 40596-1-ref.html
-!= 40596-1j.html 40596-1-ref.html
+fails-if(stylo) != 40596-1j.html 40596-1-ref.html
 == 50630-1a.html 50630-1-ref.html
 == 50630-1b.html 50630-1-ref.html
 == 50630-1c.html 50630-1-ref.html
 == 50630-2.html 50630-2-ref.html
 == 50630-3.html 50630-3-ref.html
 == 50630-4.html 50630-4-ref.html
 == 50630-4.html 50630-4-ref2.html
 == 50630-5.html 50630-5-ref.html
 == 67752-1.html 67752-1-ref.html
 == 67752-2.html 67752-2-ref.html
 == 68061-1.xml 68061-1-ref.xml
 == 68061-2.xml 68061-2-ref.xml
 == 76331-1.html 76331-1-ref.html
 == 81947-1.html 81947-ref.html
-== 82711-1.html 82711-1-ref.html
-== 82711-2.html 82711-2-ref.html
-== 82711-3.html 82711-3-ref.html
-!= 82711-1-ref.html 82711-2-ref.html
-!= 82711-1-ref.html 82711-3-ref.html
-!= 82711-2-ref.html 82711-3-ref.html
-fuzzy-if(Android,4,1) == 84400-1.html 84400-1-ref.html
+fails-if(stylo) == 82711-1.html 82711-1-ref.html
+fails-if(stylo) == 82711-2.html 82711-2-ref.html
+fails-if(stylo) == 82711-3.html 82711-3-ref.html
+fails-if(stylo) != 82711-1-ref.html 82711-2-ref.html
+fails-if(stylo) != 82711-1-ref.html 82711-3-ref.html
+fails-if(stylo) != 82711-2-ref.html 82711-3-ref.html
+fuzzy-if(Android,4,1) fails-if(stylo) == 84400-1.html 84400-1-ref.html
 fuzzy-if(skiaContent,2,13) == 84400-2.html 84400-2-ref.html
 == 97777-1.html 97777-1-ref.html
 == 97777-2.html 97777-2-ref.html
 == 98223-1.html 98223-1-ref.html
 == 98223-2.html 98223-2-ref.html
-== 99850-1a.html 99850-1-ref.html
+fails-if(stylo) == 99850-1a.html 99850-1-ref.html
 random == 99850-1b.html 99850-1-ref.html # bug 471629
-== 99850-1c.html 99850-1-ref.html
-== 99850-1d.html 99850-1-ref.html
+fails-if(stylo) == 99850-1c.html 99850-1-ref.html
+fails-if(stylo) == 99850-1d.html 99850-1-ref.html
 == 105030-1.html 105030-1-ref.html
 == 109735-1.html 109735-1-ref.html
 == 116882-1.html 116882-1-ref.html
 == 120834-1a.html 120834-1-ref.html
 == 120834-2a.html 120834-2-ref.html
 == 120834-2b.html 120834-2-ref.html
 == 120834-2c.html 120834-2-ref.html
 == 120834-2d.html 120834-2-ref.html
@@ -130,35 +130,35 @@ random == 99850-1b.html 99850-1-ref.html
 == 134706-4.html 134706-4-ref.html
 == 134706-5.html 134706-5-ref.html
 == 134706-6.html 134706-6-ref.html
 == 134706-6b.html 134706-6b-ref.html
 == 134706-6c.html 134706-6c-ref.html
 == 134706-7.html 134706-7-ref.html
 == 139550-1a.html 139550-1-ref.html
 == 139550-1b.html 139550-1-ref.html
-== 142233-1.html 142233-1-ref.html
+fails-if(stylo) == 142233-1.html 142233-1-ref.html
 == 144004-1.html 144004-1-ref.html
 == 144004-2.html 144004-2-ref.html
 != 144004-3.html 144004-3-ref.html
-== 163504-1a.html 163504-1-ref.html
-== 163504-1b.html 163504-1-ref.html
-== 163504-2a.html 163504-2-ref.html
-== 163504-2b.html 163504-2-ref.html
+fails-if(stylo) == 163504-1a.html 163504-1-ref.html
+fails-if(stylo) == 163504-1b.html 163504-1-ref.html
+fails-if(stylo) == 163504-2a.html 163504-2-ref.html
+fails-if(stylo) == 163504-2b.html 163504-2-ref.html
 == 167496-1.html 167496-1-ref.html
 == 169749-1.html 169749-1-ref.html
 == 172073-1.html 172073-1-ref.html
 == 175190-1.html 175190-1-ref.html
 == 179596-1a.html 179596-1a-ref.html
 == 179596-1b.html 179596-1b-ref.html
 == 179596-2.html 179596-2-ref.html
 == 179596-2.html 179596-2-ref2.html
 == 179596-2.html 179596-2-ref3.html
-!= 180085-1.html 180085-1-ref.html # fix for 180085 reverted in bug 1010675
-!= 180085-2.html 180085-2-ref.html # fix for 180085 reverted in bug 1010675
+fails-if(stylo) != 180085-1.html 180085-1-ref.html # fix for 180085 reverted in bug 1010675
+fails-if(stylo) != 180085-2.html 180085-2-ref.html # fix for 180085 reverted in bug 1010675
 == 185388-1.html 185388-1-ref.html
 == 186317-1.html 186317-1-ref.html
 == 192902-1.html 192902-ref.html
 == 192767-01.xul 192767-11.xul
 == 192767-02.xul 192767-12.xul
 == 192767-03.xul 192767-13.xul
 == 192767-04.xul 192767-14.xul
 == 192767-05.xul 192767-15.xul
@@ -180,22 +180,22 @@ fails-if(Android&&!asyncPan) != 192767-0
 fails-if(Android&&!asyncPan) != 192767-07.xul 192767-27.xul
 != 192767-11.xul 192767-31.xul
 != 192767-12.xul 192767-32.xul
 fails-if(Android&&!asyncPan) != 192767-13.xul 192767-33.xul
 != 192767-14.xul 192767-34.xul
 != 192767-15.xul 192767-35.xul
 fails-if(Android&&!asyncPan) != 192767-16.xul 192767-36.xul
 fails-if(Android&&!asyncPan) != 192767-17.xul 192767-37.xul
-!= 200774-1.html about:blank
+fails-if(stylo) != 200774-1.html about:blank
 == 201215-1.html 201215-1-ref.html
-== 201293-1a.html 201293-1-ref.html
-== 201293-1b.html 201293-1-ref.html
-== 201293-1c.html 201293-1-ref.html
-== 201293-1d.html 201293-1-ref.html
+fails-if(stylo) == 201293-1a.html 201293-1-ref.html
+fails-if(stylo) == 201293-1b.html 201293-1-ref.html
+fails-if(stylo) == 201293-1c.html 201293-1-ref.html
+fails-if(stylo) == 201293-1d.html 201293-1-ref.html
 == 203727.html 203727-ref.html
 == 206516-1.html 206516-1-ref.html
 == 206631-1.html 206631-1-ref.html
 == 206802.html 206802-ref.html
 == 210094-1a.html 210094-1-ref.html
 == 210094-1b.html 210094-1-ref.html
 != 210094-1c.html 210094-1-ref.html
 == 210876-1.html 210876-1-ref.html
@@ -209,20 +209,20 @@ fuzzy-if(skiaContent,1,5) == 212563-2.ht
 fuzzy-if(skiaContent,1,4) == 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
-== 233094-2a.html 233094-2-ref.html
-== 233094-2b.html 233094-2-ref.html
-== 233094-2c.html 233094-2-ref.html
+fails-if(stylo) == 233094-1.html 233094-1-ref.html
+fails-if(stylo) == 233094-2a.html 233094-2-ref.html
+fails-if(stylo) == 233094-2b.html 233094-2-ref.html
+fails-if(stylo) == 233094-2c.html 233094-2-ref.html
 == 234686-1.html 234686-ref.html
 == 234686-2.html 234686-ref.html
 == 234686-3.html 234686-ref.html
 == 234686-4.html 234686-ref.html
 == 234686-5.html 234686-ref.html
 == 234686-6.html 234686-ref.html
 == 234686-7.html 234686-ref.html
 == 234686-8.html 234686-ref.html
@@ -232,41 +232,41 @@ fuzzy-if(skiaContent,1,4) == 220165-1.sv
 == 234686-12.html 234686-ref.html
 == 234686-13.html 234686-ref.html
 == 234686-14.html 234686-ref.html
 == 234686-15.html 234686-ref.html
 == 234686-16.html 234686-ref.html
 == 234686-17.html 234686-ref.html
 == 234686-18.html 234686-ref.html
 == 234686-19.html 234686-ref.html
-== 234964-1.html 234964-1-ref.html
+fails-if(stylo) == 234964-1.html 234964-1-ref.html
 == 234964-2.html 234964-2-ref.html
 == 235593-1.html 235593-1-ref.html
-fuzzy-if(skiaContent,4,2) == 236539-1.html 236539-1-ref.html
+fuzzy-if(skiaContent,4,2) fails-if(stylo) == 236539-1.html 236539-1-ref.html
 == 240029-1.html 240029-1-ref.html
-== 240470-1.html 240470-1-ref.html
-== 240933-1.html 240933-1-ref.html
-skip-if(Android) == 240933-2.html 240933-2-ref.html
+fails-if(stylo) == 240470-1.html 240470-1-ref.html
+fails-if(stylo) == 240933-1.html 240933-1-ref.html
+skip-if(Android) fails-if(stylo) == 240933-2.html 240933-2-ref.html
 == 243266-1.html 243266-1-ref.html
 == 243302-1.html 243302-1-ref.html
-skip-if(Android&&asyncPan) == 243519-1.html 243519-1-ref.html
+skip-if(Android&&asyncPan) fails-if(stylo) == 243519-1.html 243519-1-ref.html
 == 243519-2.html 243519-2-ref.html
 == 243519-3.html 243519-3-ref.html
 == 243519-4a.html 243519-4-ref.html
 == 243519-4b.html 243519-4-ref.html
 == 243519-4c.html 243519-4-ref.html
 == 243519-4d.html 243519-4-ref.html
 == 243519-4e.html 243519-4-ref.html
 == 243519-4f.html 243519-4-ref.html
 == 243519-5a.html 243519-5-ref.html
 == 243519-5b.html 243519-5-ref.html
 == 243519-5c.html 243519-5-ref.html
 == 243519-5d.html 243519-5-ref.html
 == 243519-6.html 243519-6-ref.html
-== 243519-7.html 243519-7-ref.html
+fails-if(stylo) == 243519-7.html 243519-7-ref.html
 == 243519-8.svg 243519-8-ref.svg
 == 243519-9a.html 243519-9-ref.html
 == 243519-9b.html 243519-9-ref.html
 == 243519-9c.html 243519-9-ref.html
 == 243519-9d.html 243519-9-ref.html
 == 243519-9e.html 243519-9-ref.html
 == 243519-9f.html 243519-9-ref.html
 == 244135-1.html 244135-1-ref.html
@@ -289,89 +289,89 @@ fuzzy-if(skiaContent,1,5) == 262998-1.ht
 == 269908-4.html 269908-4-ref.html
 == 269908-5.html 269908-5-ref.html
 == 271747-1a.html 271747-1-ref.html
 == 271747-1b.html 271747-1-ref.html
 == 272646-1.xul 272646-1-ref.xul
 == 272646-2a.xul 272646-2-ref.xul
 == 272646-2b.xul 272646-2-ref.xul
 == 272646-2c.xul 272646-2-ref.xul
-fuzzy-if(Android,3,50) fuzzy-if(skiaContent,1,133) == 273681-1.html 273681-1-ref.html
+fuzzy-if(Android,3,50) fuzzy-if(skiaContent,1,133) fails-if(stylo) == 273681-1.html 273681-1-ref.html
 == 278266-1a.html 278266-1-ref.html
 == 278266-1b.html 278266-1-ref.html
-== 280708-1a.html 280708-1-ref.html
-== 280708-1b.html 280708-1-ref.html
+fails-if(stylo) == 280708-1a.html 280708-1-ref.html
+fails-if(stylo) == 280708-1b.html 280708-1-ref.html
 == 281241-1.html 281241-1-ref.html
 == 281241-2.xhtml 281241-1-ref.html
 == 283686-1.html about:blank
 == 283686-2.html 283686-2-ref.html
 == 283686-3.html about:blank
-== 289384-1.xhtml 289384-ref.xhtml
-random-if(d2d) fuzzy-if(Android,8,1439) HTTP == 289480.html#top 289480-ref.html # basically-verbatim acid2 test, HTTP for a 404 page -- bug 578114 for the d2d failures
+fails-if(stylo) == 289384-1.xhtml 289384-ref.xhtml
+random-if(d2d) fuzzy-if(Android,8,1439) skip-if(stylo) HTTP == 289480.html#top 289480-ref.html # basically-verbatim acid2 test, HTTP for a 404 page -- bug 578114 for the d2d failures
 == 290129-1.html 290129-1-ref.html
-== 291078-1.html 291078-1-ref.html
+fails-if(stylo) == 291078-1.html 291078-1-ref.html
 == 291078-2.html 291078-2-ref.html
 == 291262-1.html 291262-1-ref.html
 == 294306-1.html 294306-1a-ref.html
 != 294306-1.html 294306-1b-ref.html
 == 296361-1.html 296361-ref.html
 == 296904-1.html 296904-1-ref.html
-== 299136-1.html 299136-1-ref.html
+fails-if(stylo) == 299136-1.html 299136-1-ref.html
 == 299837-1.html 299837-1-ref.html
 == 299837-2.xul 299837-2-ref.xul
 random-if(d2d) == 299837-3.xul 299837-3-ref.xul # bug 587631
-== 300691-1a.html 300691-1-ref.html
-== 300691-1b.html 300691-1-ref.html
-== 300691-1c.html 300691-1-ref.html
-== 300691-1d.html 300691-1-ref.html
-== 300691-1e.html 300691-1-ref.html
-== 300691-1f.html 300691-1-ref.html
-== 301726-1.html 301726-1-ref.html
-fails-if(Android) != 301726-2.html 301726-2-ref.html
-== 302379.html 302379-ref.html
+fails-if(stylo) == 300691-1a.html 300691-1-ref.html
+fails-if(stylo) == 300691-1b.html 300691-1-ref.html
+fails-if(stylo) == 300691-1c.html 300691-1-ref.html
+fails-if(stylo) == 300691-1d.html 300691-1-ref.html
+fails-if(stylo) == 300691-1e.html 300691-1-ref.html
+fails-if(stylo) == 300691-1f.html 300691-1-ref.html
+fails-if(stylo) == 301726-1.html 301726-1-ref.html
+fails-if(Android) fails-if(stylo) != 301726-2.html 301726-2-ref.html
+fails-if(stylo) == 302379.html 302379-ref.html
 == 306630-1.html 306630-1-ref.html
 == 306660-1.html 306660-1-ref.html
 == 306660-2.html 306660-2-ref.html
 == 306660-3.html 306660-3-ref.html
-== 307076-1.html 307076-1-ref.html
+fails-if(stylo) == 307076-1.html 307076-1-ref.html
 == 307102-1.html 307102-1-ref.html
-== 307102-2.html 307102-2-ref.html
-== 307102-3.html 307102-3-ref.html
+fails-if(stylo) == 307102-2.html 307102-2-ref.html
+fails-if(stylo) == 307102-3.html 307102-3-ref.html
 == 307102-4.html 307102-4-ref.html
 == 308406-1.html 308406-1-ref.html
 == 308406-2.html 308406-2-ref.html
 == 309550-1.html 309550-1-ref.html
 == 309914-1.xul 309914-1-ref.xul
 == 311366-unknown-inline-1.html 311366-unknown-inline-1-ref.html
 == 311366-unknown-block-1.html 311366-unknown-block-1-ref.html
 == 311366-unknown-block-3.html 311366-unknown-block-3-ref.html
 == 311366-unknown-block-2.html 311366-unknown-block-2-ref.html
 == 311366-unknown-inline-2.html 311366-unknown-inline-2-ref.html
 == 311822-1.html 311822-1-ref-a.html
 == 311822-1.html 311822-1-ref-b.html
 == 315620-1a.html 315620-1-ref.html
 != 315620-1b.html 315620-1-ref.html
 == 315620-2a.xhtml 315620-2-ref.xhtml
 != 315620-2b.xhtml 315620-2-ref.xhtml
-== 315920-1a.html 315920-1-ref.html
-== 315920-1b.html 315920-1-ref.html
-!= 315920-1c.html 315920-1-ref.html
-!= 315920-1d.html 315920-1-ref.html
-== 315920-2a.html 315920-2-ref.html
-== 315920-2b.html 315920-2-ref.html
-== 315920-2c.html 315920-2-ref.html
-== 315920-3a.html 315920-3-ref.html
-== 315920-3b.html 315920-3-ref.html
-== 315920-3c.html 315920-3-ref.html
-== 315920-3d.html 315920-3-ref.html
-!= 315920-3e.html 315920-3-ref.html
-!= 315920-3f.html 315920-3-ref.html
-== 315920-4.html 315920-4-ref.html
-fuzzy-if(skiaContent,1,1468) == 315920-5.html 315920-5-ref.html
-== 315920-6.html 315920-6-ref.html
+fails-if(stylo) == 315920-1a.html 315920-1-ref.html
+fails-if(stylo) == 315920-1b.html 315920-1-ref.html
+fails-if(stylo) != 315920-1c.html 315920-1-ref.html
+fails-if(stylo) != 315920-1d.html 315920-1-ref.html
+fails-if(stylo) == 315920-2a.html 315920-2-ref.html
+fails-if(stylo) == 315920-2b.html 315920-2-ref.html
+fails-if(stylo) == 315920-2c.html 315920-2-ref.html
+fails-if(stylo) == 315920-3a.html 315920-3-ref.html
+fails-if(stylo) == 315920-3b.html 315920-3-ref.html
+fails-if(stylo) == 315920-3c.html 315920-3-ref.html
+fails-if(stylo) == 315920-3d.html 315920-3-ref.html
+fails-if(stylo) != 315920-3e.html 315920-3-ref.html
+fails-if(stylo) != 315920-3f.html 315920-3-ref.html
+fails-if(stylo) == 315920-4.html 315920-4-ref.html
+fuzzy-if(skiaContent,1,1468) fails-if(stylo) == 315920-5.html 315920-5-ref.html
+fails-if(stylo) == 315920-6.html 315920-6-ref.html
 fuzzy-if(Android&&isDebugBuild,229,45) == 315920-7a.html 315920-7-ref.html # bug 1342240
 fuzzy-if(Android&&isDebugBuild,229,45) == 315920-7b.html 315920-7-ref.html # bug 1342240
 fuzzy-if(Android&&isDebugBuild,229,45) == 315920-7c.html 315920-7-ref.html # bug 1342240
 fuzzy-if(Android&&isDebugBuild,229,45) == 315920-8a.html 315920-8-ref.html # bug 1342240
 fuzzy-if(Android&&isDebugBuild,229,45) == 315920-8b.html 315920-8-ref.html # bug 1342240
 == 315920-9.html 315920-9-ref.html
 == 315920-10.html 315920-10-ref.html
 == 315920-11.html 315920-11-ref.html
@@ -383,117 +383,117 @@ fuzzy-if(Android&&isDebugBuild,229,45) =
 == 315920-14.html 315920-14-ref.html
 == 315920-15.html 315920-15-ref.html
 == 315920-16.html 315920-16-ref.html
 == 315920-17.html 315920-17-ref.html
 == 315920-18a.html 315920-18-ref.html
 == 315920-18b.html 315920-18-ref.html
 == 315920-18c.html 315920-18-ref.html
 == 315920-18d.html 315920-18-ref.html
-== 315920-18e.html 315920-18-ref.html
-== 315920-18f.html 315920-18-ref.html
-== 315920-18g.html 315920-18-ref.html
+fails-if(stylo) == 315920-18e.html 315920-18-ref.html
+fails-if(stylo) == 315920-18f.html 315920-18-ref.html
+fails-if(stylo) == 315920-18g.html 315920-18-ref.html
 == 315920-18h.html 315920-18-ref.html
 == 315920-18i.html 315920-18-ref.html
 == 315920-19.html 315920-19-ref.html
 == 315920-20.svg 315920-20-ref.svg
 == 315920-21.svg 315920-21-ref.svg
-== 315920-22.html 315920-22-ref.html
-== 315920-23.html 315920-23-ref.html
+fails-if(stylo) == 315920-22.html 315920-22-ref.html
+fails-if(stylo) == 315920-23.html 315920-23-ref.html
 == 315920-24.html 315920-24-ref.html
 == 315920-25.html 315920-25-ref.html
 == 315920-26.html 315920-26-ref.html
-== 315920-27.html 315920-27-ref.html
-== 315920-28a.html 315920-28-ref.html
-== 315920-28b.html 315920-28-ref.html
-== 315920-28c.html 315920-28-ref.html
-== 315920-29a.html 315920-29-ref.html
-== 315920-29b.html 315920-29-ref.html
-== 315920-30.html 315920-30-ref.html
+fails-if(stylo) == 315920-27.html 315920-27-ref.html
+fails-if(stylo) == 315920-28a.html 315920-28-ref.html
+fails-if(stylo) == 315920-28b.html 315920-28-ref.html
+fails-if(stylo) == 315920-28c.html 315920-28-ref.html
+fails-if(stylo) == 315920-29a.html 315920-29-ref.html
+fails-if(stylo) == 315920-29b.html 315920-29-ref.html
+fails-if(stylo) == 315920-30.html 315920-30-ref.html
 == 316057-1.html 316057-1-ref.html
 == 320979-1.html 320979-1-ref.html
 != 321402-1.html about:blank
 != 321402-2.html about:blank
 == 321402-3.xul 321402-3-ref.xul
 == 321402-4.xul 321402-4-ref.xul
 == 321402-5.xul 321402-5-ref.xul
 == 321402-6.xul 321402-6-ref.xul
 == 321738-1.html 321738-1-ref.html
 == 322436-1.html 322436-1-ref.html
 == 322461-1.xml 322461-1-ref.html
 == 323656-1.html 323656-1-ref.html
 == 323656-2.html 323656-2-ref.html
-== 323656-3.html 323656-3-ref.html
+fails-if(stylo) == 323656-3.html 323656-3-ref.html
 == 323656-4.html 323656-4-ref.html
 == 323656-5.svg 323656-5-ref.svg
 == 323656-6.html 323656-6-ref.html
 fuzzy-if(Android,2,140) == 325292-1.html 325292-1-ref.html
-== 325486-1.html 325486-1-ref.html
+fails-if(stylo) == 325486-1.html 325486-1-ref.html
 == 328111-1.html 328111-1-ref.html
 random == 328829-1.xhtml 328829-1-ref.xhtml # bug 369046 (intermittent)
 == 328829-2.xhtml 328829-2-ref.xhtml
 == 329359-1.html 329359-1-ref.html
-== 331809-1.html 331809-1-ref.html # bug 580499 is blacked out
+fails-if(stylo) == 331809-1.html 331809-1-ref.html # bug 580499 is blacked out
 == 332360.html 332360-ref.html
 == 332360-ltr.html 332360-ltr-ref.html
 == 332360-width.html 332360-ref.html
 == 332360-width-ltr.html 332360-ltr-ref.html
-== 332557-1.html 332557-1-ref.html
+fails-if(stylo) == 332557-1.html 332557-1-ref.html
 == 332975-1.html 332975-1-ref.html
 == 333970-1.html 333970-1-ref.html
 == 334829-1a.xhtml 334829-1-ref.xhtml
 == 334829-1b.xhtml 334829-1-ref.xhtml
-== 335628-1.html 335628-1-ref.html
+fails-if(stylo) == 335628-1.html 335628-1-ref.html
 != 335628-2.xul 335628-2-ref.xul
 == 336096-1.xul 336096-1-ref.xul
-== 336147-1.html 336147-1-ref.html
-== 336153-1.html 336153-1-ref.html
-!= 338251-p.html about:blank
-== 338251-p-oh.html 338251-p-oh-ref.html
-!= 338251-pre.html about:blank
-== 338251-pre-oh.html 338251-pre-oh-ref.html
+fails-if(stylo) == 336147-1.html 336147-1-ref.html
+fails-if(stylo) == 336153-1.html 336153-1-ref.html
+fails-if(stylo) != 338251-p.html about:blank
+fails-if(stylo) == 338251-p-oh.html 338251-p-oh-ref.html
+fails-if(stylo) != 338251-pre.html about:blank
+fails-if(stylo) == 338251-pre-oh.html 338251-pre-oh-ref.html
 fuzzy-if(skiaContent,2,3) == 339289-1.html 339289-1-ref.html
 == 341043-1a.html 341043-1-ref.html
 != 341043-1b.html 341043-1-ref.html
 == 343538-1.html 343538-1-ref.html
 == 343540-1.html 343540-1-ref.html
-== 345267-1a.html 345267-1-ref.html
-== 345267-1b.html 345267-1-ref.html
-== 345267-1c.html 345267-1-ref.html
-== 345267-1d.html 345267-1-ref.html
+fails-if(stylo) == 345267-1a.html 345267-1-ref.html
+fails-if(stylo) == 345267-1b.html 345267-1-ref.html
+fails-if(stylo) == 345267-1c.html 345267-1-ref.html
+fails-if(stylo) == 345267-1d.html 345267-1-ref.html
 != 345563-sub.xhtml 345563-sup.xhtml
 == 346189-1.xul 346189-1-ref.xul
-fuzzy-if(skiaContent,4,2) == 346774-1a.html 346774-1-ref.html
-fuzzy-if(skiaContent,4,2) == 346774-1b.html 346774-1-ref.html
-fuzzy-if(skiaContent,4,2) == 346774-1c.html 346774-1-ref.html
+fuzzy-if(skiaContent,4,2) fails-if(stylo) == 346774-1a.html 346774-1-ref.html
+fuzzy-if(skiaContent,4,2) fails-if(stylo) == 346774-1b.html 346774-1-ref.html
+fuzzy-if(skiaContent,4,2) fails-if(stylo) == 346774-1c.html 346774-1-ref.html
 == 347348-1.xhtml 347348-1-ref.xhtml
-== 347496-1.xhtml 347496-1-ref.xhtml
+fails-if(stylo) == 347496-1.xhtml 347496-1-ref.xhtml
 == 347912-1.html 347912-1-ref.html
-== 348049-1.xhtml 348049-1-ref.xhtml
-== 348516-1.html 348516-1-ref.html
-== 348516-2.html 348516-2-ref.html
-!= 348516-2.html 348516-2-notref.html
-!= 348516-3.html 348516-3-notref.html
+fails-if(stylo) == 348049-1.xhtml 348049-1-ref.xhtml
+fails-if(stylo) == 348516-1.html 348516-1-ref.html
+fails-if(stylo) == 348516-2.html 348516-2-ref.html
+fails-if(stylo) != 348516-2.html 348516-2-notref.html
+fails-if(stylo) != 348516-3.html 348516-3-notref.html
 == 348597-1.html 348597-ref.html
 == 348809-1a.html 348809-1-ref.html
 == 348809-1b.html 348809-1-ref.html
 == 348809-1c.html 348809-1-ref.html
 == 348809-1d.html 348809-1-ref.html
 == 348809-1e.html 348809-1-ref.html
 == 348809-1f.html 348809-1-ref.html
 == 348809-2a.html 348809-2-ref.html
 == 348809-2b.html 348809-2-ref.html
 == 348809-2c.html 348809-2-ref.html
 == 348809-2d.html 348809-2-ref.html
 == 348809-2e.html 348809-2-ref.html
 == 348809-2f.html 348809-2-ref.html
 == 348809-2g.html 348809-2-ref.html
 == 348809-2h.html 348809-2-ref.html
-== 349695-1a.html 349695-1-ref.html
-== 349695-1b.html 349695-1-ref.html
+fails-if(stylo) == 349695-1a.html 349695-1-ref.html
+fails-if(stylo) == 349695-1b.html 349695-1-ref.html
 # fails with CoreText rendering due to clipping of one subpixel-antialiasing pixel at end of text
 random-if(cocoaWidget) == 350506-1.html 350506-1-ref.html
 == 351641-1a.html 351641-1-ref.html
 == 351641-1b.html 351641-1-ref.html
 == 351641-2a.html 351641-2-ref.html
 == 351641-2b.html 351641-2-ref.html
 == 352980-1a.html 352980-1-ref.html
 == 352980-1b.html 352980-1-ref.html
@@ -522,17 +522,17 @@ random-if(cocoaWidget) == 350506-1.html 
 == 355548-1.xml 355548-1-ref.xml
 == 355548-2.xml 355548-2-ref.xml
 == 355548-3.xml 355548-3-ref.xml
 == 355548-4.xml 355548-4-ref.xml
 == 355548-5.xml 355548-5-ref.xml
 == 356774-1.html 356774-1-ref.html
 == 356775-1.html 356775-1-ref.html
 == 359869-1.html 359869-1-ref.html
-!= 359903-1.html 359903-1-ref.html # erosion of padding removed in bug 1010675
+fails-if(stylo) != 359903-1.html 359903-1-ref.html # erosion of padding removed in bug 1010675
 != 359903-2.html 359903-2-ref.html # erosion of padding removed in bug 1010675
 == 360065-1.html 360065-1-ref.html
 == 360746-1.html 360746-1-ref.html
 == 360757-1a.html 360757-1-ref.html
 == 360757-1b.html 360757-1-ref.html
 == 361091-1.html 361091-1-ref.html
 == 362594-1a.html 362594-1-quirks-ref.html
 == 362594-1b.html 362594-1-quirks-ref.html
@@ -544,47 +544,47 @@ random-if(cocoaWidget) == 350506-1.html 
 fuzzy-if(skiaContent,2,4) == 362594-2c.html 362594-2-standards-ref.html
 == 362901-1.html 362901-1-ref.html
 == 363247-1.html 363247-1-ref.html
 == 363329-1.html 363329-1-ref.html
 == 363329-2.html 363329-2-ref.html
 == 363370-1.html 363370-1-ref.html
 == 363402-1.html 363402-1-ref.html
 == 363637-1.html 363637-1-ref.html
-skip-if(Android) == 363706-1.html 363706-1-ref.html
-!= 363706-1.html about:blank
-== 363728-1.html 363728-1-ref.html
+skip-if(Android) fails-if(stylo) == 363706-1.html 363706-1-ref.html
+fails-if(stylo) != 363706-1.html about:blank
+fails-if(stylo) == 363728-1.html 363728-1-ref.html
 == 363728-2.html 363728-2-ref.html
-fuzzy-if(skiaContent||Android,4,11) == 363858-1.html 363858-1-ref.html
-== 363858-2.html 363858-2-ref.html
-== 363858-3.html 363858-3-ref.html
-== 363858-4.html 363858-4-ref.html
-fuzzy-if(OSX,45,2) fuzzy-if(winWidget,114,1) == 363858-5a.html 363858-5-ref.html
-== 363858-5b.html 363858-5-ref.html
-fuzzy-if(OSX,45,2) fuzzy-if(winWidget,114,1) == 363858-6a.html 363858-6-ref.html
-== 363858-6b.html 363858-6-ref.html
+fuzzy-if(skiaContent||Android,4,11) fails-if(stylo) == 363858-1.html 363858-1-ref.html
+fails-if(stylo) == 363858-2.html 363858-2-ref.html
+fails-if(stylo) == 363858-3.html 363858-3-ref.html
+fails-if(stylo) == 363858-4.html 363858-4-ref.html
+fuzzy-if(OSX,45,2) fuzzy-if(winWidget,114,1) fails-if(stylo) == 363858-5a.html 363858-5-ref.html
+fails-if(stylo) == 363858-5b.html 363858-5-ref.html
+fuzzy-if(OSX,45,2) fuzzy-if(winWidget,114,1) fails-if(stylo) == 363858-6a.html 363858-6-ref.html
+fails-if(stylo) == 363858-6b.html 363858-6-ref.html
 == 363874.html 363874-ref.html
 == 363874-max-width.html 363874-max-width-ref.html
 == 364066-1.html 364066-1-ref.html
 == 364079-1.html 364079-1-ref.html
 == 364318-1.xhtml 364318-1-ref.xhtml
 == 364861-1.html 364861-1-ref.html
-== 364862-1.html 364862-1-ref.html
+fails-if(stylo) == 364862-1.html 364862-1-ref.html
 == 364968-1.xul 364968-1-ref.html
 == 364989-1.html 364989-1-ref.html
 == 365173-1.html 365173-1-ref.html
 == 366207-1.xul 366207-1-ref.xul
 == 366616-1.xul 366616-1-ref.xul
 == 367220-1.html 367220-1-ref.html
 == 367247-s-visible.html 367247-s-hidden.html
 == 367247-s-hidden.html 367247-s-auto.html
 fails-if(Android) != 367247-s-auto.html 367247-s-scroll.html
 != 367247-l-visible.html 367247-l-hidden.html
 fails-if(Android&&!asyncPan) != 367247-l-hidden.html 367247-l-scroll.html
-== 367247-l-scroll.html 367247-l-auto.html
+fails-if(stylo) == 367247-l-scroll.html 367247-l-auto.html
 == 367332-1a.html 367332-1-ref.html
 == 367332-1b.html 367332-1-ref.html
 == 367332-1c.html 367332-1-ref.html
 == 367332-1d.html 367332-1-ref.html
 == 367332-1e.html 367332-1-ref.html
 == 367332-1f.html 367332-1-ref.html
 == 367332-1g.html 367332-1-ref.html
 == 367375-1.html 367375-1-ref.html
@@ -599,17 +599,17 @@ fails-if(Android&&!asyncPan) != 367247-l
 == 367612-1e.html 367612-1-ref.html
 == 367612-1f.html 367612-1-ref.html
 != 367612-1g.html 367612-1-ref.html
 fuzzy-if(winWidget||gtkWidget,32,34) fuzzy-if(skiaContent,1,28) == 368020-1.html 368020-1-ref.html
 == 368020-2.html 368020-2-ref.html
 == 368020-3.html 368020-3-ref.html
 pref(layout.css.box-decoration-break.enabled,true) == 368020-5.html 368020-5-ref.html
 == 368155-1.xhtml 368155-1-ref.xhtml
-asserts(4) == 368155-negative-margins-1.html 368155-negative-margins-1-ref.html # bug 387205 / bug 457397
+asserts(4) asserts-if(stylo,8) == 368155-negative-margins-1.html 368155-negative-margins-1-ref.html # bug 387205 / bug 457397
 # we can't test this because there's antialiasing involved, and our comparison
 # is too exact
 # == 368247-1.html 368247-1-ref.html
 == 368247-2.html 368247-2-ref.html
 == 368504-1.html 368504-1-ref.html
 == 368504-2.html 368504-2-ref.html
 == 368504-3a.html 368504-3-ref.html
 == 368504-3b.html 368504-3-ref.html
@@ -618,106 +618,106 @@ asserts(4) == 368155-negative-margins-1.
 == 368504-6.html 368504-6-ref.html
 == 368622-1.html 368622-1-ref.html
 == 368651-1.html 368651-1-ref.html
 == 369361-1.html 369361-1-ref.html
 == 369361-2.html 369361-2-ref.html
 == 369882.xul 369882-ref.xul
 == 369975-1.html 369975-1.html
 == 370353-1.html 370353-1-ref.html
-== 370422-1.html 370422-1-ref.html
+fails-if(stylo) == 370422-1.html 370422-1-ref.html
 == 370525-1.html 370525-1-ref.html
 != 370525-1.html 370525-1-notref.html
 == 370525-2.html 370525-2-ref.html
 != 370525-2.html 370525-2-notref.html
 == 370525-rowspan-1a.html 370525-rowspan-1a-ref.html
 == 370525-rowspan-1b.html 370525-rowspan-1b-ref.html
 == 370525-rowspan-1c.html 370525-rowspan-1c-ref.html
 == 370525-rowspan-2a.html 370525-rowspan-2a-ref.html
 == 370525-rowspan-2b.html 370525-rowspan-2b-ref.html
 == 370525-rowspan-3.html 370525-rowspan-3-ref.html
 == 370525-rowspan-4.html 370525-rowspan-4-ref.html
 == 370525-sib.html 370525-sib-ref.html
 == 370586-1.xhtml 370586-1-ref.xhtml
 == 370629-1.html 370629-1-ref.html
-== 370629-2.html 370629-2-ref.html
+fails-if(stylo) == 370629-2.html 370629-2-ref.html
 == 370692-1.xhtml 370692-1-ref.xhtml
 == 371041-1.html 371041-1-ref.html
-== 371043-1.html 371043-1-ref.html
+fails-if(stylo) == 371043-1.html 371043-1-ref.html
 == 371354-1.html 371354-1-ref.html
 == 371483-1.html about:blank # assertion test
 fails-if(Android&&!asyncPan) == 371561-1.html 371561-1-ref.html
 != 371681-1.xhtml about:blank
 == 371925-1a.html 371925-1-ref.html
 == 371925-1b.html 371925-1-ref.html
-== 372037-1.html 372037-1-ref.html
+fails-if(stylo) == 372037-1.html 372037-1-ref.html
 == 372062-1.html 372062-1-ref.html
 == 372063-1.html 372063-1-ref.html
 == 372323-1.xhtml 372323-1-ref.xhtml
 == 372553-1.html 372553-1-ref.html
 == 372632-1.html 372632-1-ref.html
 == 372768-1.html 372768-1-ref.html
 == 373295-1.html 373295-1-ref.html
 == 373298-1.html 373298-1-ref.html
 fails-if(Android) == 373381-1.html 373381-1-ref.html
 fails-if(Android) fuzzy-if(skiaContent&&!Android,2,40) == 373381-2.html 373381-2-ref.html
 fails-if(Android) random-if(d2d) == 373381-3.html 373381-3-ref.html
 fails-if(Android) == 373381-4.html 373381-4-ref.html
 == 373383-1.html 373383-1-ref.html
-== 373433-1.html 373433-1-ref.html
+fails-if(stylo) == 373433-1.html 373433-1-ref.html
 == 373533-1.xhtml about:blank
 == 373533-2.xhtml about:blank
 == 373533-3.xhtml about:blank
 == 374038-1.xul 374038-1-ref.xul
 == 374038-2.xul 374038-2-ref.xul
 random-if(d2d) == 374719-1.xul 374719-1-ref.xul
-fails == 374927-1.html 374927-1-ref.html # Was broken by patch for bug 368600; fails until bug 400776 is fixed
+fails-if(!stylo) == 374927-1.html 374927-1-ref.html # Was broken by patch for bug 368600; fails until bug 400776 is fixed
 == 375508-1.html 375508-1-ref.html
 == 375716-1.html 375716-1-ref.html
 == 375827-1.html 375827-1-ref.html
-== 376375-1.html 376375-1-ref.html
+fails-if(stylo) == 376375-1.html 376375-1-ref.html
 == 376484-1.html 376484-1-ref.html
 == 376532-1.html 376532-1-ref.html
 fails-if(Android) != 376532-2.html 376532-2-ref.html
 fails-if(Android) != 376532-3.html 376532-3-ref.html
 == 377603-1.html 377603-1-ref.html
 == 377918.html 377918-ref.html
 == 378535-1.html 378535-1-ref.html
-== 378933-1.html 378933-1-ref.html
-== 378935-1.html 378935-1-ref.html
-== 378937-1.html 378937-1-ref.html
+fails-if(stylo) == 378933-1.html 378933-1-ref.html
+fails-if(stylo) == 378935-1.html 378935-1-ref.html
+fails-if(stylo) == 378937-1.html 378937-1-ref.html
 == 379178-xhtml.xhtml 379178-xhtml-ref.xhtml
 == 379178-html.html 379178-html-ref.html
 == 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
-fuzzy-if(Android,2,140) == 379349-3a.xhtml 379349-3-ref.xhtml
-fuzzy-if(Android,2,140) == 379349-3b.xhtml 379349-3-ref.xhtml
+fuzzy-if(Android,2,140) fails-if(stylo) == 379349-3a.xhtml 379349-3-ref.xhtml
+fuzzy-if(Android,2,140) fails-if(stylo) == 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
-fails-if(Android&&!asyncPan) != 379461-3-container-xhtml.html 379461-3-container-blank.html # there is a scrollbar
+fails-if(stylo) == 379461-3-container-xhtml.html 379461-3-container-html.html
+fails-if(Android&&!asyncPan) fails-if(stylo) != 379461-3-container-xhtml.html 379461-3-container-blank.html # there is a scrollbar
 fuzzy-if(skiaContent,1,5) == 380004-1.html 380004-1-ref.html
 fuzzy-if(skiaContent,2,5) == 380227-1.html 380227-1-ref.html
 == 380825-1.html 380825-1-ref.html
 == 380842-1.html 380842-1-ref.html
 == 381130-1.html 381130-1-ref.html
 fuzzy-if(skiaContent,2,5) == 381507-1.html 381507-1-ref.html
 == 381746-1.html 381746-1-ref.html
-== 382600-1.html 382600-1-ref.html
+fails-if(stylo) == 382600-1.html 382600-1-ref.html
 == 382916-1.html 382916-1-ref.html
 == 383035-1.html about:blank
 == 383035-2.html about:blank
 == 383488-1.html 383488-1-ref.html
 == 383551-1.html 383551-1-ref.html
 == 383883-1.html 383883-1-ref.html
 == 383883-2.html 383883-2-ref.html
 == 383883-3.html 383883-3-ref.html
@@ -729,73 +729,73 @@ fuzzy-if(skiaContent,2,5) == 381507-1.ht
 == 384762-1.html about:blank
 == 384876-1.html 384876-1-ref.html
 == 385533-1.html about:blank # assertion test
 HTTP(..) == 385569-1a.html 385569-1-ref.html
 HTTP(..) == 385569-1b.html 385569-1-ref.html
 == 385607-1.html 385607-1-ref.html
 == 385823-1.html 385823-1-ref.html
 == 385823-2a.html 385823-2-ref.html
-fails == 385823-2b.html 385823-2-ref.html
+fails-if(!stylo) == 385823-2b.html 385823-2-ref.html
 == 385823-2c.html 385823-2-ref.html
-fuzzy-if(skiaContent,2,11) == 385870-1.html 385870-1-ref.html
+fuzzy-if(skiaContent,2,11) fails-if(stylo) == 385870-1.html 385870-1-ref.html
 fuzzy-if(skiaContent,2,3) == 385870-2.html 385870-2-ref.html
 == 386014-1a.html 386014-1-ref.html
 == 386014-1b.html 386014-1-ref.html
 == 386014-1c.html 386014-1-ref.html
 == 386065-1.html 386065-1-ref.html
 == 386065-2.html about:blank
-test-pref(layout.float-fragments-inside-column.enabled,false) fails == 386147-1.html 386147-1-ref.html
-test-pref(layout.float-fragments-inside-column.enabled,true) == 386147-1.html 386147-1-ref.html
+test-pref(layout.float-fragments-inside-column.enabled,false) fails fails-if(stylo) == 386147-1.html 386147-1-ref.html
+test-pref(layout.float-fragments-inside-column.enabled,true) fails-if(stylo) == 386147-1.html 386147-1-ref.html
 == 386310-1a.html 386310-1-ref.html
 == 386310-1b.html 386310-1-ref.html
 == 386310-1c.html 386310-1-ref.html
 == 386310-1d.html 386310-1-ref.html
 == 386401-1.html 386401-1-ref.html
 == 386401-2.html 386401-2-ref.html
 == 386401-3.html 386401-3-ref.html
-== 386470-1a.html 386470-1-ref.html
-== 386470-1b.html 386470-1-ref.html
-== 386470-1c.html 386470-1-ref.html
+fails-if(stylo) == 386470-1a.html 386470-1-ref.html
+fails-if(stylo) == 386470-1b.html 386470-1-ref.html
+fails-if(stylo) == 386470-1c.html 386470-1-ref.html
 == 386920-1.html 386920-1-ref.html
 == 387201-1.html 387201-1-ref.html
 == 387201-2.html about:blank  # Really an assertion test rather than a rendering test
 == 387201-3.html about:blank  # Really an assertion test rather than a rendering test
 == 387227-1.html 387227-1-ref.html
 == 387227-2.html 387227-2-ref.html
-fails == 387344-1.html 387344-1-ref.html # scrolling rowgroups were removed in bug 28800
+fails-if(!stylo) == 387344-1.html 387344-1-ref.html # scrolling rowgroups were removed in bug 28800
 == 387876-1.html 387876-1-ref.html
 == 387876-2.html 387876-2-ref.html
 == 387876-3a.html 387876-3-ref.html
 == 387876-3b.html 387876-3-ref.html
 == 388026-1.html 388026-1-ref.html
 == 389074-1.html 389074-1-ref.html
 == 389224-1.html 389224-1-ref.html
 == 389224-2.html about:blank
-== 389468-1.html 389468-1-ref.html
+fails-if(stylo) == 389468-1.html 389468-1-ref.html
 == 389623-1.html 389623-1-ref.html
 == 389636-1.html about:blank  # assertion test
 == 389924-1a.html 389924-1-ref.html
 == 389924-1b.html 389924-1-ref.html
 != 389924-1a.html about:blank
 == 390318-1a.html 390318-1-ref.html
 == 390318-1b.html 390318-1-ref.html
 == 390318-1c.html 390318-1-ref.html
 == 390318-1d.html 390318-1-ref.html
 == 390318-1e.html 390318-1-ref.html
 == 390318-1f.html 390318-1-ref.html
 skip-if(!winWidget) == 391045.html 391045-ref.html # windows-specific Uniscribe bug, trailing period is matched against different fonts on Mac/Linux (see 396137)
 == 391140-1.html 391140-1-ref.html
 == 391412-1a.html 391412-1-ref.html
 == 391412-1b.html 391412-1-ref.html
-== 391909-1.html 391909-1-ref.html
-skip-if(Android) == 391979.html 391979-ref.html
-== 391994-1.html 391994-1-ref.html
+fails-if(stylo) == 391909-1.html 391909-1-ref.html
+skip-if(Android) fails-if(stylo) == 391979.html 391979-ref.html
+fails-if(stylo) == 391994-1.html 391994-1-ref.html
 == 392047.html 392047-ref.html
-== 392435-1.html 392435-1-ref.html
+fails-if(stylo) == 392435-1.html 392435-1-ref.html
 == 393330-1.html 393330-1-ref.html
 == 393490-1.html 393490-1-ref.html
 == 393517-1.xhtml about:blank  # crash test
 fuzzy-if(skiaContent,1,600) == 393649-1.html 393649-1-ref.html
 == 393655-1.html 393655-1-ref.html
 == 393655-2.html 393655-2-ref.html
 == 393655-3.html 393655-3-ref.html
 == 393655-4.html 393655-4-ref.html
@@ -803,66 +803,66 @@ fuzzy-if(skiaContent,1,600) == 393649-1.
 == 393671-1.html 393671-1-ref.html
 == 393671-2.html 393671-2-ref.html
 == 393671-3.html 393671-3-ref.html
 == 393760-1.xml 393760-1-ref.xml
 fuzzy-if(skiaContent,1,500) == 393760-2.xml 393760-2-ref.xml
 == 394111-1.html about:blank  # Really an assertion test rather than a rendering test
 == 394534-1.html 394534-1-ref.html
 == 394676-1.xhtml 394676-1-ref.xhtml
-== 395107-1.html 395107-1-ref.html
-fuzzy-if(Android,4,2) == 395107-2.html 395107-2-ref.html # bug 1309533 fuzzy after test rebucketed
-fuzzy-if(skiaContent,1,118) == 395107-3.html 395107-3-ref.html
-== 395107-4.html 395107-4-ref.html
-== 395107-5.html 395107-5-ref.html
-== 395130-1.html 395130-1-ref.html
-== 395130-2.html 395130-2-ref.html
+fails-if(stylo) == 395107-1.html 395107-1-ref.html
+fuzzy-if(Android,4,2) fails-if(stylo) == 395107-2.html 395107-2-ref.html # bug 1309533 fuzzy after test rebucketed
+fuzzy-if(skiaContent,1,118) fails-if(stylo) == 395107-3.html 395107-3-ref.html
+fails-if(stylo) == 395107-4.html 395107-4-ref.html
+fails-if(stylo) == 395107-5.html 395107-5-ref.html
+fails-if(stylo) == 395130-1.html 395130-1-ref.html
+fails-if(stylo) == 395130-2.html 395130-2-ref.html
 == 395331-1.xml 395331-1-ref.xml
 == 395390-1.html 395390-1-ref.html
 == 396286-1.html about:blank  # crash test
 fuzzy-if(Android,5,283) == 397428-1.html 397428-1-ref.html
 == 397844-1.xhtml 397844-1-ref.xhtml
 == 398092-1.html 398092-1-ref.html
-== 398101-1.html 398101-1-ref.html
+fails-if(stylo) == 398101-1.html 398101-1-ref.html
 == 398144-1.html 398144-1-ref.html
 fuzzy-if(skiaContent,2,21) == 398682-1.html 398682-1-ref.html
 == 398797-1a.html 398797-1-ref.html
 == 398797-1b.html 398797-1-ref.html
 == 398797-1c.html 398797-1-ref.html
 == 398797-1d.html 398797-1-ref.html
 == 399209-1.html 399209-1-ref.html
 == 399209-2.html 399209-2-ref.html
 == 399258-1.html 399258-1-ref.html
-== 399384-1.html 399384-1-ref.html
+fails-if(stylo) == 399384-1.html 399384-1-ref.html
 random-if(gtkWidget) == 399636-standards-css.html 399636-standards-ref.html # bug 429022
 random-if(gtkWidget) == 399636-standards-html.html 399636-standards-ref.html # bug 429022
 random-if(gtkWidget) == 399636-quirks-css.html 399636-quirks-ref.html # bug 429022
 # We can't rely on this test working on platforms other than Windows and
 # Mac because they need not have a font called "Symbol".
 fails-if(winWidget) fails-if(cocoaWidget) random-if(!cocoaWidget&&!winWidget) != 399636-quirks-html.html 399636-quirks-ref.html # windows failure bug 429017, mac failure bug 429019
 == 400081-1.html about:blank
 == 400171-1a.html 400171-1-ref.html
 == 400171-1b.html 400171-1-ref.html
 == 400171-1c.html 400171-1-ref.html
 == 400171-2a.html 400171-2-ref.html
 == 400171-2b.html 400171-2-ref.html
 == 400171-2c.html 400171-2-ref.html
 == 400421-1.html 400421-1-ref.html
 == 400813-1.html 400813-1-ref.html
-== 400826-1.html 400826-1-ref.html
+fails-if(stylo) == 400826-1.html 400826-1-ref.html
 == 401946-1.xul about:blank
 == 402338-1.html 402338-1-ref.html
 == 402567-1.html 402567-1-ref.html
-== 402567-2.html 402567-2-ref.html
-== 402567-3.html 402567-3-ref.html
-fuzzy-if(gtkWidget,2,40) == 402567-4.html 402567-4-ref.html
+fails-if(stylo) == 402567-2.html 402567-2-ref.html
+fails-if(stylo) == 402567-3.html 402567-3-ref.html
+fuzzy-if(gtkWidget,2,40) fails-if(stylo) == 402567-4.html 402567-4-ref.html
 fuzzy-if(skiaContent,2,5) == 402629-1.html 402629-1-ref.html
 fuzzy-if(skiaContent,2,5) == 402629-2.html 402629-2-ref.html
 fuzzy-if(skiaContent,2,5) == 402629-3.html 402629-3-ref.html
-== 402807-1.html 402807-1-ref.html
+fails-if(stylo) == 402807-1.html 402807-1-ref.html
 == 402940-1.html 402940-1-ref.html
 == 402940-1b.html 402940-1-ref.html
 != 402940-2.html 402940-2-notref.html
 != 402940-3.html 402940-3-notref.html
 == 402950-1.html 402950-1-ref.html
 == 403129-1.html 403129-1-ref.html
 == 403129-2.html 403129-2-ref.html
 == 403129-3.html 403129-3-ref.html
@@ -886,114 +886,114 @@ random == 403134-1.html 403134-1-ref.htm
 == 403656-5.html 403656-5-ref.html
 #== 403657-1.html 403657-1-ref.html  # Fails depending on the fonts...
 == 403733-1.html 403733-1-ref.html
 == 403962-1.xhtml 403962-1-ref.xhtml
 == 404030-1.html 404030-1-ref.html
 != 404030-1-notref.html 404030-1.html
 != 404030-1-notref2.html 404030-1.html
 fuzzy-if(skiaContent,2,4) == 404123-1.html 404123-1-ref.html
-== 404123-2.html 404123-2-ref.html
+fails-if(stylo) == 404123-2.html 404123-2-ref.html
 != 404123-3.html 404123-3-ref.html
 # may fail "randomly" on OS X, doesn't seem to be rendering usefully anyhow - bug 602469
 random-if(cocoaWidget) HTTP(..) == 404149-1.xul 404149-1-ref.xul # HTTP for fonts directory access
 == 404180-1.html 404180-1-ref.html
 == 404301-1.html 404301-1-ref.html
 == 404309-1a.html 404309-1-ref.html
 == 404309-1b.html 404309-1-ref.html
 # Disabled due to compartments for now.
 #!= data:application/xml,<foo/> data:text/plain, # ensure we pretty-print this XML instead of letting it appear blank (test for bug 404419)
-fuzzy-if(Android,8,50) == 404553-1.html 404553-1-ref.html  # assertion test, also tests that marquee binding is applied correctly
+fuzzy-if(Android,8,50) fails-if(stylo) == 404553-1.html 404553-1-ref.html  # assertion test, also tests that marquee binding is applied correctly
 == 404666-1.html 404666-1-ref.html
 == 404666-2.html 404666-2-ref.html
 == 405186-1.xhtml about:blank
 == 405305-1.html 405305-1-ref.html
 == 405380-1.html 405380-1-ref.html
 == 405517-1.xhtml 405517-1-ref.xhtml
 == 405577-1.html 405577-1-ref.html
 == 405584-1.html 405584-1-ref.html
 # == 405952-1.html 405952-1-ref.html
 == 406484-1.html 406484-1-ref.html
 == 406568-1.html 406568-1-ref.html
-== 407016-1-a.html 407016-1-ref.html
-== 407016-1-b.html 407016-1-ref.html
-== 407078-1.html 407078-1-ref.html
-== 407095-1.html 407095-1-ref.html
+fails-if(stylo) == 407016-1-a.html 407016-1-ref.html
+fails-if(stylo) == 407016-1-b.html 407016-1-ref.html
+fails-if(stylo) == 407078-1.html 407078-1-ref.html
+fails-if(stylo) == 407095-1.html 407095-1-ref.html
 fuzzy-if(Android,13,9) == 407111-1.html 407111-1-ref.html  # Bug 1128229
 == 407227-1.html 407227-1-ref.html
 == 407243-1.html 407243-1-ref.html
 == 407419-1.html 407419-1-ref.html
 == 407937-1.html 407937-1-ref.html
 == 408493-1.html about:blank
 == 408493-2.html 408493-2-ref.html
 == 408656-1a.html 408656-1-ref.html
 == 408656-1b.html 408656-1-ref.html
 == 408656-1c.html 408656-1-ref.html
-== 408782-1a.html 408782-1-ref.html
-== 408782-1b.html 408782-1-ref.html
+fails-if(stylo) == 408782-1a.html 408782-1-ref.html
+fails-if(stylo) == 408782-1b.html 408782-1-ref.html
 == 408782-2a.html 408782-2-ref.html
-== 408782-2b.html 408782-2-ref.html
+fails-if(stylo) == 408782-2b.html 408782-2-ref.html
 == 409084-1a.html 409084-1-ref.html
 == 409084-1b.html 409084-1-ref.html
 == 409089-1.html 409089-1-ref.html
 == 409089-2.html 409089-2-ref.html
 == 409089-3.html 409089-3-ref.html
 fuzzy-if(winWidget,123,1600) == 409659-1a.html 409659-1-ref.html  # Bug 1128229
 != 409659-1b.html 409659-1-ref.html
-!= 409659-1c.html 409659-1-ref.html
+fails-if(stylo) != 409659-1c.html 409659-1-ref.html
 fuzzy-if(winWidget,123,1900) == 409659-1d.html 409659-1-ref.html  # Bug 1128229
 == 410621-1.html 410621-1-ref.html
 == 411059-1.html 411059-1-ref.html
 == 411334-1.xml 411334-1-ref.xml
 == 411367-1.html 411367-1-ref.html
 == 411367-2.html 411367-2-ref.html
 == 411367-3.html 411367-3-ref.html
-== 411585-1.html 411585-1-ref.html
-== 411585-2.html 411585-2-ref.html
+fails-if(stylo) == 411585-1.html 411585-1-ref.html
+fails-if(stylo) == 411585-2.html 411585-2-ref.html
 fails == 411585-3.html 411585-3-ref.html # bug 426909
 == 411792-1.html 411792-1-ref.html
 == 412093-1.html 412093-1-ref.html
-== 412352-1.html 412352-1-ref.html
-== 412352-2.html 412352-2-ref.html
+fails-if(stylo) == 412352-1.html 412352-1-ref.html
+fails-if(stylo) == 412352-2.html 412352-2-ref.html
 == 412607-1a.html 412607-1-ref.html
 == 412607-1b.html 412607-1-ref.html
 random-if(Android) == 412679-1.html 412679-1-ref.html
 fuzzy-if(skiaContent,1,17) == 412679-2.html 412679-2-ref.html
 == 413027-1.html 413027-1-ref.html
-fails == 413027-2.html 413027-2-ref.html
-fails == 413027-3.html 413027-3-ref.html
+fails-if(!stylo) == 413027-2.html 413027-2-ref.html
+fails-if(!stylo) == 413027-3.html 413027-3-ref.html
 == 413286-1a.html 413286-1-ref.html
 == 413286-1b.html 413286-1-ref.html
 == 413286-1c.html 413286-1-ref.html
 == 413286-2a.html 413286-2-ref.html
 == 413286-2b.html 413286-2-ref.html
 == 413286-2c.html 413286-2-ref.html
 == 413286-3.html 413286-3-ref.html
 == 413286-4a.html 413286-4-ref.html
 == 413286-4b.html 413286-4-ref.html
 == 413286-5.html 413286-5-ref.html
 == 413286-6.html 413286-6-ref.html
 == 413292-1.html 413292-1-ref.html
 fuzzy-if(Android,11,17) == 413361-1.html 413361-1-ref.html # bug 1128229
 == 413840-background-unchanged.html 413840-background-unchanged-ref.html
 == 413840-ltr-offsets.html 413840-ltr-offsets-ref.html
 == 413840-rtl-offsets.html 413840-rtl-offsets-ref.html
-== 413840-pushed-line-bullet.html 413840-pushed-line-bullet-ref.html
+fails-if(stylo) == 413840-pushed-line-bullet.html 413840-pushed-line-bullet-ref.html
 == 413840-bullet-first-line.html 413840-bullet-first-line-ref.html
 == 413982.html 413982-ref.html
 == 414123.xhtml 414123-ref.xhtml
 == 414638.html 414638-ref.html
-== 414851-1.html 414851-1-ref.html
-== 416106-1.xhtml 416106-1-ref.xhtml
+fails-if(stylo) == 414851-1.html 414851-1-ref.html
+fails-if(stylo) == 416106-1.xhtml 416106-1-ref.xhtml
 == 416752-1.html 416752-1-ref.html
 == 417178-1.html 417178-1-ref.html
 == 417246-1.html 417246-1-ref.html
 == 417676.html 417676-ref.html
-asserts(1) == 418574-1.html 418574-1-ref.html # bug 478135
-asserts(1) == 418574-2.html 418574-2-ref.html # bug 478135
+asserts(1) asserts-if(stylo,2) == 418574-1.html 418574-1-ref.html # bug 478135
+asserts(1) asserts-if(stylo,2) == 418574-2.html 418574-2-ref.html # bug 478135
 == 418766-1a.html 418766-1-ref.html
 == 418766-1b.html 418766-1-ref.html
 == 419060.html 419060-ref.html
 == 419285-1.html 419285-1-ref.html
 == 419531-1.html 419531-1-ref.html
 == 420069-1.html 420069-1-ref.html
 == 420069-2.html 420069-2-ref.html
 == 420351-1.html 420351-1-ref.html
@@ -1008,28 +1008,28 @@ asserts(1) == 418574-2.html 418574-2-ref
 == 421203-5.xul 321402-5-ref.xul
 == 421203-6.xul 321402-6-ref.xul
 == 421234-1.html 421234-1-ref.html
 == 421239-1.html 421239-1-ref.html
 == 421239-2.html 421239-2-ref.html
 == 421419-1.html 421419-1-ref.html
 == 421436-1a.html 421436-1-ref.html
 == 421436-1b.html 421436-1-ref.html
-fuzzy-if(skiaContent,1,5) == 421632-1.html 421632-1-ref.html
-!= 421710-1.html about:blank
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == 421632-1.html 421632-1-ref.html
+fails-if(stylo) != 421710-1.html about:blank
 fails-if(Android) fails-if(usesRepeatResampling) == 421885-1.xml 421885-1-ref.xml
 == 421955-1.html 421955-1-ref.html
-== 422249-1.html 422249-1-ref.html
+fails-if(stylo) == 422249-1.html 422249-1-ref.html
 == 422394-1.html 422394-1-ref.html
-== 422678-1.html 422678-1-ref.html
+fails-if(stylo) == 422678-1.html 422678-1-ref.html
 == 423130-1.html 423130-1-ref.html
 == 423385-1.html 423385-1-ref.html
 random-if(gtkWidget) == 423599-1.html 423599-1-ref.html # bug 1309095
 == 423676-1.html 423676-1-ref.html
-fails == 423823-1.html 423823-1-ref.html # scrolling rowgroups were removed in bug 28800
+fails-if(!stylo) == 423823-1.html 423823-1-ref.html # scrolling rowgroups were removed in bug 28800
 == 424074-1.xul 424074-1-ref.xul
 fails-if(Android) != 424074-1.xul 424074-1-ref2.xul
 random-if(gtkWidget) == 424074-1-ref2.xul 424074-1-ref3.xul
 == 424236-1.html 424236-1-ref.html
 == 424236-2.html 424236-2-ref.html
 == 424236-3.html 424236-3-ref.html
 == 424236-4.html 424236-4-ref.html
 == 424236-5.html 424236-5-ref.html
@@ -1038,101 +1038,101 @@ random-if(gtkWidget) == 424074-1-ref2.xu
 == 424236-8.html 424236-8-ref.html
 == 424236-9.html 424236-9-ref.html
 == 424236-10.html 424236-10-ref.html
 == 424236-11.html 424236-3-ref.html
 == 424434-1.html 424434-1-ref.html
 == 424465-1.html 424465-1-ref.html
 == 424631-1.html 424631-1-ref.html
 == 424710-1.html 424710-1-ref.html
-fuzzy-if(skiaContent,1,160000) == 424766-1.html 424766-1-ref.html
+fuzzy-if(skiaContent,1,160000) fails-if(stylo) == 424766-1.html 424766-1-ref.html
 == 425972-1.html 425972-1-ref.html
 == 425972-2.html 425972-2-ref.html
 != 425972-1.html 425972-2.html
 == 426629-1.html 426629-1-ref.html
-asserts(3) != 427017-1.xhtml about:blank # crash test (needs reftest-print). existing assertions are bug 457400.
+asserts(3) asserts-if(stylo,6) != 427017-1.xhtml about:blank # crash test (needs reftest-print). existing assertions are bug 457400.
 == 427129-scrollframe.html 427129-ref.html
 == 427129-table.html 427129-ref.html
 == 427129-image.html 427129-ref.html
 == 427129-table-caption.html 427129-table-caption-ref.html
 fuzzy-if(skiaContent,1,60) == 427370-1.html 427370-1-ref.html
 == 427730-1.html 427730-1-ref.html
 == 428278.html 428278-ref.html
 == 428423-1a.html 428423-1-ref.html
 == 428423-1b.html 428423-1-ref.html
 == 428521-1a.html 428521-1-ref.html
 == 428521-1b.html 428521-1-ref.html
 == 428521-1c.html 428521-1-ref.html
 == 428810-1a-ltr.html 428810-1-ltr-ref.html
 == 428810-1b-ltr.html 428810-1-ltr-ref.html
 == 428810-1c-ltr.html 428810-empty-ltr-ref.html
-fails == 428810-1d-ltr.html 428810-empty-ltr-ref.html # bug 179596
+fails-if(!stylo) == 428810-1d-ltr.html 428810-empty-ltr-ref.html # bug 179596
 != 428810-1-ltr-ref.html about:blank
 == 428810-2a-ltr.html 428810-2-ltr-ref.html
 == 428810-2b-ltr.html 428810-2-ltr-ref.html
-fails == 428810-2e-ltr.html 428810-empty-ltr-ref.html # bug 179596
+fails-if(!stylo) == 428810-2e-ltr.html 428810-empty-ltr-ref.html # bug 179596
 == 428810-2f-ltr.html 428810-empty-ltr-ref.html
 != 428810-2-ltr-ref.html about:blank
 == 428810-3a-ltr.html 428810-3-ltr-ref.html
 == 428810-3b-ltr.html 428810-3-ltr-ref.html
-fails == 428810-3e-ltr.html 428810-empty-ltr-ref.html # bug 179596
+fails-if(!stylo) == 428810-3e-ltr.html 428810-empty-ltr-ref.html # bug 179596
 == 428810-3f-ltr.html 428810-empty-ltr-ref.html
 != 428810-3-ltr-ref.html about:blank
 == 428810-1a-rtl.html 428810-1-rtl-ref.html
 == 428810-1b-rtl.html 428810-1-rtl-ref.html
 == 428810-1c-rtl.html 428810-empty-rtl-ref.html
-fails == 428810-1d-rtl.html 428810-empty-rtl-ref.html # bug 179596
+fails-if(!stylo) == 428810-1d-rtl.html 428810-empty-rtl-ref.html # bug 179596
 != 428810-1-rtl-ref.html about:blank
 != 428810-1-rtl-ref.html 428810-1-ltr-ref.html
 == 428810-2a-rtl.html 428810-2-rtl-ref.html
 == 428810-2b-rtl.html 428810-2-rtl-ref.html
-fails == 428810-2e-rtl.html 428810-empty-rtl-ref.html # bug 179596
+fails-if(!stylo) == 428810-2e-rtl.html 428810-empty-rtl-ref.html # bug 179596
 == 428810-2f-rtl.html 428810-empty-rtl-ref.html
 != 428810-2-rtl-ref.html about:blank
 != 428810-2-rtl-ref.html 428810-2-ltr-ref.html
 == 428810-3a-rtl.html 428810-3-rtl-ref.html
 == 428810-3b-rtl.html 428810-3-rtl-ref.html
-fails == 428810-3e-rtl.html 428810-empty-rtl-ref.html # bug 179596
+fails-if(!stylo) == 428810-3e-rtl.html 428810-empty-rtl-ref.html # bug 179596
 == 428810-3f-rtl.html 428810-empty-rtl-ref.html
 != 428810-3-rtl-ref.html about:blank
 != 428810-3-rtl-ref.html 428810-3-ltr-ref.html
 == 428810-1a-ltr-insets.html 428810-1-ltr-insets-ref.html
 == 428810-1b-ltr-insets.html 428810-1-ltr-insets-ref.html
 == 428810-1c-ltr-insets.html 428810-empty-ltr-insets-ref.html
-fails == 428810-1d-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-1d-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
 != 428810-1-ltr-insets-ref.html about:blank
 == 428810-2a-ltr-insets.html 428810-2-ltr-insets-ref.html
 == 428810-2b-ltr-insets.html 428810-2-ltr-insets-ref.html
-fails == 428810-2e-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-2e-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
 == 428810-2f-ltr-insets.html 428810-empty-ltr-insets-ref.html
 != 428810-2-ltr-insets-ref.html about:blank
 == 428810-3a-ltr-insets.html 428810-3-ltr-insets-ref.html
 == 428810-3b-ltr-insets.html 428810-3-ltr-insets-ref.html
-fails == 428810-3e-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-3e-ltr-insets.html 428810-empty-ltr-insets-ref.html # bug 179596
 == 428810-3f-ltr-insets.html 428810-empty-ltr-insets-ref.html
 != 428810-3-ltr-insets-ref.html about:blank
 == 428810-1a-rtl-insets.html 428810-1-rtl-insets-ref.html
 == 428810-1b-rtl-insets.html 428810-1-rtl-insets-ref.html
 == 428810-1c-rtl-insets.html 428810-empty-rtl-insets-ref.html
-fails == 428810-1d-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-1d-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
 != 428810-1-rtl-insets-ref.html about:blank
 != 428810-1-rtl-insets-ref.html 428810-1-ltr-insets-ref.html
 == 428810-2a-rtl-insets.html 428810-2-rtl-insets-ref.html
 == 428810-2b-rtl-insets.html 428810-2-rtl-insets-ref.html
-fails == 428810-2e-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-2e-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
 == 428810-2f-rtl-insets.html 428810-empty-rtl-insets-ref.html
 != 428810-2-rtl-insets-ref.html about:blank
 != 428810-2-rtl-insets-ref.html 428810-2-ltr-insets-ref.html
 == 428810-3a-rtl-insets.html 428810-3-rtl-insets-ref.html
 == 428810-3b-rtl-insets.html 428810-3-rtl-insets-ref.html
-fails == 428810-3e-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
+fails-if(!stylo) == 428810-3e-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596
 == 428810-3f-rtl-insets.html 428810-empty-rtl-insets-ref.html
 != 428810-3-rtl-insets-ref.html about:blank
 != 428810-3-rtl-insets-ref.html 428810-3-ltr-insets-ref.html
-== 430412-1.html 430412-1-ref.html
+fails-if(stylo) == 430412-1.html 430412-1-ref.html
 == 430813-1.html 430813-1-ref.html
 == 430813-2.html 430813-2-ref.html
 == 430813-3.html 430813-3-ref.html
 == 431341-1.html 431341-1-ref.html
 == 431341-2.html 431341-2-ref.html
 == 431520-1.html 431520-1-ref.html
 == 431948-1.html 431948-1-ref.html
 == 433640-1.html 433640-1-ref.html
@@ -1144,22 +1144,22 @@ fails == 428810-3e-rtl-insets.html 42881
 == 438987-1.html 438987-1-ref.html
 fuzzy-if(skiaContent,1,3280) == 438987-2a.html 438987-2-ref.html
 fuzzy-if(skiaContent,1,3280) == 438987-2b.html 438987-2-ref.html
 fuzzy-if(skiaContent,1,3280) == 438987-2c.html 438987-2-ref.html
 != about:blank 438987-2-ref.html # check that backgrounds work at all
 == 439004-1.html 439004-1-ref.html
 == 439639-1.html 439639-1-ref.html
 == 439910.html 439910-ref.html
-== 440112.html 440112-ref.html
-== 440149-1.html 440149-1-ref.html
+fails-if(stylo) == 440112.html 440112-ref.html
+fails-if(stylo) == 440149-1.html 440149-1-ref.html
 == 441259-1.html 441259-1-ref.html
-fails == 441259-2.html 441259-2-ref.html # bug 441400
+fails-if(!stylo) == 441259-2.html 441259-2-ref.html # bug 441400
 fuzzy-if(skiaContent,1,3) == 442542-1.html 442542-1-ref.html
-== 444015-1.html 444015-1-ref.html
+fails-if(stylo) == 444015-1.html 444015-1-ref.html
 == 444375-1.html 444375-1-ref.html
 == 444928-1.html 444928-1-ref.html
 == 444928-2.html 444928-2-ref.html
 != 444928-3.html 444928-3-notref.html
 random == 445004-1.html 445004-1-ref.html # bug 472268
 == 445142-1a.html 445142-1-ref.html
 == 445142-1b.html 445142-1-ref.html
 == 445142-1c.html 445142-1-ref.html
@@ -1168,52 +1168,52 @@ random == 445004-1.html 445004-1-ref.htm
 fails-if(usesRepeatResampling) == 446100-1a.html about:blank
 fails-if(Android) fails-if(usesRepeatResampling) == 446100-1b.html about:blank
 fails-if(Android) fails-if(usesRepeatResampling) == 446100-1c.html about:blank
 fails-if(usesRepeatResampling) == 446100-1d.html about:blank
 fails-if(usesRepeatResampling) == 446100-1e.html about:blank
 == 446100-1f.html about:blank
 fails-if(usesRepeatResampling) fails-if(Android) == 446100-1g.html about:blank
 == 446100-1h.html about:blank
-== 447749-1.html 447749-1-ref.html
+fails-if(stylo) == 447749-1.html 447749-1-ref.html
 fuzzy(127,2) == 448193.html 448193-ref.html
-!= 449149-1a.html about:blank
-!= 449149-1b.html about:blank
+fails-if(stylo) != 449149-1a.html about:blank
+fails-if(stylo) != 449149-1b.html about:blank
 # Retry the above with XBL scopes
-test-pref(dom.use_xbl_scopes_for_remote_xul,true) != 449149-1a.html about:blank
-test-pref(dom.use_xbl_scopes_for_remote_xul,true) != 449149-1b.html about:blank
+test-pref(dom.use_xbl_scopes_for_remote_xul,true) fails-if(stylo) != 449149-1a.html about:blank
+test-pref(dom.use_xbl_scopes_for_remote_xul,true) fails-if(stylo) != 449149-1b.html about:blank
 == 449149-2.html 449149-2-ref.html
 == 449171-1.html 449171-ref.html
 == 449362-1.html 449362-1-ref.html
 == 449519-1.html 449519-1-ref.html
 == 450670-1.html 450670-1-ref.html
 == 451168-1.html 451168-1-ref.html
 == 451876-1.html 451876-1-ref.html
 == 451876-2.html 451876-2-ref.html
 == 452915-1.html 452915-1-ref.html
 == 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(stylo) == 455826-1.html 455826-1-ref.html
 fails-if(cocoaWidget) fails-if(Android) == 456147.xul 456147-ref.html # bug 458047
 fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) == 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) == 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) == 456219-1c.html 456219-1-ref.html # bug 1128229
 fuzzy-if(skiaContent,1,45) == 456219-2.html 456219-2-ref.html
-== 456330-1.gif 456330-1-ref.png
+fails-if(stylo) == 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
-== 458296-1d.html 458296-1-ref.html
+fails-if(stylo) == 458296-1b.html 458296-1-ref.html
+fails-if(stylo) == 458296-1c.html 458296-1-ref.html
+fails-if(stylo) == 458296-1d.html 458296-1-ref.html
 == 458487-1a.html 458487-1-ref.html
 == 458487-1b.html 458487-1-ref.html
 == 458487-1c.html 458487-1-ref.html
 == 458487-1d.html 458487-1-ref.html
 == 458487-1e.html 458487-1-ref.html
 == 458487-1f.html 458487-1-ref.html
 == 458487-1g.html 458487-1-ref.html
 == 458487-1h.html 458487-1-ref.html
@@ -1236,35 +1236,35 @@ fuzzy-if(skiaContent,1,12000) == 461512-
 == 463204-1.html 463204-1-ref.html
 == 463217-1.xul 463217-1-ref.xul
 == 463952-1.html 463952-1-ref.html
 == 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
+fails-if(stylo) == 467084-1.html 467084-1-ref.html
+fails-if(stylo) == 467084-2.html 467084-2-ref.html
 == 467444-1.html 467444-1-ref.html
-== 467460-1.html 467460-1-ref.html
+fails-if(stylo) == 467460-1.html 467460-1-ref.html
 == 468473-1.xul 468473-1-ref.xul
-== 468546-1.xhtml 468546-1-ref.xhtml
+fails-if(stylo) == 468546-1.xhtml 468546-1-ref.xhtml
 == 471356-1.html 471356-1-ref.html
 == 471594-1.xhtml 471594-1-ref.html
 fuzzy(255,15) == 472020-1a.xul 472020-1-ref.xul
-fails == 472020-1b.xul 472020-1-ref.xul
-fails == 472020-2.xul 472020-2-ref.xul
+fails-if(!stylo) == 472020-1b.xul 472020-1-ref.xul
+fails-if(!stylo) == 472020-2.xul 472020-2-ref.xul
 == 472500-1.xul 472500-1-ref.xul
 == 472769-1a.html 472769-1-ref.html
 == 472769-1b.html 472769-1-ref.html
 == 472769-2.html 472769-2-ref.html
 == 472769-3.html 472769-3-ref.html
 == 473847-1.xul 473847-1-ref.xul
 fuzzy-if(skiaContent,1,16) == 474336-1.xul 474336-1-ref.xul
-== 474417-1.html 474417-1-ref.html
+fails-if(stylo) == 474417-1.html 474417-1-ref.html
 fuzzy-if(skiaContent,1,5) == 474472-1.html 474472-1-ref.html
 == 475986-1a.html 475986-1-ref.html
 == 475986-1b.html 475986-1-ref.html
 == 475986-1c.html 475986-1-ref.html
 == 475986-1d.html 475986-1-ref.html
 == 475986-1e.html 475986-1-ref.html
 == 475986-1f.html 475986-1-ref.html
 == 475986-2a.html 475986-2-ref.html
@@ -1293,20 +1293,20 @@ fuzzy-if(skiaContent,1,5) == 474472-1.ht
 random-if(d2d) == 478377-1.xul 478377-1-ref.xul
 == 478614-1.html 478614-1-ref.html
 == 478614-2.html 478614-1-ref.html
 == 478614-3.html 478614-3-ref.html
 == 478614-4.html 478614-4-ref.html
 == 478614-5.html 478614-5-ref.html
 == 478614-6.html 478614-6-ref.html
 == 478614-7.html 478614-7-ref.html
-== 478811-1.html 478811-1-ref.html
-== 478811-2.html 478811-2-ref.html
-== 478811-3.html 478811-3-ref.html
-== 478811-4.html 478811-4-ref.html
+fails-if(stylo) == 478811-1.html 478811-1-ref.html
+fails-if(stylo) == 478811-2.html 478811-2-ref.html
+fails-if(stylo) == 478811-3.html 478811-3-ref.html
+fails-if(stylo) == 478811-4.html 478811-4-ref.html
 == 478956-1a.html 478956-1-ref.html
 == 478956-1b.html 478956-1-ref.html
 == 480017-1.html 480017-1-ref.html
 == 480880-1a.html 480880-1-ref.html
 == 480880-1b.html 480880-1-ref.html
 == 480880-1c.html 480880-1-ref.html
 == 480880-1d.html 480880-1-ref.html
 == 480880-1e.html 480880-1-ref.html
@@ -1315,20 +1315,20 @@ random-if(d2d) == 478377-1.xul 478377-1-
 == 480880-2c.html about:blank
 fails-if(Android) == 481024-1a.html 481024-1-ref.html
 fails-if(Android) == 481024-1b.html 481024-1-ref.html
 fails-if(Android) == 481024-1c.html 481024-1-ref.html
 == 481024-1d.html 481024-1-ref.html
 == 481024-1e.html 481024-1-ref.html
 != 481948-1.html 481948-1-ref.html
 != 481948-2.html 481948-2-ref.html
-fails-if(Android) random-if(winWidget) fails-if(gtkWidget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364
+fails-if(Android) random-if(winWidget) fails-if(gtkWidget&&!stylo) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364
 == 482398-1.html 482398-1-ref.html
-random-if(d2d) == 482592-1a.xhtml 482592-1-ref.html # bug 586771
-random-if(d2d) == 482592-1b.xhtml 482592-1-ref.html # bug 586771
+random-if(d2d) fails-if(stylo) == 482592-1a.xhtml 482592-1-ref.html # bug 586771
+random-if(d2d) fails-if(stylo) == 482592-1b.xhtml 482592-1-ref.html # bug 586771
 random-if(winWidget) fuzzy-if(skiaContent,1,5) == 482659-1a.html 482659-1-ref.html
 fuzzy-if(skiaContent,1,5) == 482659-1b.html 482659-1-ref.html
 fuzzy-if(skiaContent,1,5) == 482659-1c.html 482659-1-ref.html
 fuzzy-if(skiaContent,1,5) == 482659-1d.html 482659-1-ref.html
 == 483565.xul 483565-ref.xul
 == 484256-1.html 484256-1-ref.html
 == 484256-2.html 484256-1-ref.html
 == 485012-1.html 485012-1-ref.html
@@ -1356,22 +1356,22 @@ fuzzy-if(skiaContent,1,5) == 482659-1d.h
 == 490177-1.svg 490177-1-ref.svg
 == 490182-1a.html 490182-1-ref.html
 == 490182-1b.html 490182-1-ref.html
 pref(browser.display.focus_ring_width,1) == 491180-1.html 491180-1-ref.html
 pref(browser.display.focus_ring_width,1) == 491180-2.html 491180-2-ref.html
 == 491323-1.xul 491323-1-ref.xul
 == 492239-1.xul 492239-1-ref.xul
 == 492661-1.html 492661-1-ref.html
-== 493968-1.html 493968-1-ref.html
+fails-if(stylo) == 493968-1.html 493968-1-ref.html
 == 494667-1.html 494667-1-ref.html
 == 494667-2.html 494667-2-ref.html
 == 495274-1.html 495274-1-ref.html
-== 495354-1a.xhtml 495354-1-ref.xhtml
-== 495354-1b.xhtml 495354-1-ref.xhtml
+fails-if(stylo) == 495354-1a.xhtml 495354-1-ref.xhtml
+fails-if(stylo) == 495354-1b.xhtml 495354-1-ref.xhtml
 == 495385-1a.html 495385-1-ref.html
 == 495385-1b.html 495385-1-ref.html
 == 495385-1c.html 495385-1-ref.html
 == 495385-1d.html 495385-1-ref.html
 == 495385-1e.html 495385-1-ref.html
 == 495385-1f.html 495385-1-ref.html
 == 495385-2a.html 495385-2-ref.html
 == 495385-2b.html 495385-2-ref.html
@@ -1379,137 +1379,137 @@ pref(browser.display.focus_ring_width,1)
 == 495385-2d.html 495385-2-ref.html
 == 495385-2e.html 495385-2-ref.html
 pref(dom.use_xbl_scopes_for_remote_xul,true) == 495385-2f.xhtml 495385-2-ref.html
 == 495385-2g.html 495385-2-ref.html
 == 495385-2h.html 495385-2-ref.html
 == 495385-2i.html 495385-2-ref.html
 == 495385-3.html 495385-3-ref.html
 == 495385-4.html 495385-4-ref.html
-== 495385-5.html 495385-5-ref.html
-== 496032-1.html 496032-1-ref.html
+fails-if(stylo) == 495385-5.html 495385-5-ref.html
+fails-if(stylo) == 496032-1.html 496032-1-ref.html
 == 496840-1.html 496840-1-ref.html
 fuzzy-if(skiaContent,1,17000) == 498228-1.xul 498228-1-ref.xul
 == 501037.html 501037-ref.html
 == 501257-1a.html 501257-1-ref.html
 == 501257-1b.html 501257-1-ref.html
 == 501257-1.xhtml 501257-1-ref.xhtml
 == 501627-1.html 501627-1-ref.html
 == 502288-1.html 502288-1-ref.html
-fuzzy-if(gtkWidget,1,2) == 502447-1.html 502447-1-ref.html #Bug 1315834
+fuzzy-if(gtkWidget,1,2) fails-if(stylo) == 502447-1.html 502447-1-ref.html #Bug 1315834
 == 502795-1.html 502795-1-ref.html
 == 502942-1.html 502942-1-ref.html
 == 503364-1a.html 503364-1-ref.html
 == 503364-1b.html 503364-1-ref.html
 # Reftest for bug 503531 marked as failing; should be re-enabled when
 # bug 607548 gets resolved.
-needs-focus fails == 503531-1.html 503531-1-ref.html
+needs-focus fails-if(!stylo) == 503531-1.html 503531-1-ref.html
 == 504032-1.html 504032-1-ref.html
 == 505743-1.html about:blank
-fuzzy-if(Android,5,2800) == 506481-1.html 506481-1-ref.html
+fuzzy-if(Android,5,2800) fails-if(stylo) == 506481-1.html 506481-1-ref.html
 == 507187-1.html 507187-1-ref.html
 == 507487-1.html 507487-1-ref.html
 == 507487-2.xhtml 507487-2-ref.xhtml
 == 507762-1.html 507762-1-ref.html
 == 507762-2.html 507762-2-ref.html
 == 507762-3.html 507762-1-ref.html
-== 507762-4.html 507762-2-ref.html
+fails-if(stylo) == 507762-4.html 507762-2-ref.html
 random-if(cocoaWidget) == 508816-1.xul 508816-1-ref.xul # Bug 631982
-== 508816-2.html 508816-2-ref.html
+fails-if(stylo) == 508816-2.html 508816-2-ref.html
 == 508908-1.xul 508908-1-ref.xul
 == 508919-1.xhtml 508919-1-ref.xhtml
 == 509155-1.xhtml 509155-1-ref.xhtml
-fuzzy-if(Android,5,1656) fuzzy-if(skiaContent,1,1200) == 512410.html 512410-ref.html
+fuzzy-if(Android,5,1656) fuzzy-if(skiaContent,1,1200) fails-if(stylo) == 512410.html 512410-ref.html
 == 512631-1.html 512631-1-ref.html
-== 513153-1a.html 513153-1-ref.html
-== 513153-1b.html 513153-1-ref.html
-== 513153-2a.html 513153-2-ref.html
-== 513153-2b.html 513153-2-ref.html
+fails-if(stylo) == 513153-1a.html 513153-1-ref.html
+fails-if(stylo) == 513153-1b.html 513153-1-ref.html
+fails-if(stylo) == 513153-2a.html 513153-2-ref.html
+fails-if(stylo) == 513153-2b.html 513153-2-ref.html
 == 513318-1.xul 513318-1-ref.xul
 fails-if(Android&&(!asyncPan)) != 513318-2.xul 513318-2-ref.xul
 == 514917-1.html 514917-1-ref.html
 HTTP(..) == 518172-1a.html 518172-a-ref.html
 fuzzy-if(winWidget,73,133) fuzzy-if(cocoaWidget,103,133) HTTP(..) == 518172-1b.html 518172-b-ref.html
 HTTP(..) == 518172-2a.html 518172-a-ref.html
 fuzzy-if(winWidget,73,133) fuzzy-if(cocoaWidget,103,133) HTTP(..) == 518172-2b.html 518172-b-ref.html
 == 520421-1.html 520421-1-ref.html
 == 520563-1.xhtml 520563-1-ref.xhtml
 fuzzy-if(skiaContent,1,3) == 521525-1.html 521525-1-ref.html
 == 521525-2.html 521525-2-ref.html
-== 521539-1.html 521539-1-ref.html
+fails-if(stylo) == 521539-1.html 521539-1-ref.html
 == 521542-1.xhtml 521542-1-ref.xhtml
 == 521602.html 521602-ref.html
 == 521685-1.html 521685-1-ref.html
 == 522632-1.html 522632-1-ref.html
-== 523096-1.html 523096-1-ref.html
+fails-if(stylo) == 523096-1.html 523096-1-ref.html
 random-if(d2d) == 523468-1.html 523468-1-ref.html
 == 524175-1.html 524175-1-ref.html
 fuzzy-if(skiaContent,1,50) == 526463-1.html 526463-1-ref.html
 == 527464-1.html 527464-ref.html
 == 528038-1a.html 528038-1-ref.html
 == 528038-1b.html 528038-1-ref.html
 == 528038-1c.html 528038-1-ref.html
 == 528038-1d.html 528038-1-ref.html
 == 528038-1e.html 528038-1-ref.html
 == 528038-1f.html 528038-1-ref.html
 == 528038-2.html 528038-2-ref.html
 == 528096-1.html 528096-1-ref.html
-== 530686-1.html 530686-1-ref.html
+fails-if(stylo) == 530686-1.html 530686-1-ref.html
 == 531098-1.html 531098-1-ref.html
 fuzzy-if(Android,2,48) == 531200-1.html 531200-1-ref.html
 == 531371-1.html 531371-1-ref.html
 == 534526-1a.html 534526-1-ref.html
-== 534526-1b.html 534526-1-ref.html
+fails-if(stylo) == 534526-1b.html 534526-1-ref.html
 == 534804-1.html 534804-1-ref.html
 == 534808-1.html 534808-1-ref.html
 == 534808-2.html 534808-2-ref.html
 == 534919-1.html 534919-1-ref.html
 random == 536061.html 536061-ref.html # fixedpoint division in blur code makes this fail
 == 537471-1.html 537471-1-ref.html
 == 537507-1.xul 537507-1-ref.xul
 == 537507-2.html 537507-2-ref.html
-== 538909-1.html 538909-1-ref.html
+fails-if(stylo) == 538909-1.html 538909-1-ref.html
 == 538935-1.html 538935-1-ref.html
 == 539226-1.html about:blank
 == 539323-1.html 539323-1-ref.html
 == 539323-2.html 539323-2-ref.html
 == 539323-3.html 539323-3-ref.html
 == 539880-1.html 539880-1-ref.html
 == 539880-1-dynamic.html 539880-1-ref.html
-fuzzy-if(Android,12,1000) == 539949-1.html#test2 539949-1-ref.html#test2
-== 541382-1.html 541382-1-ref.html
+fuzzy-if(Android,12,1000) skip-if(stylo) == 539949-1.html#test2 539949-1-ref.html#test2
+fails-if(stylo) == 541382-1.html 541382-1-ref.html
 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||!haveTestPlugin) == 541406-1.html 541406-1-ref.html
 needs-focus != 542116-1.html 542116-1-ref.html
 needs-focus != 542116-2.html 542116-2-ref.html
 needs-focus != 542116-3.html 542116-3-ref.html
 == 542317-1.html 542317-1-ref.html
 == 542620-1.html 542620-1-ref.html
 == 545049-1.html 545049-1-ref.html
 == 546033-1.html 546033-1-ref.html
 random-if(!haveTestPlugin) == 546071-1.html 546071-1-ref.html
 == 549184-1.html 549184-1-ref.html
 == 550325-1.html 550325-1-ref.html
 == 550325-2.html 550325-1-ref.html
 == 550325-3.html 550325-1-ref.html
 == 550716-1.html 550716-1-ref.html
-fuzzy-if(Android,12,300) == 551463-1.html 551463-1-ref.html
+fuzzy-if(Android,12,300) fails-if(stylo) == 551463-1.html 551463-1-ref.html
 == 551699-1.html 551699-1-ref.html
 == 552334-1.html 552334-1-ref.html
 # Bug 553571 was specific to MS Indic shaping behavior and Win7 font support;
 # the test is not currently relevant under harfbuzz shaping.
 # Keeping it here for the record, and because we may evolve HB's dotted-circle
 # behavior further in the future, which could make this become relevant again.
 # Marked "random" rather than "fails" because it may (spuriously) appear to pass
 # on Android devices that completely lack any Sinhala font support.
 random != 553571-1.html 553571-1-notref.html # expect dotted circle in test, not in ref: "fails" under harfbuzz, which doesn't consider the sequence invalid
 fuzzy-if(!contentSameGfxBackendAsCanvas,128,91) random-if(d2d) skip-if(azureSkiaGL) fuzzy-if(skiaContent,32,150) == 555388-1.html 555388-1-ref.html
 == 556661-1.html 556661-1-ref.html
-fuzzy-if(skiaContent,4,5) == 557087-1.html 557087-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,5) == 557087-2.html 557087-ref.html
-== 557736-1.html 557736-1-ref.html
+fuzzy-if(skiaContent,4,5) fails-if(stylo) == 557087-1.html 557087-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,5) fails-if(stylo) == 557087-2.html 557087-ref.html
+fails-if(stylo) == 557736-1.html 557736-1-ref.html
 != 558011-1.xul 558011-1-ref.xul
 == 559284-1.html 559284-1-ref.html
 fails-if(Android) == 560455-1.xul 560455-1-ref.xul
 fuzzy-if(skiaContent,2,5) == 561981-1.html 561981-1-ref.html
 == 561981-2.html 561981-2-ref.html
 fuzzy-if(skiaContent,1,5) == 561981-3.html 561981-3-ref.html
 == 561981-4.html 561981-4-ref.html
 fuzzy-if(skiaContent,1,5) == 561981-5.html 561981-5-ref.html
@@ -1542,86 +1542,86 @@ fuzzy-if(Android,2,48) == 563584-10a.htm
 fuzzy-if(Android,2,48) == 563584-10b.html 563584-10-ref.html
 fuzzy-if(Android,2,48) == 563584-11.html 563584-11-ref.html
 == 563884-1.html 563884-1-ref.html
 == 564002-1.html 564002-1-ref.html
 == 564054-1.html 564054-1-ref.html
 fails-if(Android) random-if(layersGPUAccelerated) fuzzy-if(skiaContent,1,1200) == 564991-1.html 564991-1-ref.html
 == 565819-1.html 565819-ref.html
 == 565819-2.html 565819-ref.html
-needs-focus == 568441.html 568441-ref.html
+needs-focus fails-if(stylo) == 568441.html 568441-ref.html
 == 569006-1.html 569006-1-ref.html
 == 571281-1a.html 571281-1-ref.html
 == 571281-1b.html 571281-1-ref.html
 == 571281-1c.html 571281-1-ref.html
 == 571347-1a.html 571347-1-ref.html
 == 571347-1b.html 571347-1-ref.html
 == 571347-2a.html 571347-2-ref.html
 == 571347-2b.html 571347-2-ref.html
-== 571347-2c.html 571347-2-ref.html
+fails-if(stylo) == 571347-2c.html 571347-2-ref.html
 == 571347-2d.html 571347-2-ref.html
 == 571347-3.html 571347-3-ref.html
-== 572598-1.html 572598-ref.html
-== 574898-1.html 574898-ref.html
+fails-if(stylo) == 572598-1.html 572598-ref.html
+fails-if(stylo) == 574898-1.html 574898-ref.html
 # 574907 is a windows-only issue, result on other platforms depends on details of font support
 random-if(!winWidget) random-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == 574907-1.html 574907-1-ref.html # Bug 1258240
 random-if(!winWidget) random-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == 574907-2.html 574907-2-ref.html # Bug 1258240
 # 574907-3 only worked under directwrite, and even there it now depends on the rendering mode; marking as random for now
 random-if(!winWidget) fails-if(winWidget&&!dwrite) random-if(winWidget&&dwrite) != 574907-3.html 574907-3-notref.html
 == 577838-1.html 577838-1-ref.html
 == 577838-2.html 577838-2-ref.html
 == 579323-1.html 579323-1-ref.html
 == 579349-1.html 579349-1-ref.html
 == 579655-1.html 579655-1-ref.html
 skip-if(!haveTestPlugin) fails-if(Android) == 579808-1.html 579808-1-ref.html
 fails-if(Android) random-if(layersGPUAccelerated) fuzzy-if(skiaContent,1,10000) == 579985-1.html 579985-1-ref.html # this bug was only for a regression in BasicLayers anyway
 skip-if(Android) == 580160-1.html 580160-1-ref.html # bug 920927 for Android; issues without the test-plugin
-fuzzy-if(asyncPan&&!layersGPUAccelerated,255,141) HTTP(..) == 580863-1.html 580863-1-ref.html
+fuzzy-if(asyncPan&&!layersGPUAccelerated,255,141) fails-if(stylo) HTTP(..) == 580863-1.html 580863-1-ref.html
 fails-if(Android) random-if(layersGPUAccelerated) fuzzy-if(skiaContent,1,6436) == 581317-1.html 581317-1-ref.html
 == 581579-1.html 581579-1-ref.html
 == 582037-1a.html 582037-1-ref.html
 == 582037-1b.html 582037-1-ref.html
 fuzzy-if(Android,3,256) == 582037-2a.html 582037-2-ref.html
 fuzzy-if(Android,3,256) == 582037-2b.html 582037-2-ref.html
-asserts(1-2) == 582146-1.html about:blank
-== 582476-1.svg 582476-1-ref.svg
+asserts(1-2) asserts-if(stylo,3) == 582146-1.html about:blank
+fails-if(stylo) == 582476-1.svg 582476-1-ref.svg
 == 584400-dash-length.svg 584400-dash-length-ref.svg
 == 584699-1.html 584699-1-ref.html
-fuzzy-if(Android,2,48) == 585598-2.xhtml 585598-2-ref.xhtml
+fuzzy-if(Android,2,48) fails-if(stylo) == 585598-2.xhtml 585598-2-ref.xhtml
 == 586400-1.html 586400-1-ref.html
-fuzzy-if(d2d,52,1051) == 586683-1.html 586683-1-ref.html
-== 589615-1a.xhtml 589615-1-ref.html
-== 589615-1b.html 589615-1-ref.html
+fuzzy-if(d2d,52,1051) fails-if(stylo) == 586683-1.html 586683-1-ref.html
+fails-if(stylo) == 589615-1a.xhtml 589615-1-ref.html
+fails-if(stylo) == 589615-1b.html 589615-1-ref.html
 == 589672-1.html 589672-1-ref.html
 != 589682-1.html 589682-1-notref.html
 pref(dom.meta-viewport.enabled,true) skip-if(Android) == 593243-1.html 593243-1-ref.html # bug 593168
 pref(dom.meta-viewport.enabled,true) skip-if(Android) == 593243-2.html 593243-2-ref.html # bug 593168
 == 593544-1.html 593544-1-ref.html
 random-if(Android) == 594333-1.html 594333-1-ref.html
 == 594624-1.html 594624-1-ref.html
-== 594737-1.html 594737-1-ref.html
-fuzzy-if(skiaContent,1,80) == 597721-1.html 597721-1-ref.html
-random-if(winWidget) fuzzy-if(Android,38,539) fuzzy-if(skiaContent,1,480) needs-focus == 598726-1.html 598726-1-ref.html # Fails on Windows, bug 782196
+fails-if(stylo) == 594737-1.html 594737-1-ref.html
+fuzzy-if(skiaContent,1,80) fails-if(stylo) == 597721-1.html 597721-1-ref.html
+random-if(winWidget) fuzzy-if(Android,38,539) fuzzy-if(skiaContent,1,480) needs-focus skip-if(stylo) == 598726-1.html 598726-1-ref.html # Fails on Windows, bug 782196
 == 599113-1.html 599113-1-ref.html
 fails-if(!haveTestPlugin) == 599476.html 599476-ref.html
 == 599882-1a.html 599882-1-ref.html
 == 599882-1b.html 599882-1-ref.html
 == 599882-2.html 599882-2-ref.html
 == 600045-1.html 600045-1-ref.html
-== 600803-1.html 600803-1-ref.html
+fails-if(stylo) == 600803-1.html 600803-1-ref.html
 == 600974-1.html 600974-1-ref.html
 == 600974-2.html 600974-1-ref.html
 == 600974-3.html 600974-1-ref.html
 == 602200-1.html 602200-1-ref.html
 == 602200-2.html 602200-2-ref.html
 fuzzy-if(Android,8,20) == 602200-3.html 602200-3-ref.html
 == 602200-4.html 602200-4-ref.html
 == 603423-1.html 603423-1-ref.html
-== 604737.html 604737-ref.html
-== 605138-1.html 605138-1-ref.html
+fails-if(stylo) == 604737.html 604737-ref.html
+fails-if(stylo) == 605138-1.html 605138-1-ref.html
 == 605157-1.xhtml 605157-1-ref.xhtml
 == 607267-1.html 607267-1-ref.html
 == 608636-1.html 608636-1-ref.html
 == 608756-1a.html 608756-1-ref.html
 == 608756-1b.html 608756-1-ref.html
 == 608756-2.html 608756-2-ref.html
 fuzzy-if(Android,4,196) == 609272-1.html 609272-1-ref.html
 needs-focus == 613433-1.html 613433-1-ref.html
@@ -1632,251 +1632,251 @@ needs-focus == 613433-2.html 613433-2-re
 needs-focus == 613433-2.html 613433-3-ref.html
 needs-focus == 613433-3.html 613433-1-ref.html
 needs-focus == 613433-3.html 613433-2-ref.html
 needs-focus == 613433-3.html 613433-3-ref.html
 == 614272-1.svg  614272-1-ref.svg
 HTTP(..) == 615121-1.html 615121-1-ref.html
 HTTP(..) != 615121-2.html 615121-2-notref.html
 == 617242-1.html 617242-1-ref.html
-!= 618071.html 618071-notref.html
+fails-if(stylo) != 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) 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
+fails-if(stylo) == 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) == 632423-1.html 632423-1-ref.html
 skip-if(Android) random-if(winWidget||OSX==1010) == 632781-verybig.html 632781-ref.html
 == 632781-normalsize.html 632781-ref.html
 fuzzy-if(d2d&&/^Windows\x20NT\x206\.2/.test(http.oscpu),1,559) fuzzy-if(!isDebugBuild&&gtkWidget&&/^Linux\x20i686/.test(http.oscpu),102,140) == 633344-1.html 633344-1-ref.html # bug 1103623, Linux32 from GCC update
 fuzzy-if(skiaContent,1,500) == 634232-1.html 634232-1-ref.html
 fuzzy-if(skiaContent,3,120000) == 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) fails-if(stylo) == 637852-1.html 637852-1-ref.html
 fuzzy-if(Android,8,500) == 637852-2.html 637852-2-ref.html
 fuzzy-if(Android,8,500) == 637852-3.html 637852-3-ref.html
-== 641770-1.html 641770-1-ref.html
+fails-if(stylo) == 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
+fails-if(stylo) == 645491-1.html 645491-1-ref.html
+fails-if(stylo) == 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
-fuzzy-if(skiaContent,2,5) == 652775-1.html 652775-1-ref.html
+fuzzy-if(skiaContent,2,5) fails-if(stylo) == 652775-1.html 652775-1-ref.html
 HTTP == 652991-1a.html 652991-1-ref.html
 HTTP == 652991-1b.html 652991-1-ref.html
 HTTP == 652991-2.html 652991-2-ref.html
 HTTP == 652991-3.html 652991-3-ref.html
 HTTP == 652991-4.html 652991-4-ref.html
 fuzzy-if(skiaContent,1,5) == 653930-1.html 653930-1-ref.html
 HTTP(..) == 654057-1.html 654057-1-ref.html
 fuzzy-if(skiaContent,1,4500) == 654950-1.html 654950-1-ref.html # Quartz alpha blending doesn't match GL alpha blending
 == 655549-1.html 655549-1-ref.html
 == 655836-1.html 655836-1-ref.html
 != 656875.html about:blank
 == 658952.html 658952-ref.html
 fuzzy-if(skiaContent,1,3500) == 660682-1.html 660682-1-ref.html
 fuzzy-if(d2d,1,256) skip-if(Android) fuzzy-if(skiaContent,1,68000) == 664127-1.xul 664127-1-ref.xul # Android: Intermittent failures - bug 1019131
-== 665597-1.html 665597-1-ref.html
+fails-if(stylo) == 665597-1.html 665597-1-ref.html
 == 665597-2.html 665597-2-ref.html
 == 668319-1.xul about:blank
 != 669015-1.xul 669015-1-notref.xul
 skip-if(azureSkiaGL) == 670442-1.html 670442-1-ref.html
 == 670467-1.html 670467-1-ref.html
-== 670467-2.html 670467-2-ref.html
+fails-if(stylo) == 670467-2.html 670467-2-ref.html
 == 690164-1.html 690164-1-ref.html
 == 690643-1.html 690643-1-ref.html
 != 691087-1.html 691087-1-ref.html
 == 691571-1.html 691571-1-ref.html
 fuzzy-if(skiaContent,1,200) == 696307-1.html 696307-1-ref.html
 fuzzy-if(skiaContent,1,550) == 696739-1.html 696739-1-ref.html
-needs-focus == 703186-1.html 703186-1-ref.html
+needs-focus fails-if(stylo) == 703186-1.html 703186-1-ref.html
 needs-focus == 703186-2.html 703186-2-ref.html
-needs-focus != 703186-1.html 703186-2.html
+needs-focus fails-if(stylo) != 703186-1.html 703186-2.html
 == 711359-1.html 711359-1-ref.html
 == 712849-1.html 712849-1-ref.html
 == 713856-static.html  713856-ref.html
 == 713856-dynamic.html 713856-ref.html
 == 714519-1-as.html 714519-1-ref.html
 == 714519-1-q.html 714519-1-ref.html
 == 714519-2-as.html 714519-2-ref.html
 == 714519-2-q.html 714519-2-ref.html
 fuzzy-if(true,1,21) fuzzy-if(d2d,68,173) fuzzy-if(cocoaWidget,1,170) == 718521.html 718521-ref.html # bug 773482
 == 720987.html 720987-ref.html
 == 722888-1.html 722888-1-ref.html
 fuzzy(2,40000) == 722923-1.html 722923-1-ref.html
 == 723484-1.html 723484-1-ref.html
 random-if(Android) == 728983-1.html 728983-1-ref.html
-== 729143-1.html 729143-1-ref.html
-== 731521-1.html 731521-1-ref.html
-needs-focus == 731726-1.html 731726-1-ref.html
-== 735481-1.html 735481-1-ref.html
+fails-if(stylo) == 729143-1.html 729143-1-ref.html
+fails-if(stylo) == 731521-1.html 731521-1-ref.html
+needs-focus fails-if(stylo) == 731726-1.html 731726-1-ref.html
+fails-if(stylo) == 735481-1.html 735481-1-ref.html
 fuzzy-if(cocoaWidget,1,300000) fuzzy-if(skiaContent,2,300000) == 745934-1.html 745934-1-ref.html
 == 748692-1a.html 748692-1-ref.html
 == 748692-1b.html 748692-1-ref.html
-== 748803-1.html 748803-1-ref.html
+fails-if(stylo) == 748803-1.html 748803-1-ref.html
 == 750551-1.html 750551-1-ref.html
-== 751012-1a.html 751012-1-ref.html
-== 751012-1b.html 751012-1-ref.html
+fails-if(stylo) == 751012-1a.html 751012-1-ref.html
+fails-if(stylo) == 751012-1b.html 751012-1-ref.html
 random-if(Android) == 753329-1.html about:blank
 == 758561-1.html 758561-1-ref.html
 fuzzy-if(true,1,90) fuzzy-if(skiaContent,1,320) == 759036-1.html 759036-1-ref.html
 fuzzy-if(true,17,5886) == 759036-2.html 759036-2-ref.html
-== 776265-1a.html 776265-1-ref.html
-== 776265-1b.html 776265-1-ref.html
-== 776265-1c.html 776265-1-ref.html
-== 776265-1d.html 776265-1-ref.html
-== 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
+fails-if(stylo) == 776265-1a.html 776265-1-ref.html
+fails-if(stylo) == 776265-1b.html 776265-1-ref.html
+fails-if(stylo) == 776265-1c.html 776265-1-ref.html
+fails-if(stylo) == 776265-1d.html 776265-1-ref.html
+fails-if(stylo) == 776265-2a.html 776265-2-ref.html
+fails-if(stylo) == 776265-2b.html 776265-2-ref.html
+fails-if(stylo) == 776265-2c.html 776265-2-ref.html
+fails-if(stylo) == 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
 == 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
-fuzzy-if(Android,4,400) == 815593-1.html 815593-1-ref.html
+fails-if(stylo) == 814952-1.html 814952-1-ref.html
+fuzzy-if(Android,4,400) fails-if(stylo) == 815593-1.html 815593-1-ref.html
 == 816359-1.html 816359-1-ref.html
 == 816458-1.html 816458-1-ref.html
 fuzzy-if(skiaContent,1,5) == 816948-1.html 816948-1-ref.html
 == 817019-1.html about:blank
-fuzzy-if(skiaContent,1,5) == 818276-1.html 818276-1-ref.html
-fuzzy-if(asyncPan,190,510) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,510) == 825999.html 825999-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == 818276-1.html 818276-1-ref.html
+fuzzy-if(asyncPan,190,510) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,510) fails-if(stylo) == 825999.html 825999-ref.html
 == 827577-1a.html 827577-1-ref.html
 == 827577-1b.html 827577-1-ref.html
 == 827799-1.html about:blank
 == 829958.html 829958-ref.html
 == 836844-1.html 836844-1-ref.html
 == 841192-1.html 841192-1-ref.html
-== 844178.html 844178-ref.html
+fails-if(stylo) == 844178.html 844178-ref.html
 fuzzy-if(OSX,1,364) fuzzy-if(skiaContent,1,320) == 846144-1.html 846144-1-ref.html
 == 847850-1.html 847850-1-ref.html
 == 848421-1.html 848421-1-ref.html
-== 849407-1.html 849407-1-ref.html
+fails-if(stylo) == 849407-1.html 849407-1-ref.html
 == 849996-1.html 849996-1-ref.html
 == 858803-1.html 858803-1-ref.html
 == 860242-1.html 860242-1-ref.html
-!= 860370.html 860370-notref.html
+fails-if(stylo) != 860370.html 860370-notref.html
 == 871338-1.html 871338-1-ref.html
 == 875060-1.html 875060-1-ref.html
-== 883987-1a.html 883987-1-ref.html
-== 883987-1b.html 883987-1-ref.html
-== 883987-1c.html 883987-1-ref.html
-== 883987-1d.html 883987-1-ref.html
-== 883987-1e.html 883987-1-ref.html
+fails-if(stylo) == 883987-1a.html 883987-1-ref.html
+fails-if(stylo) == 883987-1b.html 883987-1-ref.html
+fails-if(stylo) == 883987-1c.html 883987-1-ref.html
+fails-if(stylo) == 883987-1d.html 883987-1-ref.html
+fails-if(stylo) == 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
+fails-if(stylo) == 897491-1.html 897491-1-ref.html
+fails-if(stylo) == 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
 == 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
+fails-if(stylo) == 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
+fails-if(!stylo) == 942017.html 942017-ref.html # bug 942017
+fuzzy-if(Android,1,1) fuzzy-if(skiaContent,1,160000) fails-if(webrender) fails-if(stylo) == 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
-== 960277-1.html 960277-1-ref.html
+fails-if(stylo) == 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
-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
+pref(layout.css.overflow-clip-box.enabled,true) fuzzy(50,145) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,3712) fails-if(stylo) == 966992-1.html 966992-1-ref.html
+skip-if(Android) fails-if(stylo) == 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) fails-if(stylo) == 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
+skip-if(stylo) == 983084-2.html 983084-2-ref.html
+skip-if(stylo) == 983084-3.html 983084-1-ref.html
 == 983691-1.html 983691-ref.html
 HTTP(..) == 983985-1.html 983985-1-ref.html
 HTTP(..) == 983985-2.html 983985-2-ref.html
-== 985303-1a.html 985303-1-ref.html
-== 985303-1b.html 985303-1-ref.html
-== 987680-1.html 987680-1-ref.html
+fails-if(stylo) == 985303-1a.html 985303-1-ref.html
+fails-if(stylo) == 985303-1b.html 985303-1-ref.html
+fails-if(stylo) == 987680-1.html 987680-1-ref.html
 # Fuzzy on WR due to alpha blending
 fuzzy-if(d2d,1,601) fuzzy-if(webrender,1,1185) == 991046-1.html 991046-1-ref.html
-pref(layout.css.overflow-clip-box.enabled,true) fuzzy-if(skiaContent,2,845) == 992447.html 992447-ref.html
+pref(layout.css.overflow-clip-box.enabled,true) fuzzy-if(skiaContent,2,845) fails-if(stylo) == 992447.html 992447-ref.html
 == 1003425-1.html 1003425-1-ref.html
 == 1003425-2.html 1003425-2-ref.html
 == 1005405-1.html 1005405-1-ref.html
 == 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
-== 1024473-1.html 1024473-1-ref.html
+random-if(stylo) == 1024473-1.html 1024473-1-ref.html
 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
-== 1053035-1-flex.html 1053035-1-ref.html
-test-pref(layout.css.grid.enabled,true) == 1053035-1-grid.html 1053035-1-ref.html
+fails-if(stylo) == 1053035-1-flex.html 1053035-1-ref.html
+test-pref(layout.css.grid.enabled,true) fails-if(stylo) == 1053035-1-grid.html 1053035-1-ref.html
 == 1059167-1.html 1059167-1-ref.html
 == 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
+fails-if(stylo) == 1062792-1.html 1062792-1-ref.html
 == 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html
 test-pref(dom.webcomponents.enabled,true) == 1066554-1.html 1066554-1-ref.html
-== 1069716-1.html 1069716-1-ref.html
+fails-if(stylo) == 1069716-1.html 1069716-1-ref.html
 fails-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
+skip-if(stylo) == 1111753-1.html about:blank
 == 1114526-1.html 1114526-1-ref.html
 fuzzy-if(skiaContent,1,800000) == 1119117-1a.html 1119117-1-ref.html
 fuzzy-if(skiaContent,1,800000) == 1119117-1b.html 1119117-1-ref.html
-== 1120431-1.html 1120431-1-ref.html
-== 1120431-2.html 1120431-2-ref.html
+fails-if(stylo) == 1120431-1.html 1120431-1-ref.html
+fails-if(stylo) == 1120431-2.html 1120431-2-ref.html
 == 1121748-1.html 1121748-1-ref.html
 == 1121748-2.html 1121748-2-ref.html
 == 1127107-1a-nowrap.html 1127107-1-ref.html
 == 1127107-1b-pre.html 1127107-1-ref.html
 == 1127107-2-capitalize.html 1127107-2-capitalize-ref.html
 == 1127679-1a-inline-flex-relpos.html 1127679-1b-inline-flex-relpos.html
 == 1128354-1.html 1128354-1-ref.html
 == 1130231-1-button-padding-rtl.html 1130231-1-button-padding-rtl-ref.html
@@ -1909,88 +1909,88 @@ skip-if(!Android) == 1133905-4-vh.html 1
 skip-if(!Android) fails-if(Android) == 1133905-5-vh.html 1133905-ref-vh.html
 skip-if(!Android) fails-if(Android) == 1133905-6-vh.html 1133905-ref-vh.html
 skip-if(!Android) == 1133905-1-rtl.html 1133905-ref-rtl.html
 skip-if(!Android) == 1133905-2-rtl.html 1133905-ref-rtl.html
 skip-if(!Android) == 1133905-3-rtl.html 1133905-ref-rtl.html
 skip-if(!Android) == 1133905-4-rtl.html 1133905-ref-rtl.html
 skip-if(!Android) == 1133905-5-rtl.html 1133905-ref-rtl.html
 skip-if(!Android) == 1133905-6-rtl.html 1133905-ref-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-1-v-rtl.html 1133905-ref-v-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-2-v-rtl.html 1133905-ref-v-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-3-v-rtl.html 1133905-ref-v-rtl.html
-skip-if(!Android) == 1133905-4-v-rtl.html 1133905-ref-v-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-5-v-rtl.html 1133905-ref-v-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-6-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-1-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-2-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-3-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(stylo) == 1133905-4-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-5-v-rtl.html 1133905-ref-v-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-6-v-rtl.html 1133905-ref-v-rtl.html
 skip-if(!Android) == 1133905-1-h-rtl.html 1133905-ref-h-rtl.html
 skip-if(!Android) == 1133905-2-h-rtl.html 1133905-ref-h-rtl.html
 skip-if(!Android) == 1133905-3-h-rtl.html 1133905-ref-h-rtl.html
 skip-if(!Android) == 1133905-4-h-rtl.html 1133905-ref-h-rtl.html
 skip-if(!Android) == 1133905-5-h-rtl.html 1133905-ref-h-rtl.html
 skip-if(!Android) == 1133905-6-h-rtl.html 1133905-ref-h-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-1-vh-rtl.html 1133905-ref-vh-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-2-vh-rtl.html 1133905-ref-vh-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-3-vh-rtl.html 1133905-ref-vh-rtl.html
-skip-if(!Android) == 1133905-4-vh-rtl.html 1133905-ref-vh-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-5-vh-rtl.html 1133905-ref-vh-rtl.html
-skip-if(!Android) fails-if(Android) == 1133905-6-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-1-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-2-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-3-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(stylo) == 1133905-4-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-5-vh-rtl.html 1133905-ref-vh-rtl.html
+skip-if(!Android) fails-if(Android) fails-if(stylo) == 1133905-6-vh-rtl.html 1133905-ref-vh-rtl.html
 == 1150021-1.xul 1150021-1-ref.xul
-== 1151145-1.html 1151145-1-ref.html
+fails-if(stylo) == 1151145-1.html 1151145-1-ref.html
 == 1151306-1.html 1151306-1-ref.html
 == 1153845-1.html 1153845-1-ref.html
-== 1155828-1.html 1155828-1-ref.html
-== 1156129-1.html 1156129-1-ref.html
+fails-if(stylo) == 1155828-1.html 1155828-1-ref.html
+fails-if(webrender) == 1156129-1.html 1156129-1-ref.html
 pref(dom.use_xbl_scopes_for_remote_xul,true) HTTP(..) == 1157127-1.html 1157127-1-ref.html
-fuzzy-if(Android,6,6) == 1169331-1.html 1169331-1-ref.html
-fuzzy(1,74) fails-if(gtkWidget) == 1174332-1.html 1174332-1-ref.html # bug 1312658
+fuzzy-if(Android,6,6) fails-if(webrender) fails-if(stylo) == 1169331-1.html 1169331-1-ref.html
+fuzzy(1,74) fails-if(gtkWidget&&!stylo) == 1174332-1.html 1174332-1-ref.html # bug 1312658
 == 1179078-1.html 1179078-1-ref.html
 == 1179288-1.html 1179288-1-ref.html
 == 1190635-1.html 1190635-1-ref.html
 == 1202512-1.html 1202512-1-ref.html
-== 1202512-2.html 1202512-2-ref.html
+fails-if(stylo) == 1202512-2.html 1202512-2-ref.html
 != 1207326-1.html about:blank
 == 1209603-1.html 1209603-1-ref.html
 == 1209994-1.html 1209994-1-ref.html
 == 1209994-2.html 1209994-2-ref.html
 == 1209994-3.html 1209994-3-ref.html
-== 1209994-4.html 1209994-4-ref.html
+fails-if(stylo) == 1209994-4.html 1209994-4-ref.html
 == 1222226-1.html 1222226-1-ref.html
-pref(layout.css.overflow-clip-box.enabled,true) == 1226278.html 1226278-ref.html
+pref(layout.css.overflow-clip-box.enabled,true) fails-if(stylo) == 1226278.html 1226278-ref.html
 == 1230466.html about:blank
 random-if(gtkWidget) != 1238243-1.html 1238243-1-notref.html # may fail on Linux, depending on Korean fonts available
 == 1238243-2.html 1238243-2-ref.html
-fuzzy(100,2000) == 1239564.html 1239564-ref.html
-== 1242172-1.html 1242172-1-ref.html
-== 1242172-2.html 1242172-2-ref.html
+fuzzy(100,2000) fails-if(webrender) == 1239564.html 1239564-ref.html
+fails-if(stylo) == 1242172-1.html 1242172-1-ref.html
+fails-if(stylo) == 1242172-2.html 1242172-2-ref.html
 == 1242781.html 1242781-ref.html
 == 1263845.html 1263845-ref.html
 == 1260543-1.html 1260543-1-ref.html
 == 1271714-1.html 1271714-1-ref.html
 == 1272997-1.html 1272997-1-ref.html
 random-if(!winWidget) == 1273154-1.html 1273154-1-ref.html # depends on Windows font
 random-if(!winWidget) == 1273154-2.html 1273154-2-ref.html # depends on Windows font
-== 1274368-1.html 1274368-1-ref.html
+fails-if(stylo) == 1274368-1.html 1274368-1-ref.html
 != 1276161-1a.html 1276161-1-notref.html
 != 1276161-1b.html 1276161-1-notref.html
 != 1276161-1a.html 1276161-1b.html
 == 1275411-1.html 1275411-1-ref.html
 == 1288255.html 1288255-ref.html
 fuzzy(8,1900) == 1291528.html 1291528-ref.html
 # Buttons in 2 pages have different position and the rendering result can be
 # different, but they should use the same button style and the background color
 # 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
+fuzzy(255,1000) skip-if(!cocoaWidget) fails-if(stylo) == 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
+fuzzy(2,320000) fails-if(stylo) == 1315113-1.html 1315113-1-ref.html
+fuzzy(2,20000) fails-if(stylo) == 1315113-2.html 1315113-2-ref.html
 == 1315632-1.html 1315632-1-ref.html
 fuzzy(2,40000) == 1316719-1a.html 1316719-1-ref.html
 fuzzy(2,40000) == 1316719-1b.html 1316719-1-ref.html
 fuzzy(2,40000) == 1316719-1c.html 1316719-1-ref.html
 skip-if(Android) != 1318769-1.html 1318769-1-ref.html
-== 1322512-1.html 1322512-1-ref.html
+fails-if(stylo) == 1322512-1.html 1322512-1-ref.html
 == 1330051.svg 1330051-ref.svg
 == 1352464-1.html 1352464-1-ref.html
 == 1358375-1.html 1358375-ref.html
 == 1358375-2.html 1358375-ref.html
 == 1358375-3.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
+fuzzy-if(Android,8,1000) fails-if(stylo) == 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(stylo) == 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
 
@@ -58,20 +58,20 @@ random-if(!d2d) != text-subpixel-1.html 
 ## Currently fails most places due to partial backout of bug 808288, see bug 837461.
 ## (Marking "random" rather than "fails" because it would pass for people
 ## if they have an Emoji font installed when running the tests.)
 random != text-emoji.html text-emoji-notref.html
 
 # azure quartz uses CGDrawLinearGradient instead of DrawShading
 # so we have less control over degenerate behaviour as tested by this
 # test
-fails-if((azureSkia&&!azureSkiaGL)||(azureSkiaGL&&Android)) == linear-gradient-1a.html linear-gradient-1-ref.html
+fails-if((azureSkia&&!azureSkiaGL&&!stylo)||(azureSkiaGL&&Android)) == linear-gradient-1a.html linear-gradient-1-ref.html
 
 # this passes with cairo on 10.7 and 10.8 but not with azure for reasons unknown
-fails-if((azureSkia&&!azureSkiaGL)||(azureSkiaGL&&Android)) == linear-gradient-1b.html linear-gradient-1-ref.html
+fails-if((azureSkia&&!azureSkiaGL&&!stylo)||(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)
--- a/layout/reftests/columns/reftest.list
+++ b/layout/reftests/columns/reftest.list
@@ -15,26 +15,26 @@ fuzzy-if(webrender,255,12) == column-bal
 == column-balancing-000.html column-balancing-000.ref.html
 == column-balancing-001.html column-balancing-000.ref.html
 == column-balancing-002.html column-balancing-002.ref.html
 == column-balancing-003.html column-balancing-000.ref.html
 == column-balancing-004.html column-balancing-004.ref.html
 == column-box-alignment-rtl.html column-box-alignment-rtl-ref.html
 HTTP(..) == columnfill-balance.html columnfill-balance-ref.html
 fuzzy-if(OSX,32,1000) HTTP(..) == columnfill-auto.html columnfill-auto-ref.html
-HTTP(..) == columnfill-auto-2.html columnfill-auto-2-ref.html
-HTTP(..) == columnfill-auto-3.html columnfill-auto-2-ref.html
-== columnrule-basic.html columnrule-basic-ref.html
-== columnrule-complex.html columnrule-complex-ref.html
+fails-if(stylo) HTTP(..) == columnfill-auto-2.html columnfill-auto-2-ref.html
+fails-if(stylo) HTTP(..) == columnfill-auto-3.html columnfill-auto-2-ref.html
+fails-if(stylo) == columnrule-basic.html columnrule-basic-ref.html
+fails-if(stylo) == columnrule-complex.html columnrule-complex-ref.html
 != columnrule-linestyles.html columnrule-linestyles-notref.html
 == columnrule-padding.html columnrule-padding-ref.html
-== columnfill-overflow.html columnfill-overflow-ref.html
+fails-if(stylo) == columnfill-overflow.html columnfill-overflow-ref.html
 == margin-collapsing-bug616722-1.html margin-collapsing-bug616722-1-ref.html
 == margin-collapsing-bug616722-2.html margin-collapsing-bug616722-2-ref.html
-== column-balancing-nested-000.html column-balancing-nested-000-ref.html
-== column-balancing-nested-001.html column-balancing-nested-001-ref.html
+fails-if(stylo) == column-balancing-nested-000.html column-balancing-nested-000-ref.html
+fails-if(stylo) == column-balancing-nested-001.html column-balancing-nested-001-ref.html
 == columnrule-overflow.html columnrule-overflow-ref.html
 == columns-table-caption-000.html columns-table-caption-000-ref.html
 == positioning-transforms-bug1112501.html positioning-transforms-bug1112501-ref.html
 fuzzy-if(browserIsRemote&&winWidget,140,276) == fieldset-columns-001.html fieldset-columns-001-ref.html
 == dynamic-change-with-overflow-1.html dynamic-change-with-overflow-1-ref.html
 == dynamic-text-indent-1.html dynamic-text-indent-1-ref.html
 == dynamic-text-indent-2.html dynamic-text-indent-2-ref.html
--- a/layout/reftests/counter-style/reftest.list
+++ b/layout/reftests/counter-style/reftest.list
@@ -1,35 +1,35 @@
-== 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
-== system-extends.html    system-extends-ref.html
+fails-if(stylo) == system-cyclic.html     system-cyclic-ref.html
+fails-if(stylo) == system-fixed.html      system-fixed-ref.html
+fails-if(stylo) == system-symbolic.html   system-symbolic-ref.html
+fails-if(stylo) == system-alphabetic.html system-alphabetic-ref.html
+fails-if(stylo) == system-numeric.html    system-numeric-ref.html
+fails-if(stylo) == system-additive.html   system-additive-ref.html
+fails-if(stylo) == 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
-== descriptor-negative.html descriptor-negative-ref.html
-== descriptor-prefix.html   descriptor-prefix-ref.html
-== descriptor-suffix.html   descriptor-suffix-ref.html
-== descriptor-range.html    descriptor-range-ref.html
-== descriptor-pad.html      descriptor-pad-ref.html
-== descriptor-fallback.html descriptor-fallback-ref.html
-== descriptor-symbols.html  descriptor-symbols-ref.html
-== descriptor-negative-invalid.html descriptor-negative-invalid-ref.html
-== descriptor-prefix-invalid.html   descriptor-prefix-invalid-ref.html
-== descriptor-suffix-invalid.html   descriptor-suffix-invalid-ref.html
-== descriptor-range-invalid.html    descriptor-range-invalid-ref.html
-== descriptor-pad-invalid.html      descriptor-pad-invalid-ref.html
-== descriptor-fallback.html         descriptor-fallback-ref.html
-== descriptor-symbols-invalid.html  descriptor-symbols-invalid-ref.html
-== name-case-sensitivity.html       name-case-sensitivity-ref.html
-== dependent-builtin.html           dependent-builtin-ref.html
-== redefine-builtin.html            redefine-builtin-ref.html
-== redefine-attr-mapping.html       redefine-attr-mapping-ref.html
-== disclosure-styles.html           disclosure-styles-ref.html
-== symbols-function.html            symbols-function-ref.html
-== symbols-function-invalid.html    symbols-function-invalid-ref.html
+fails-if(stylo) == system-extends-invalid.html    system-extends-invalid-ref.html
+fails-if(stylo) == descriptor-negative.html descriptor-negative-ref.html
+fails-if(stylo) == descriptor-prefix.html   descriptor-prefix-ref.html
+fails-if(stylo) == descriptor-suffix.html   descriptor-suffix-ref.html
+fails-if(stylo) == descriptor-range.html    descriptor-range-ref.html
+fails-if(stylo) == descriptor-pad.html      descriptor-pad-ref.html
+fails-if(stylo) == descriptor-fallback.html descriptor-fallback-ref.html
+fails-if(stylo) == descriptor-symbols.html  descriptor-symbols-ref.html
+fails-if(stylo) == descriptor-negative-invalid.html descriptor-negative-invalid-ref.html
+fails-if(stylo) == descriptor-prefix-invalid.html   descriptor-prefix-invalid-ref.html
+fails-if(stylo) == descriptor-suffix-invalid.html   descriptor-suffix-invalid-ref.html
+fails-if(stylo) == descriptor-range-invalid.html    descriptor-range-invalid-ref.html
+fails-if(stylo) == descriptor-pad-invalid.html      descriptor-pad-invalid-ref.html
+fails-if(stylo) == descriptor-fallback.html         descriptor-fallback-ref.html
+fails-if(stylo) == descriptor-symbols-invalid.html  descriptor-symbols-invalid-ref.html
+fails-if(stylo) == name-case-sensitivity.html       name-case-sensitivity-ref.html
+fails-if(stylo) == dependent-builtin.html           dependent-builtin-ref.html
+fails-if(stylo) == redefine-builtin.html            redefine-builtin-ref.html
+fails-if(stylo) == redefine-attr-mapping.html       redefine-attr-mapping-ref.html
+skip-if(stylo) == disclosure-styles.html           disclosure-styles-ref.html
+fails-if(stylo) == symbols-function.html            symbols-function-ref.html
+fails-if(stylo) == symbols-function-invalid.html    symbols-function-invalid-ref.html
--- a/layout/reftests/counters/reftest.list
+++ b/layout/reftests/counters/reftest.list
@@ -1,42 +1,42 @@
 == counter-name-case-sensitive.html counter-name-case-sensitive-ref.html
 == t1202-counter-00-b-test.html t1202-counter-00-b-reference.html
 == t1202-counter-01-b-test.html t1202-counter-01-b-reference.html
-== t1202-counter-02-b-test.html t1202-counter-02-b-reference.html
-== t1202-counter-03-b-test.html t1202-counter-03-b-reference.html
-== t1202-counter-04-b-test.html t1202-counter-04-b-reference.html
+asserts-if(stylo,4) == t1202-counter-02-b-test.html t1202-counter-02-b-reference.html
+asserts-if(stylo,4) == t1202-counter-03-b-test.html t1202-counter-03-b-reference.html
+asserts-if(stylo,4) == t1202-counter-04-b-test.html t1202-counter-04-b-reference.html
 == t1202-counter-05-b-test.html t1202-counter-05-b-reference.html
-== t1202-counter-06-b-test.html t1202-counter-06-b-reference.html
-== t1202-counter-07-b-test.html t1202-counter-07-b-reference.html
-== t1202-counter-08-b-test.html t1202-counter-08-b-reference.html
-== t1202-counter-09-b-test.html t1202-counter-09-b-reference.html
-== t1202-counter-10-b-test.html t1202-counter-10-b-reference.html
-== t1202-counter-11-b-test.html t1202-counter-11-b-reference.html
-== t1202-counter-12-b-test.html t1202-counter-12-b-reference.html
-== t1202-counter-13-b-test.html t1202-counter-13-b-reference.html
-== t1202-counter-14-b-test.html t1202-counter-14-b-reference.html
-== t1202-counter-15-b-test.html t1202-counter-15-b-reference.html
+fails-if(stylo) == t1202-counter-06-b-test.html t1202-counter-06-b-reference.html
+skip-if(stylo) == t1202-counter-07-b-test.html t1202-counter-07-b-reference.html
+skip-if(stylo) == t1202-counter-08-b-test.html t1202-counter-08-b-reference.html
+fails-if(stylo) == t1202-counter-09-b-test.html t1202-counter-09-b-reference.html
+fails-if(stylo) == t1202-counter-10-b-test.html t1202-counter-10-b-reference.html
+fails-if(stylo) == t1202-counter-11-b-test.html t1202-counter-11-b-reference.html
+skip-if(stylo) == t1202-counter-12-b-test.html t1202-counter-12-b-reference.html
+fails-if(stylo) == t1202-counter-13-b-test.html t1202-counter-13-b-reference.html
+skip-if(stylo) == t1202-counter-14-b-test.html t1202-counter-14-b-reference.html
+fails-if(stylo) == t1202-counter-15-b-test.html t1202-counter-15-b-reference.html
 == t1202-counter-16-f-test.html t1202-counter-16-f-reference.html
 == t1202-counters-00-b-test.html t1202-counters-00-b-reference.html
 == t1202-counters-01-b-test.html t1202-counters-01-b-reference.html
-== t1202-counters-02-b-test.html t1202-counters-02-b-reference.html
-== t1202-counters-03-b-test.html t1202-counters-03-b-reference.html
-== t1202-counters-04-b-test.html t1202-counters-04-b-reference.html
+asserts-if(stylo,4) == t1202-counters-02-b-test.html t1202-counters-02-b-reference.html
+asserts-if(stylo,4) == t1202-counters-03-b-test.html t1202-counters-03-b-reference.html
+asserts-if(stylo,4) == t1202-counters-04-b-test.html t1202-counters-04-b-reference.html
 == t1202-counters-05-b-test.html t1202-counters-05-b-reference.html
-== t1202-counters-06-b-test.html t1202-counters-06-b-reference.html
-== t1202-counters-07-b-test.html t1202-counters-07-b-reference.html
-== t1202-counters-08-b-test.html t1202-counters-08-b-reference.html
-== t1202-counters-09-b-test.html t1202-counters-09-b-reference.html
-== t1202-counters-10-b-test.html t1202-counters-10-b-reference.html
-== t1202-counters-11-b-test.html t1202-counters-11-b-reference.html
-== t1202-counters-12-b-test.html t1202-counters-12-b-reference.html
-== t1202-counters-13-b-test.html t1202-counters-13-b-reference.html
-== t1202-counters-14-b-test.html t1202-counters-14-b-reference.html
-== t1202-counters-15-b-test.html t1202-counters-15-b-reference.html
+fails-if(stylo) == t1202-counters-06-b-test.html t1202-counters-06-b-reference.html
+skip-if(stylo) == t1202-counters-07-b-test.html t1202-counters-07-b-reference.html
+skip-if(stylo) == t1202-counters-08-b-test.html t1202-counters-08-b-reference.html
+fails-if(stylo) == t1202-counters-09-b-test.html t1202-counters-09-b-reference.html
+fails-if(stylo) == t1202-counters-10-b-test.html t1202-counters-10-b-reference.html
+fails-if(stylo) == t1202-counters-11-b-test.html t1202-counters-11-b-reference.html
+skip-if(stylo) == t1202-counters-12-b-test.html t1202-counters-12-b-reference.html
+fails-if(stylo) == t1202-counters-13-b-test.html t1202-counters-13-b-reference.html
+skip-if(stylo) == t1202-counters-14-b-test.html t1202-counters-14-b-reference.html
+fails-if(stylo) == t1202-counters-15-b-test.html t1202-counters-15-b-reference.html
 == t1202-counters-16-c-test.html t1202-counters-16-c-reference.html
 == t1202-counters-17-d-test.html t1202-counters-17-d-reference.html
 == t1202-counters-18-f-test.html t1202-counters-18-f-reference.html
 == t1204-implied-00-b-test.html t1204-implied-00-b-reference.html
 == t1204-implied-01-c-test.html t1204-implied-01-c-reference.html
 == t1204-implied-02-d-test.html t1204-implied-02-d-reference.html
 == t1204-increment-00-c-o-test.html t1204-increment-00-c-o-reference.html
 == t1204-increment-01-c-o-test.html t1204-increment-01-c-o-reference.html
@@ -53,30 +53,30 @@
 == t120401-scope-01-c-test.html t120401-scope-01-c-reference.html
 == t120401-scope-02-c-test.html t120401-scope-02-c-reference.html
 == t120401-scope-03-c-test.html t120401-scope-03-c-reference.html
 == t120401-scope-04-d-test.html t120401-scope-04-d-reference.html
 == t120403-content-none-00-c-test.html t120403-content-none-00-c-reference.html
 == t120403-display-none-00-c-test.html t120403-display-none-00-c-reference.html
 == t120403-visibility-00-c-test.html t120403-visibility-00-c-reference.html
 == text-boundaries-subpixel.html text-boundaries-subpixel-ref.html
-== counter-hebrew-test.html counter-hebrew-reference.html
-== counters-hebrew-test.html counters-hebrew-reference.html
+fails-if(stylo) == counter-hebrew-test.html counter-hebrew-reference.html
+fails-if(stylo) == counters-hebrew-test.html counters-hebrew-reference.html
 fails-if(xulRuntime.XPCOMABI.match(/arm/)) == counter-reset-integer-range.html counter-reset-integer-range-ref.html # bug 989718
 == counter-ua-limits-00.html counter-ua-limits-00-ref.html
 == counter-ua-limits-01.html counter-ua-limits-01-ref.html
 fails-if(xulRuntime.XPCOMABI.match(/arm/)) == counter-ua-limits-02.html counter-ua-limits-02-ref.html # bug 989718
 == counter-ua-limits-03.html counter-ua-limits-03-ref.html
 == counter-ua-limits-list-00.html counter-ua-limits-list-00-ref.html
 == counter-ua-limits-list-01.html counter-ua-limits-list-01-ref.html
-== multiple-thai-counters.html multiple-thai-counters-ref.html
-== counter-suffix.html counter-suffix-ref.html
-== counter-cjk-decimal.html counter-cjk-decimal-ref.html
-== counter-japanese-informal.html counter-japanese-informal-ref.html
-== counter-japanese-formal.html counter-japanese-formal-ref.html
-== counter-korean-hangul-formal.html counter-korean-hangul-formal-ref.html
-== counter-korean-hanja-informal.html counter-korean-hanja-informal-ref.html
-== counter-korean-hanja-formal.html counter-korean-hanja-formal-ref.html
-== counter-simp-chinese-informal.html counter-simp-chinese-informal-ref.html
-== counter-simp-chinese-formal.html counter-simp-chinese-formal-ref.html
-== counter-trad-chinese-informal.html counter-trad-chinese-informal-ref.html
-== counter-trad-chinese-formal.html counter-trad-chinese-formal-ref.html
-== counter-ethiopic-numeric.html counter-ethiopic-numeric-ref.html
+fails-if(stylo) == multiple-thai-counters.html multiple-thai-counters-ref.html
+fails-if(stylo) == counter-suffix.html counter-suffix-ref.html
+fails-if(stylo) == counter-cjk-decimal.html counter-cjk-decimal-ref.html
+asserts-if(stylo,4) == counter-japanese-informal.html counter-japanese-informal-ref.html
+asserts-if(stylo,4) == counter-japanese-formal.html counter-japanese-formal-ref.html
+asserts-if(stylo,4) == counter-korean-hangul-formal.html counter-korean-hangul-formal-ref.html
+asserts-if(stylo,4) == counter-korean-hanja-informal.html counter-korean-hanja-informal-ref.html
+asserts-if(stylo,4) == counter-korean-hanja-formal.html counter-korean-hanja-formal-ref.html
+asserts-if(stylo,4) == counter-simp-chinese-informal.html counter-simp-chinese-informal-ref.html
+asserts-if(stylo,4) == counter-simp-chinese-formal.html counter-simp-chinese-formal-ref.html
+asserts-if(stylo,4) == counter-trad-chinese-informal.html counter-trad-chinese-informal-ref.html
+asserts-if(stylo,4) == counter-trad-chinese-formal.html counter-trad-chinese-formal-ref.html
+asserts-if(stylo,4) == counter-ethiopic-numeric.html counter-ethiopic-numeric-ref.html
--- a/layout/reftests/css-animations/reftest.list
+++ b/layout/reftests/css-animations/reftest.list
@@ -1,12 +1,12 @@
 == screen-animations.html screen-animations-ref.html
 != screen-animations.html screen-animations-notref.html
-fails == print-no-animations.html print-no-animations-ref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-print tests
-fails != print-no-animations.html print-no-animations-notref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-print tests
+fails-if(!stylo) == print-no-animations.html print-no-animations-ref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-print tests
+fails-if(!stylo) != print-no-animations.html print-no-animations-notref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-print tests
 == animate-opacity.html animate-opacity-ref.html
 == animate-preserves3d.html animate-preserves3d-ref.html
 == in-visibility-hidden-animation.html in-visibility-hidden-animation-ref.html
 == in-visibility-hidden-animation-pseudo-element.html in-visibility-hidden-animation-pseudo-element-ref.html
 == partially-out-of-view-animation.html partially-out-of-view-animation-ref.html
 == animate-display-table-opacity.html animate-display-table-opacity-ref.html
 # We need to run 100% opacity test case when OMTA is disabled to check that the animation creates a stacking context even if the animation is not running on the compositor
 test-pref(layers.offmainthreadcomposition.async-animations,false) == stacking-context-opacity-1-animation.html stacking-context-animation-ref.html
@@ -37,16 +37,16 @@ fails-if(webrender) == stacking-context-
 == 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.
 == 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.
 
-== mask-position-after-finish-1a.html mask-anim-ref.html
-== mask-position-after-finish-1b.html mask-anim-ref.html
+fails-if(stylo) == mask-position-after-finish-1a.html mask-anim-ref.html
+fails-if(stylo) == mask-position-after-finish-1b.html mask-anim-ref.html
 == mask-position-in-delay-1a.html mask-anim-ref.html
 == mask-position-in-delay-1b.html mask-anim-ref.html
 == mask-size-after-finish-1a.html mask-anim-ref.html
 == mask-size-after-finish-1b.html mask-anim-ref.html
 == mask-size-in-delay-1a.html mask-anim-ref.html
 == mask-size-in-delay-1b.html mask-anim-ref.html
--- a/layout/reftests/css-break/reftest.list
+++ b/layout/reftests/css-break/reftest.list
@@ -1,13 +1,13 @@
 default-preferences pref(layout.css.box-decoration-break.enabled,true)
 
 == box-decoration-break-1.html box-decoration-break-1-ref.html
 fuzzy(1,20) fuzzy-if(skiaContent,1,700) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
 fuzzy(16,460) fuzzy-if(Android,10,3673) fuzzy-if(skiaContent,32,254) == box-decoration-break-with-outset-box-shadow-1.html box-decoration-break-with-outset-box-shadow-1-ref.html
 random-if(!gtkWidget) HTTP(..) == box-decoration-break-border-image.html box-decoration-break-border-image-ref.html
 == box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
 == box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
-fuzzy-if(!Android,1,62) fuzzy-if(Android,8,6627) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html #Bug 1313773
+fuzzy-if(!Android,1,62) fuzzy-if(Android,8,6627) fails-if(stylo) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html #Bug 1313773
 == box-decoration-break-with-bidi.html box-decoration-break-with-bidi-ref.html
 == box-decoration-break-bug-1235152.html box-decoration-break-bug-1235152-ref.html
 == box-decoration-break-bug-1249913.html box-decoration-break-bug-1249913-ref.html
 == vertical-wm-001.html vertical-wm-001-ref.html
--- a/layout/reftests/css-calc/reftest.list
+++ b/layout/reftests/css-calc/reftest.list
@@ -1,2 +1,2 @@
-== background-image-gradient-1.html background-image-gradient-1-ref.html
-== line-height-1.html line-height-1-ref.html
+fails-if(stylo) == background-image-gradient-1.html background-image-gradient-1-ref.html
+fails-if(stylo) == line-height-1.html line-height-1-ref.html
--- a/layout/reftests/css-charset/reftest.list
+++ b/layout/reftests/css-charset/reftest.list
@@ -1,10 +1,10 @@
 == test-attribute.html pass.html
 == test-charset-quotes.html pass.html
 == test-charset-leading-space.html pass.html
 == test-charset-trailing-space.html pass.html
 == test-charset-utf-16-le-no-bom.html pass.html
-fails == test-charset-utf-16-le-bom.html pass.html
+fails-if(!stylo) == test-charset-utf-16-le-bom.html pass.html
 == test-charset-utf-16-bom-le.html pass.html
 == test-charset-utf-16-be-no-bom.html pass.html
-fails == test-charset-utf-16-be-bom.html pass.html
+fails-if(!stylo) == test-charset-utf-16-be-bom.html pass.html
 == test-charset-utf-16-bom-be.html pass.html
--- a/layout/reftests/css-default/submit-button/reftest.list
+++ b/layout/reftests/css-default/submit-button/reftest.list
@@ -1,11 +1,11 @@
-== default-submit-button-1.html default-submit-button-ref.html
-== default-submit-button-2.html default-submit-button-ref.html
-== default-submit-button-3.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-1.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-2.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-3.html default-submit-button-ref.html
 == default-submit-button-4.html about:blank
-== default-submit-button-5.html default-submit-button-ref.html
-== default-submit-button-6.html default-submit-button-ref.html
-== default-submit-button-7.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-5.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-6.html default-submit-button-ref.html
+fails-if(stylo) == default-submit-button-7.html default-submit-button-ref.html
 
-== default-multiple-submit-1.html default-multiple-submit-ref.html
-== default-multiple-submit-2.html default-multiple-submit-ref.html
+fails-if(stylo) == default-multiple-submit-1.html default-multiple-submit-ref.html
+fails-if(stylo) == default-multiple-submit-2.html default-multiple-submit-ref.html
 
--- a/layout/reftests/css-disabled/select/reftest.list
+++ b/layout/reftests/css-disabled/select/reftest.list
@@ -1,9 +1,9 @@
-fuzzy-if(Android,12,1) == select-fieldset-1.html select-fieldset-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,17) == select-fieldset-2.html select-fieldset-ref-disabled.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,17) == select-fieldset-3.html select-fieldset-ref-disabled.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,13) == select-fieldset-4.html select-fieldset-ref.html
-== select-fieldset-legend-1.html select-fieldset-legend-ref-1.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,6) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,8) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html
-fuzzy-if(skiaContent,2,12) == select-fieldset-legend-4.html select-fieldset-legend-ref-4.html
-fuzzy-if(skiaContent,2,5) == select-fieldset-legend-5.html select-fieldset-legend-ref-5.html
+fuzzy-if(Android,12,1) fails-if(stylo) == select-fieldset-1.html select-fieldset-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,17) fails-if(stylo) == select-fieldset-2.html select-fieldset-ref-disabled.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,17) fails-if(stylo) == select-fieldset-3.html select-fieldset-ref-disabled.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,13) fails-if(stylo) == select-fieldset-4.html select-fieldset-ref.html
+fails-if(stylo) == select-fieldset-legend-1.html select-fieldset-legend-ref-1.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,6) fails-if(stylo) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,8) fails-if(stylo) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html
+fuzzy-if(skiaContent,2,12) fails-if(stylo) == select-fieldset-legend-4.html select-fieldset-legend-ref-4.html
+fuzzy-if(skiaContent,2,5) fails-if(stylo) == select-fieldset-legend-5.html select-fieldset-legend-ref-5.html
--- a/layout/reftests/css-disabled/textarea/reftest.list
+++ b/layout/reftests/css-disabled/textarea/reftest.list
@@ -1,9 +1,9 @@
-fuzzy-if(skiaContent,1,10) == textarea-fieldset-1.html textarea-fieldset-ref.html
-== textarea-fieldset-2.html textarea-fieldset-ref.html
-== textarea-fieldset-3.html textarea-fieldset-ref.html
-== textarea-fieldset-4.html textarea-fieldset-ref.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-1.html textarea-fieldset-legend-ref-1.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-2.html textarea-fieldset-legend-ref-2.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-3.html textarea-fieldset-legend-ref-3.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-4.html textarea-fieldset-legend-ref-4.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-5.html textarea-fieldset-legend-ref-5.html
+fuzzy-if(skiaContent,1,10) fails-if(stylo) == textarea-fieldset-1.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-3.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-4.html textarea-fieldset-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-1.html textarea-fieldset-legend-ref-1.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-2.html textarea-fieldset-legend-ref-2.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-3.html textarea-fieldset-legend-ref-3.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-4.html textarea-fieldset-legend-ref-4.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-5.html textarea-fieldset-legend-ref-5.html
--- a/layout/reftests/css-display/reftest.list
+++ b/layout/reftests/css-display/reftest.list
@@ -1,31 +1,31 @@
 # Tests for CSS Display spec features.
 # http://dev.w3.org/csswg/css-display
 
-fuzzy-if(Android,8,604) == display-contents-acid.html display-contents-acid-ref.html
-fuzzy-if(Android,8,604) == display-contents-acid-dyn-1.html display-contents-acid-ref.html
-fuzzy-if(Android,8,604) == display-contents-acid-dyn-2.html display-contents-acid-ref.html
-fuzzy-if(Android,8,604) == display-contents-acid-dyn-3.html display-contents-acid-ref.html
-== display-contents-generated-content.html display-contents-generated-content-ref.html
-== display-contents-generated-content-2.html display-contents-generated-content-ref.html
-== display-contents-style-inheritance-1.html display-contents-style-inheritance-1-ref.html
-== display-contents-style-inheritance-1-stylechange.html display-contents-style-inheritance-1-ref.html
-fuzzy-if(winWidget,12,100) == display-contents-style-inheritance-1-dom-mutations.html display-contents-style-inheritance-1-ref.html
+fuzzy-if(Android,8,604) fails-if(stylo) == display-contents-acid.html display-contents-acid-ref.html
+fuzzy-if(Android,8,604) fails-if(stylo) == display-contents-acid-dyn-1.html display-contents-acid-ref.html
+fuzzy-if(Android,8,604) fails-if(stylo) == display-contents-acid-dyn-2.html display-contents-acid-ref.html
+fuzzy-if(Android,8,604) fails-if(stylo) == display-contents-acid-dyn-3.html display-contents-acid-ref.html
+skip-if(stylo) == display-contents-generated-content.html display-contents-generated-content-ref.html
+skip-if(stylo) == display-contents-generated-content-2.html display-contents-generated-content-ref.html
+fails-if(stylo) == display-contents-style-inheritance-1.html display-contents-style-inheritance-1-ref.html
+fails-if(stylo) == display-contents-style-inheritance-1-stylechange.html display-contents-style-inheritance-1-ref.html
+fuzzy-if(winWidget,12,100) skip-if(stylo) == display-contents-style-inheritance-1-dom-mutations.html display-contents-style-inheritance-1-ref.html
 == display-contents-tables.xhtml display-contents-tables-ref.xhtml
 == display-contents-tables-2.xhtml display-contents-tables-ref.xhtml
 == display-contents-tables-3.xhtml display-contents-tables-3-ref.xhtml
 == display-contents-visibility-hidden.html display-contents-visibility-hidden-ref.html
 == display-contents-visibility-hidden-2.html display-contents-visibility-hidden-ref.html
 == display-contents-495385-2d.html display-contents-495385-2d-ref.html
-fuzzy-if(Android,7,3935) == display-contents-xbl.xhtml display-contents-xbl-ref.html
-fuzzy-if(Android,7,1186) pref(dom.webcomponents.enabled,true) == display-contents-shadow-dom-1.html display-contents-shadow-dom-1-ref.html
+fuzzy-if(Android,7,3935) fails-if(stylo) == display-contents-xbl.xhtml display-contents-xbl-ref.html
+fuzzy-if(Android,7,1186) pref(dom.webcomponents.enabled,true) skip-if(stylo) == display-contents-shadow-dom-1.html display-contents-shadow-dom-1-ref.html
 == display-contents-xbl-2.xul display-contents-xbl-2-ref.xul
-asserts(1) == display-contents-xbl-3.xul display-contents-xbl-3-ref.xul # bug 1089223
+asserts(1) asserts-if(stylo,2) == display-contents-xbl-3.xul display-contents-xbl-3-ref.xul # bug 1089223
 skip == display-contents-xbl-4.xul display-contents-xbl-4-ref.xul # fails (not just asserts) due to bug 1089223
 asserts(0-1) fuzzy-if(Android,8,3216) == display-contents-fieldset.html display-contents-fieldset-ref.html # bug 1089223
-asserts(1) == display-contents-xbl-5.xul display-contents-xbl-3-ref.xul # bug 1089223
+asserts(1) asserts-if(stylo,2) == display-contents-xbl-5.xul display-contents-xbl-3-ref.xul # bug 1089223
 == display-contents-list-item-child.html display-contents-list-item-child-ref.html
 == display-contents-dyn-insert-text.html display-contents-dyn-insert-text-ref.html
 == display-contents-writing-mode-1.html display-contents-writing-mode-1-ref.html
 == display-contents-writing-mode-2.html display-contents-writing-mode-2-ref.html
 pref(layout.css.display-flow-root.enabled,true) == display-flow-root-001.html display-flow-root-001-ref.html
-pref(layout.css.display-flow-root.enabled,false) == display-flow-root-001.html display-flow-root-disabled-001-ref.html
+pref(layout.css.display-flow-root.enabled,false) fails-if(stylo) == display-flow-root-001.html display-flow-root-disabled-001-ref.html
--- a/layout/reftests/css-enabled/textarea/reftest.list
+++ b/layout/reftests/css-enabled/textarea/reftest.list
@@ -1,9 +1,9 @@
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-1.html textarea-fieldset-ref.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-2.html textarea-fieldset-ref.html
-== textarea-fieldset-3.html textarea-fieldset-ref.html
-== textarea-fieldset-4.html textarea-fieldset-ref.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-1.html textarea-fieldset-legend-ref-1.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-2.html textarea-fieldset-legend-ref-2.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-3.html textarea-fieldset-legend-ref-3.html
-fuzzy-if(skiaContent,1,5) == textarea-fieldset-legend-4.html textarea-fieldset-legend-ref-4.html
-fuzzy-if(skiaContent,1,10) == textarea-fieldset-legend-5.html textarea-fieldset-legend-ref-5.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-1.html textarea-fieldset-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-3.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-4.html textarea-fieldset-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-1.html textarea-fieldset-legend-ref-1.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-2.html textarea-fieldset-legend-ref-2.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-3.html textarea-fieldset-legend-ref-3.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == textarea-fieldset-legend-4.html textarea-fieldset-legend-ref-4.html
+fuzzy-if(skiaContent,1,10) fails-if(stylo) == textarea-fieldset-legend-5.html textarea-fieldset-legend-ref-5.html
--- a/layout/reftests/css-gradients/reftest.list
+++ b/layout/reftests/css-gradients/reftest.list
@@ -1,155 +1,155 @@
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,88500) fuzzy-if(azureSkiaGL||skiaContent,4,89700) == linear-1a.html linear-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,88500) fuzzy-if(azureSkiaGL||skiaContent,4,89700) == linear-1b.html linear-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,88500) fuzzy-if(azureSkiaGL||skiaContent,4,89700) fails-if(stylo) == linear-1a.html linear-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,88500) fuzzy-if(azureSkiaGL||skiaContent,4,89700) fails-if(stylo) == linear-1b.html linear-1-ref.html
 fuzzy-if(!contentSameGfxBackendAsCanvas,2,88500) fuzzy-if(azureSkiaGL,2,89997) fuzzy-if(skiaContent,1,16000) == linear-keywords-1a.html linear-keywords-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,2,88500) fuzzy-if(azureSkiaGL,2,89997) fuzzy-if(skiaContent,1,16000) == linear-keywords-1b.html linear-keywords-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,2,88500) fuzzy-if(skiaContent,1,18000) == linear-percent.html linear-percent-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,92400) fuzzy-if(azureSkiaGL||skiaContent,3,143400) fuzzy-if(Android,4,93000) == linear-mix.html linear-mix-ref.html
-== linear-diagonal-1a.html linear-diagonal-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,2,88500) fuzzy-if(azureSkiaGL,2,89997) fuzzy-if(skiaContent,1,16000) fails-if(stylo) == linear-keywords-1b.html linear-keywords-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,2,88500) fuzzy-if(skiaContent,1,18000) fails-if(stylo) == linear-percent.html linear-percent-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,92400) fuzzy-if(azureSkiaGL||skiaContent,3,143400) fuzzy-if(Android,4,93000) fails-if(stylo) == linear-mix.html linear-mix-ref.html
+fails-if(stylo) == linear-diagonal-1a.html linear-diagonal-1-ref.html
 == linear-diagonal-1b.html linear-diagonal-1-ref.html
-== linear-diagonal-1c.html linear-diagonal-1-ref.html
-== linear-diagonal-2a.html linear-diagonal-2-ref.html
-== linear-diagonal-2b.html linear-diagonal-2-ref.html
-== linear-diagonal-2c.html linear-diagonal-2-ref.html
-== linear-diagonal-3a.html linear-diagonal-3-ref.html
+fails-if(stylo) == linear-diagonal-1c.html linear-diagonal-1-ref.html
+fails-if(stylo) == linear-diagonal-2a.html linear-diagonal-2-ref.html
+fails-if(stylo) == linear-diagonal-2b.html linear-diagonal-2-ref.html
+fails-if(stylo) == linear-diagonal-2c.html linear-diagonal-2-ref.html
+fails-if(stylo) == linear-diagonal-3a.html linear-diagonal-3-ref.html
 == linear-diagonal-3b.html linear-diagonal-3-ref.html
-== linear-diagonal-3c.html linear-diagonal-3-ref.html
-== linear-diagonal-4a.html linear-diagonal-4-ref.html
-== linear-diagonal-4b.html linear-diagonal-4-ref.html
-== linear-diagonal-4c.html linear-diagonal-4-ref.html
-== linear-premul.html linear-premul-ref.html
+fails-if(stylo) == linear-diagonal-3c.html linear-diagonal-3-ref.html
+fails-if(stylo) == linear-diagonal-4a.html linear-diagonal-4-ref.html
+fails-if(stylo) == linear-diagonal-4b.html linear-diagonal-4-ref.html
+fails-if(stylo) == linear-diagonal-4c.html linear-diagonal-4-ref.html
+fails-if(stylo) == linear-premul.html linear-premul-ref.html
 
 # these tests uses a similar gradient over different bounds. It's perfectly
 # reasonable to expect implementations to give slightly different results
 # if the gradients are not being normalized. Skia uses a lookup table for
 # gradients so it will have less precision when drawing a larger gradient
-fuzzy(2,11410) fuzzy-if(skiaContent,4,16000) == linear-diagonal-5a.html linear-diagonal-5-ref.html
-fuzzy(2,11568) fuzzy-if(skiaContent,8,20000) == linear-diagonal-6a.html linear-diagonal-6-ref.html
-fuzzy(2,11605) fuzzy-if(skiaContent,8,20000) == linear-diagonal-7a.html linear-diagonal-7-ref.html
-fuzzy(2,11407) fuzzy-if(skiaContent,4,16000) == linear-diagonal-8a.html linear-diagonal-8-ref.html
+fuzzy(2,11410) fuzzy-if(skiaContent,4,16000) fails-if(stylo) == linear-diagonal-5a.html linear-diagonal-5-ref.html
+fuzzy(2,11568) fuzzy-if(skiaContent,8,20000) fails-if(stylo) == linear-diagonal-6a.html linear-diagonal-6-ref.html
+fuzzy(2,11605) fuzzy-if(skiaContent,8,20000) fails-if(stylo) == linear-diagonal-7a.html linear-diagonal-7-ref.html
+fuzzy(2,11407) fuzzy-if(skiaContent,4,16000) fails-if(stylo) == linear-diagonal-8a.html linear-diagonal-8-ref.html
 
 fuzzy-if(cocoaWidget,4,29437) fuzzy-if(skiaContent,2,1700) == linear-diagonal-9a.html linear-diagonal-9-ref.html
-fuzzy(1,800000) == linear-flipped-1.html linear-flipped-1-ref.html
-== linear-position-1a.html linear-position-1-ref.html
-== linear-repeat-1a.html linear-repeat-1-ref.html
-fails-if(d2d) == linear-repeat-1b.html linear-repeat-1-ref.html # bug 582236
-== linear-repeat-1c.html linear-repeat-1-ref.html
-fails-if(d2d) == linear-repeat-1d.html linear-repeat-1-ref.html # bug 582236
-== linear-repeat-1e.html linear-repeat-1-ref.html
-fails-if(d2d) == linear-repeat-1f.html linear-repeat-1-ref.html # bug 582236
-fails-if(d2d) == linear-repeat-1g.html linear-repeat-1-ref.html # bug 582236
+fuzzy(1,800000) fails-if(stylo) == linear-flipped-1.html linear-flipped-1-ref.html
+fails-if(stylo) == linear-position-1a.html linear-position-1-ref.html
+fails-if(stylo) == linear-repeat-1a.html linear-repeat-1-ref.html
+fails-if(d2d) fails-if(stylo) == linear-repeat-1b.html linear-repeat-1-ref.html # bug 582236
+fails-if(stylo) == linear-repeat-1c.html linear-repeat-1-ref.html
+fails-if(d2d) fails-if(stylo) == linear-repeat-1d.html linear-repeat-1-ref.html # bug 582236
+fails-if(stylo) == linear-repeat-1e.html linear-repeat-1-ref.html
+fails-if(d2d) fails-if(stylo) == linear-repeat-1f.html linear-repeat-1-ref.html # bug 582236
+fails-if(d2d) fails-if(stylo) == linear-repeat-1g.html linear-repeat-1-ref.html # bug 582236
 fuzzy-if(skiaContent,1,500) == linear-rotated-1.html linear-rotated-1-ref.html
-fuzzy-if(winWidget,1,36000) fuzzy-if(skiaContent,1,45000) == linear-size-1a.html linear-size-1-ref.html
-== linear-stops-1a.html linear-stops-1-ref.html
-== linear-stops-1b.html linear-stops-1-ref.html
-== linear-stops-1c.html linear-stops-1-ref.html
-== linear-stops-1d.html linear-stops-1-ref.html
-== linear-stops-1e.html linear-stops-1-ref.html
-== linear-stops-1f.html linear-stops-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) == linear-vertical-1a.html linear-vertical-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) == linear-vertical-1b.html linear-vertical-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) == linear-vertical-1c.html linear-vertical-1-ref.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) == linear-vertical-1d.html linear-vertical-1-ref.html
+fuzzy-if(winWidget,1,36000) fuzzy-if(skiaContent,1,45000) fails-if(stylo) == linear-size-1a.html linear-size-1-ref.html
+fails-if(stylo) == linear-stops-1a.html linear-stops-1-ref.html
+fails-if(stylo) == linear-stops-1b.html linear-stops-1-ref.html
+fails-if(stylo) == linear-stops-1c.html linear-stops-1-ref.html
+fails-if(stylo) == linear-stops-1d.html linear-stops-1-ref.html
+fails-if(stylo) == linear-stops-1e.html linear-stops-1-ref.html
+fails-if(stylo) == linear-stops-1f.html linear-stops-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) fails-if(stylo) == linear-vertical-1a.html linear-vertical-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) fails-if(stylo) == linear-vertical-1b.html linear-vertical-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) fails-if(stylo) == linear-vertical-1c.html linear-vertical-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) fails-if(stylo) == linear-vertical-1d.html linear-vertical-1-ref.html
 fuzzy-if(!contentSameGfxBackendAsCanvas,3,88500) fuzzy-if(azureSkiaGL||skiaContent,3,89700) == linear-vertical-1e.html linear-vertical-1-ref.html
-== linear-vertical-subpixel-1.html linear-vertical-subpixel-1-ref.html
-== linear-viewport.html linear-viewport-ref.html
-fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) == linear-zero-length-1a.html linear-zero-length-1-ref.html
-fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) == linear-zero-length-1b.html linear-zero-length-1-ref.html
-fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) == linear-zero-length-1c.html linear-zero-length-1-ref.html
+fails-if(stylo) == linear-vertical-subpixel-1.html linear-vertical-subpixel-1-ref.html
+fails-if(stylo) == linear-viewport.html linear-viewport-ref.html
+fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) fails-if(stylo) == linear-zero-length-1a.html linear-zero-length-1-ref.html
+fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) fails-if(stylo) == linear-zero-length-1b.html linear-zero-length-1-ref.html
+fails-if(OSX==1010&&!skiaContent) fuzzy-if(Android,4,248) fails-if(stylo) == linear-zero-length-1c.html linear-zero-length-1-ref.html
 == nostops.html about:blank
 == onestop.html about:blank
 fuzzy-if(!contentSameGfxBackendAsCanvas,1,5884) fuzzy-if(cocoaWidget,9,87824) fuzzy-if(azureSkiaGL,6,88024) random-if(d2d) fuzzy-if(skiaContent,4,6000) == radial-1a.html radial-1-ref.html
 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-if(!contentSameGfxBackendAsCanvas,1,5884) fuzzy-if(cocoaWidget,9,87824) fuzzy-if(azureSkiaGL,6,88024) random-if(d2d) fuzzy-if(skiaContent,4,6000) == radial-1c.html radial-1-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,1,5884) fuzzy-if(cocoaWidget,9,87824) fuzzy-if(azureSkiaGL,6,88024) random-if(d2d) fuzzy-if(skiaContent,4,6000) fails-if(stylo) == radial-1c.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(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2e.html radial-2-ref.html
-fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) == radial-2f.html radial-2-ref.html
+fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) fails-if(stylo) == radial-2e.html radial-2-ref.html
+fuzzy(3,7860) fuzzy-if(cocoaWidget,5,89041) fuzzy-if(azureSkiaGL,4,90000) fails-if(stylo) == radial-2f.html radial-2-ref.html
 == radial-position-1a.html radial-position-1-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(Android,8,771) == radial-shape-closest-corner-1c.html radial-shape-closest-corner-1-ref.html
+fuzzy-if(Android,8,771) fails-if(stylo) == radial-shape-closest-corner-1c.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) == radial-shape-closest-side-1c.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(stylo) == radial-shape-closest-side-1c.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,8,771) == radial-shape-farthest-corner-1c.html radial-shape-farthest-corner-1-ref.html
+fuzzy-if(Android,8,771) fails-if(stylo) == radial-shape-farthest-corner-1c.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
-fuzzy-if(Android,17,13320) == radial-shape-farthest-side-1c.html radial-shape-farthest-side-1-ref.html
-== radial-size-1a.html radial-size-1-ref.html
+fuzzy-if(Android,17,13320) fails-if(stylo) == radial-shape-farthest-side-1c.html radial-shape-farthest-side-1-ref.html
+fails-if(stylo) == radial-size-1a.html radial-size-1-ref.html
 == 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
-fuzzy-if(Android,4,248) == radial-zero-length-1g.html radial-zero-length-1-ref.html
-fuzzy-if(Android,4,248) == radial-zero-length-1h.html radial-zero-length-1-ref.html
-fuzzy-if(Android,4,248) == radial-zero-length-1i.html radial-zero-length-1-ref.html
-fuzzy-if(Android,4,248) == radial-zero-length-1j.html radial-zero-length-1-ref.html
+fuzzy-if(Android,4,248) fails-if(stylo) == radial-zero-length-1g.html radial-zero-length-1-ref.html
+fuzzy-if(Android,4,248) fails-if(stylo) == radial-zero-length-1h.html radial-zero-length-1-ref.html
+fuzzy-if(Android,4,248) fails-if(stylo) == radial-zero-length-1i.html radial-zero-length-1-ref.html
+fuzzy-if(Android,4,248) fails-if(stylo) == radial-zero-length-1j.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
-== repeating-linear-1a.html repeating-linear-1-ref.html
-== repeating-linear-1b.html repeating-linear-1-ref.html
-== repeating-linear-2a.html repeating-linear-2-ref.html
+fails-if(stylo) == repeating-linear-1a.html repeating-linear-1-ref.html
+fails-if(stylo) == repeating-linear-1b.html repeating-linear-1-ref.html
+fails-if(stylo) == repeating-linear-2a.html repeating-linear-2-ref.html
 fuzzy-if(d2d,127,2612) == repeating-radial-1a.html repeating-radial-1-ref.html
 == repeating-radial-1b.html repeating-radial-1-ref.html
 fuzzy-if(d2d,127,2612) == repeating-radial-1c.html repeating-radial-1-ref.html
 == repeating-radial-1d.html repeating-radial-1-ref.html
-fuzzy-if(d2d,127,2612) == repeating-radial-1e.html repeating-radial-1-ref.html
-== repeating-radial-1f.html repeating-radial-1-ref.html
+fuzzy-if(d2d,127,2612) fails-if(stylo) == repeating-radial-1e.html repeating-radial-1-ref.html
+fails-if(stylo) == repeating-radial-1f.html repeating-radial-1-ref.html
 == repeating-radial-2a.html repeating-radial-2-ref.html
 == repeating-radial-2b.html repeating-radial-2-ref.html
-fuzzy-if(skiaContent,18,600) == twostops-1a.html twostops-1-ref.html
-fuzzy-if(skiaContent,18,600) == twostops-1b.html twostops-1-ref.html
-fuzzy-if(skiaContent,226,600) == twostops-1c.html twostops-1-ref.html
-fuzzy-if(skiaContent,141,300) == twostops-1d.html twostops-1-ref.html
-fuzzy-if(skiaContent,73,900) == twostops-1e.html twostops-1-ref.html
+fuzzy-if(skiaContent,18,600) fails-if(stylo) == twostops-1a.html twostops-1-ref.html
+fuzzy-if(skiaContent,18,600) fails-if(stylo) == twostops-1b.html twostops-1-ref.html
+fuzzy-if(skiaContent,226,600) fails-if(stylo) == twostops-1c.html twostops-1-ref.html
+fuzzy-if(skiaContent,141,300) fails-if(stylo) == twostops-1d.html twostops-1-ref.html
+fuzzy-if(skiaContent,73,900) fails-if(stylo) == twostops-1e.html twostops-1-ref.html
 fuzzy-if(skiaContent,18,600) == twostops-1f.html twostops-1-ref.html
 fuzzy-if(skiaContent,18,600) == twostops-1g.html twostops-1-ref.html
 
 # from http://www.xanthir.com/:4bhipd by way of http://a-ja.net/newgrad.html
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent&&layersGPUAccelerated,8,20000) == aja-linear-1a.html aja-linear-1-ref.html
-fails-if(!d2d&&!skiaContent) == aja-linear-1b.html aja-linear-1-ref.html # bug 526694
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent&&layersGPUAccelerated,8,20000) fails-if(stylo) == aja-linear-1a.html aja-linear-1-ref.html
+fails-if(!d2d&&!skiaContent) fails-if(stylo) == aja-linear-1b.html aja-linear-1-ref.html # bug 526694
 fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-1c.html aja-linear-1-ref.html 
 fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-1d.html aja-linear-1-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-1e.html aja-linear-1-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-1f.html aja-linear-1-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-1g.html aja-linear-1-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-2a.html aja-linear-2-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-2b.html aja-linear-2-ref.html 
-fails == aja-linear-2c.html aja-linear-2-ref.html # bug 522607
-fails-if(!d2d&&!(skiaContent&&winWidget)) fuzzy-if(skiaContent&&!winWidget,1,200) == aja-linear-2d.html aja-linear-2-ref.html # bug 526694
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-1e.html aja-linear-1-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-1f.html aja-linear-1-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,3,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-1g.html aja-linear-1-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-2a.html aja-linear-2-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-2b.html aja-linear-2-ref.html 
+fails-if(!stylo) == aja-linear-2c.html aja-linear-2-ref.html # bug 522607
+fails-if(!d2d&&!(skiaContent&&winWidget)) fuzzy-if(skiaContent&&!winWidget,1,200) fails-if(stylo) == aja-linear-2d.html aja-linear-2-ref.html # bug 526694
 fuzzy-if(!contentSameGfxBackendAsCanvas,2,19999) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-3a.html aja-linear-3-ref.html 
 fuzzy-if(!contentSameGfxBackendAsCanvas,2,19999) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-3b.html aja-linear-3-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-4a.html aja-linear-4-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-4b.html aja-linear-4-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-5a.html aja-linear-5-ref.html 
-fuzzy-if(!contentSameGfxBackendAsCanvas,2,16500) fuzzy-if(azureSkiaGL||skiaContent,8,20000) == aja-linear-6a.html aja-linear-6-ref.html # bug 526708 
-fails == aja-linear-6b.html aja-linear-6-ref.html # bug 522607
-fuzzy-if(Android,6,10576) == height-dependence-1.html height-dependence-1-ref.html
-fuzzy-if(cocoaWidget,1,40000) fuzzy-if(Android,6,10576) == height-dependence-2.html height-dependence-2-ref.html
-fuzzy-if(Android,6,10576) == height-dependence-3.html height-dependence-3-ref.html
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-4a.html aja-linear-4-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-4b.html aja-linear-4-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,4,20000) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-5a.html aja-linear-5-ref.html 
+fuzzy-if(!contentSameGfxBackendAsCanvas,2,16500) fuzzy-if(azureSkiaGL||skiaContent,8,20000) fails-if(stylo) == aja-linear-6a.html aja-linear-6-ref.html # bug 526708 
+fails-if(!stylo) == aja-linear-6b.html aja-linear-6-ref.html # bug 522607
+fuzzy-if(Android,6,10576) fails-if(stylo) == height-dependence-1.html height-dependence-1-ref.html
+fuzzy-if(cocoaWidget,1,40000) fuzzy-if(Android,6,10576) fails-if(stylo) == height-dependence-2.html height-dependence-2-ref.html
+fuzzy-if(Android,6,10576) fails-if(stylo) == height-dependence-3.html height-dependence-3-ref.html
 
-== linear-onestopposition-1.html linear-onestopposition-1-ref.html
-fuzzy-if(d2d,47,400) == linear-onestopposition-1.html linear-onestopposition-1-ref2.html # d2d interpolates the hard stop
+fails-if(stylo) == linear-onestopposition-1.html linear-onestopposition-1-ref.html
+fuzzy-if(d2d,47,400) fails-if(stylo) == linear-onestopposition-1.html linear-onestopposition-1-ref2.html # d2d interpolates the hard stop
 == radial-onestopposition-1a.html radial-onestopposition-1-ref.html
 == radial-onestopposition-1b.html radial-onestopposition-1-ref.html
-== radial-onestopposition-1c.html radial-onestopposition-1-ref.html
+fails-if(stylo) == radial-onestopposition-1c.html radial-onestopposition-1-ref.html
 == repeating-linear-onestopposition-1.html orange-square.html
 == repeating-radial-onestopposition-1a.html orange-square.html
 == repeating-radial-onestopposition-1b.html orange-square.html
-== repeating-radial-onestopposition-1c.html orange-square.html
+fails-if(stylo) == repeating-radial-onestopposition-1c.html orange-square.html
 == bug-916535-background-repeat-linear.html bug-916535-background-repeat-linear-ref.html
 fuzzy(1,800000) == large-gradient-1.html large-gradient-1-ref.html
 fuzzy-if(Android,4,1) == large-gradient-2.html large-gradient-2-ref.html # Bug 1182082
 fuzzy(1,800000) == large-gradient-3.html large-gradient-3-ref.html
 == large-gradient-4.html large-gradient-4-ref.html
 fuzzy(2,800000) == large-gradient-5.html large-gradient-5-ref.html
 == 1224761-1.html 1224761-1-ref.html
 
--- a/layout/reftests/css-grid/reftest.list
+++ b/layout/reftests/css-grid/reftest.list
@@ -1,288 +1,283 @@
 default-preferences pref(layout.css.grid.enabled,true)
 
-fails == grid-whitespace-handling-1a.xhtml grid-whitespace-handling-1-ref.xhtml
-fails == grid-whitespace-handling-1b.xhtml grid-whitespace-handling-1-ref.xhtml
-== grid-whitespace-handling-2.xhtml  grid-whitespace-handling-2-ref.xhtml
-== grid-placement-definite-001.html grid-placement-definite-001-ref.html
-== grid-placement-definite-002.html grid-placement-definite-002-ref.html
-== grid-placement-definite-003.html grid-placement-definite-003-ref.html
-== grid-placement-negative-lines-001.html grid-placement-negative-lines-001-ref.html
-== grid-placement-auto-row-sparse-001.html grid-placement-auto-row-sparse-001-ref.html
-== grid-placement-auto-row-dense-001.html grid-placement-auto-row-dense-001-ref.html
-== grid-placement-auto-col-sparse-001.html grid-placement-auto-col-sparse-001-ref.html
-== grid-placement-auto-col-dense-001.html grid-placement-auto-col-dense-001-ref.html
-== grid-placement-implicit-named-areas-001.html grid-placement-implicit-named-areas-001-ref.html
-== grid-placement-named-lines-001.html grid-placement-named-lines-001-ref.html
-== grid-placement-named-lines-002.html grid-placement-named-lines-002-ref.html
-== grid-placement-named-lines-003.html grid-placement-named-lines-003-ref.html
-== grid-track-sizing-001.html grid-track-sizing-001-ref.html
-== grid-track-sizing-002.html grid-track-sizing-002-ref.html
+fails-if(!stylo) == grid-whitespace-handling-1a.xhtml grid-whitespace-handling-1-ref.xhtml
+fails-if(!stylo) == grid-whitespace-handling-1b.xhtml grid-whitespace-handling-1-ref.xhtml
+fails-if(stylo) == grid-whitespace-handling-2.xhtml  grid-whitespace-handling-2-ref.xhtml
+fails-if(stylo) == grid-placement-definite-001.html grid-placement-definite-001-ref.html
+fails-if(stylo) == grid-placement-definite-002.html grid-placement-definite-002-ref.html
+fails-if(stylo) == grid-placement-definite-003.html grid-placement-definite-003-ref.html
+fails-if(stylo) == grid-placement-negative-lines-001.html grid-placement-negative-lines-001-ref.html
+fails-if(stylo) == grid-placement-auto-row-sparse-001.html grid-placement-auto-row-sparse-001-ref.html
+fails-if(stylo) == grid-placement-auto-row-dense-001.html grid-placement-auto-row-dense-001-ref.html
+fails-if(stylo) == grid-placement-auto-col-sparse-001.html grid-placement-auto-col-sparse-001-ref.html
+fails-if(stylo) == grid-placement-auto-col-dense-001.html grid-placement-auto-col-dense-001-ref.html
+fails-if(stylo) == grid-placement-implicit-named-areas-001.html grid-placement-implicit-named-areas-001-ref.html
+fails-if(stylo) == grid-placement-named-lines-001.html grid-placement-named-lines-001-ref.html
+fails-if(stylo) == grid-placement-named-lines-002.html grid-placement-named-lines-002-ref.html
+fails-if(stylo) == grid-placement-named-lines-003.html grid-placement-named-lines-003-ref.html
+fails-if(stylo) == grid-track-sizing-001.html grid-track-sizing-001-ref.html
+fails-if(stylo) == grid-track-sizing-002.html grid-track-sizing-002-ref.html
 == grid-abspos-items-001.html grid-abspos-items-001-ref.html
 == grid-abspos-items-002.html grid-abspos-items-002-ref.html
-== grid-abspos-items-003.html grid-abspos-items-003-ref.html
-== grid-abspos-items-004.html grid-abspos-items-004-ref.html
-== grid-abspos-items-005.html grid-abspos-items-005-ref.html
-== grid-abspos-items-006.html grid-abspos-items-006-ref.html
-== grid-abspos-items-007.html grid-abspos-items-007-ref.html
-== grid-abspos-items-008.html grid-abspos-items-008-ref.html
-== grid-abspos-items-009.html grid-abspos-items-009-ref.html
-== grid-abspos-items-010.html grid-abspos-items-010-ref.html
+fails-if(stylo) == grid-abspos-items-003.html grid-abspos-items-003-ref.html
+fails-if(stylo) == grid-abspos-items-004.html grid-abspos-items-004-ref.html
+fails-if(stylo) == grid-abspos-items-005.html grid-abspos-items-005-ref.html
+fails-if(stylo) == grid-abspos-items-006.html grid-abspos-items-006-ref.html
+fails-if(stylo) == grid-abspos-items-007.html grid-abspos-items-007-ref.html
+fails-if(stylo) == grid-abspos-items-008.html grid-abspos-items-008-ref.html
+fails-if(stylo) == grid-abspos-items-009.html grid-abspos-items-009-ref.html
+fails-if(stylo) == grid-abspos-items-010.html grid-abspos-items-010-ref.html
 == grid-abspos-items-011.html grid-abspos-items-011-ref.html
 == grid-abspos-items-012.html grid-abspos-items-012-ref.html
-== grid-abspos-items-013.html grid-abspos-items-013-ref.html
-== grid-abspos-items-014.html grid-abspos-items-014-ref.html
-== grid-abspos-items-015.html grid-abspos-items-015-ref.html
-== grid-order-abspos-items-001.html grid-order-abspos-items-001-ref.html
-== grid-order-placement-auto-001.html grid-order-placement-auto-001-ref.html
-fuzzy-if(skiaContent,1,200) == grid-order-placement-definite-001.html grid-order-placement-definite-001-ref.html
-skip-if(Android) == grid-placement-definite-implicit-001.html grid-placement-definite-implicit-001-ref.html
-== grid-placement-definite-implicit-002.html grid-placement-definite-implicit-002-ref.html
-skip-if(Android) fuzzy-if(winWidget,1,32) == grid-placement-auto-implicit-001.html grid-placement-auto-implicit-001-ref.html
+fails-if(stylo) == grid-abspos-items-013.html grid-abspos-items-013-ref.html
+fails-if(stylo) == grid-abspos-items-014.html grid-abspos-items-014-ref.html
+fails-if(stylo) == grid-abspos-items-015.html grid-abspos-items-015-ref.html
+fails-if(stylo) == grid-order-abspos-items-001.html grid-order-abspos-items-001-ref.html
+fails-if(stylo) == grid-order-placement-auto-001.html grid-order-placement-auto-001-ref.html
+fuzzy-if(skiaContent,1,200) fails-if(stylo) == grid-order-placement-definite-001.html grid-order-placement-definite-001-ref.html
+skip-if(Android) fails-if(stylo) == grid-placement-definite-implicit-001.html grid-placement-definite-implicit-001-ref.html
+fails-if(stylo) == grid-placement-definite-implicit-002.html grid-placement-definite-implicit-002-ref.html
+skip-if(Android) fuzzy-if(winWidget,1,32) fails-if(stylo) == grid-placement-auto-implicit-001.html grid-placement-auto-implicit-001-ref.html
 == grid-placement-abspos-implicit-001.html grid-placement-abspos-implicit-001-ref.html
-== rtl-grid-placement-definite-001.html rtl-grid-placement-definite-001-ref.html
-== rtl-grid-placement-auto-row-sparse-001.html rtl-grid-placement-auto-row-sparse-001-ref.html
-== vlr-grid-placement-auto-row-sparse-001.html vlr-grid-placement-auto-row-sparse-001-ref.html
-== vrl-grid-placement-auto-row-sparse-001.html vrl-grid-placement-auto-row-sparse-001-ref.html
-== grid-relpos-items-001.html grid-relpos-items-001-ref.html
-== 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
-== 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
+fails-if(stylo) == rtl-grid-placement-definite-001.html rtl-grid-placement-definite-001-ref.html
+fails-if(stylo) == rtl-grid-placement-auto-row-sparse-001.html rtl-grid-placement-auto-row-sparse-001-ref.html
+fails-if(stylo) == vlr-grid-placement-auto-row-sparse-001.html vlr-grid-placement-auto-row-sparse-001-ref.html
+fails-if(stylo) == vrl-grid-placement-auto-row-sparse-001.html vrl-grid-placement-auto-row-sparse-001-ref.html
+fails-if(stylo) == grid-relpos-items-001.html grid-relpos-items-001-ref.html
+fails-if(stylo) == grid-item-sizing-percent-001.html grid-item-sizing-percent-001-ref.html
+fails-if(stylo) == grid-item-sizing-percent-002.html grid-item-sizing-percent-002-ref.html
+fails-if(stylo) == grid-item-sizing-percent-003.html grid-item-sizing-percent-003-ref.html
+fails-if(stylo) == grid-item-sizing-percent-004.html grid-item-sizing-percent-004-ref.html
+fails-if(stylo) == grid-item-sizing-px-001.html grid-item-sizing-percent-001-ref.html
+fails-if(stylo) == grid-item-dir-001.html grid-item-dir-001-ref.html
+fuzzy-if(winWidget,70,130) fuzzy-if(cocoaWidget,85,180) fails-if(stylo) == 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) fails-if(stylo) == grid-col-max-sizing-max-content-002.html grid-col-max-sizing-max-content-002-ref.html
+fails-if(stylo) == grid-min-max-content-sizing-001.html grid-min-max-content-sizing-001-ref.html
+fails-if(stylo) == grid-min-max-content-sizing-002.html grid-min-max-content-sizing-002-ref.html
+fuzzy-if(winWidget,1,36) fails-if(stylo) == grid-auto-min-sizing-definite-001.html grid-auto-min-sizing-definite-001-ref.html
+fails-if(stylo) == grid-auto-min-sizing-intrinsic-001.html grid-auto-min-sizing-intrinsic-001-ref.html
+fails-if(stylo) == grid-auto-min-sizing-intrinsic-002.html grid-auto-min-sizing-intrinsic-002-ref.html
+fails-if(stylo) == grid-auto-min-sizing-intrinsic-003.html grid-auto-min-sizing-intrinsic-003-ref.html
+fails-if(stylo) == 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
-== grid-auto-min-sizing-transferred-size-003.html grid-auto-min-sizing-transferred-size-003-ref.html
-== grid-auto-min-sizing-transferred-size-004.html grid-auto-min-sizing-transferred-size-004-ref.html
+fails-if(stylo) == grid-auto-min-sizing-transferred-size-002.html grid-auto-min-sizing-transferred-size-002-ref.html
+fails-if(stylo) == grid-auto-min-sizing-transferred-size-003.html grid-auto-min-sizing-transferred-size-003-ref.html
+fails-if(stylo) == grid-auto-min-sizing-transferred-size-004.html grid-auto-min-sizing-transferred-size-004-ref.html
 == grid-auto-min-sizing-min-content-min-size-001.html grid-auto-min-sizing-min-content-min-size-001-ref.html
-== grid-auto-min-sizing-min-content-min-size-002.html grid-auto-min-sizing-min-content-min-size-002-ref.html
-== grid-auto-min-sizing-min-content-min-size-003.html grid-auto-min-sizing-min-content-min-size-003-ref.html
-== grid-auto-min-sizing-min-content-min-size-004.html grid-auto-min-sizing-min-content-min-size-004-ref.html
+fails-if(stylo) == grid-auto-min-sizing-min-content-min-size-002.html grid-auto-min-sizing-min-content-min-size-002-ref.html
+fails-if(stylo) == grid-auto-min-sizing-min-content-min-size-003.html grid-auto-min-sizing-min-content-min-size-003-ref.html
+fails-if(stylo) == grid-auto-min-sizing-min-content-min-size-004.html grid-auto-min-sizing-min-content-min-size-004-ref.html
 == grid-min-content-min-sizing-transferred-size-001.html grid-min-content-min-sizing-transferred-size-001-ref.html
-== grid-min-content-min-sizing-transferred-size-002.html grid-min-content-min-sizing-transferred-size-002-ref.html
+fails-if(stylo) == grid-min-content-min-sizing-transferred-size-002.html grid-min-content-min-sizing-transferred-size-002-ref.html
 == grid-min-content-min-sizing-transferred-size-003.html grid-min-content-min-sizing-transferred-size-003-ref.html
-== grid-min-content-min-sizing-transferred-size-004.html grid-min-content-min-sizing-transferred-size-004-ref.html
+fails-if(stylo) == grid-min-content-min-sizing-transferred-size-004.html grid-min-content-min-sizing-transferred-size-004-ref.html
 skip-if(Android) == grid-auto-min-sizing-percent-001.html grid-auto-min-sizing-percent-001-ref.html # bug 1305716
-== grid-track-intrinsic-sizing-001.html grid-track-intrinsic-sizing-001-ref.html
-== grid-track-intrinsic-sizing-002.html grid-track-intrinsic-sizing-002-ref.html
-== grid-track-intrinsic-sizing-003.html grid-track-intrinsic-sizing-003-ref.html
-== grid-track-intrinsic-sizing-004.html grid-track-intrinsic-sizing-004-ref.html
-== grid-track-percent-sizing-001.html grid-track-percent-sizing-001-ref.html
-== grid-track-fit-content-sizing-001.html grid-track-fit-content-sizing-001-ref.html
-== grid-track-fit-content-sizing-002.html grid-track-fit-content-sizing-002-ref.html
-== grid-max-sizing-flex-001.html grid-max-sizing-flex-001-ref.html
-== grid-max-sizing-flex-002.html grid-max-sizing-flex-002-ref.html
+fails-if(stylo) == grid-track-intrinsic-sizing-001.html grid-track-intrinsic-sizing-001-ref.html
+fails-if(stylo) == grid-track-intrinsic-sizing-002.html grid-track-intrinsic-sizing-002-ref.html
+fails-if(stylo) == grid-track-intrinsic-sizing-003.html grid-track-intrinsic-sizing-003-ref.html
+fails-if(stylo) == grid-track-intrinsic-sizing-004.html grid-track-intrinsic-sizing-004-ref.html
+fails-if(stylo) == grid-track-percent-sizing-001.html grid-track-percent-sizing-001-ref.html
+fails-if(stylo) == grid-track-fit-content-sizing-001.html grid-track-fit-content-sizing-001-ref.html
+fails-if(stylo) == grid-track-fit-content-sizing-002.html grid-track-fit-content-sizing-002-ref.html
+fails-if(stylo) == grid-max-sizing-flex-001.html grid-max-sizing-flex-001-ref.html
+fails-if(stylo) == grid-max-sizing-flex-002.html grid-max-sizing-flex-002-ref.html
 == grid-max-sizing-flex-003.html grid-max-sizing-flex-003-ref.html
 == grid-max-sizing-flex-004.html grid-max-sizing-flex-004-ref.html
-== grid-max-sizing-flex-005.html grid-max-sizing-flex-005-ref.html
-== grid-max-sizing-flex-006.html grid-max-sizing-flex-006-ref.html
-== grid-max-sizing-flex-007.html grid-max-sizing-flex-007-ref.html
-== grid-max-sizing-flex-008.html grid-max-sizing-flex-008-ref.html
-== grid-flex-min-sizing-001.html grid-flex-min-sizing-001-ref.html
-== grid-flex-min-sizing-002.html grid-flex-min-sizing-002-ref.html
-== grid-item-align-001.html grid-item-align-001-ref.html
-== grid-item-align-002.html grid-item-align-002-ref.html
-== grid-item-align-003.html grid-item-align-003-ref.html
-== grid-item-justify-001.html grid-item-justify-001-ref.html
-== grid-item-justify-002.html grid-item-justify-002-ref.html
-== grid-item-stretch-001.html grid-item-stretch-001-ref.html
-== grid-item-intrinsic-ratio-stretch-001.html grid-item-intrinsic-ratio-stretch-001-ref.html
-== grid-item-intrinsic-ratio-stretch-002.html grid-item-intrinsic-ratio-stretch-002-ref.html
-== grid-item-intrinsic-ratio-stretch-003.html grid-item-intrinsic-ratio-stretch-003-ref.html
-== grid-item-intrinsic-ratio-stretch-004.html grid-item-intrinsic-ratio-stretch-004-ref.html
-== grid-item-intrinsic-ratio-stretch-005.html grid-item-intrinsic-ratio-stretch-005-ref.html
-== grid-item-intrinsic-ratio-stretch-006.html grid-item-intrinsic-ratio-stretch-006-ref.html
-== grid-item-intrinsic-ratio-stretch-007.html grid-item-intrinsic-ratio-stretch-007-ref.html
-== grid-item-intrinsic-ratio-normal-001.html grid-item-intrinsic-ratio-normal-001-ref.html
-== grid-item-intrinsic-ratio-normal-002.html grid-item-intrinsic-ratio-normal-002-ref.html
-== grid-item-intrinsic-ratio-normal-003.html grid-item-intrinsic-ratio-normal-003-ref.html
-== grid-item-intrinsic-ratio-normal-004.html grid-item-intrinsic-ratio-normal-004-ref.html
-== grid-item-intrinsic-ratio-normal-005.html grid-item-intrinsic-ratio-normal-005-ref.html
-== grid-item-intrinsic-size-normal-001.html grid-item-intrinsic-size-normal-001-ref.html
-== grid-item-intrinsic-size-normal-002.html grid-item-intrinsic-size-normal-002-ref.html
-== grid-item-auto-min-size-clamp-001.html grid-item-auto-min-size-clamp-001-ref.html
-== grid-item-auto-min-size-clamp-002.html grid-item-auto-min-size-clamp-002-ref.html
-== grid-item-auto-min-size-clamp-003.html grid-item-auto-min-size-clamp-003-ref.html
-== grid-item-auto-min-size-clamp-004.html grid-item-auto-min-size-clamp-004-ref.html
-== grid-item-auto-min-size-clamp-005.html grid-item-auto-min-size-clamp-005-ref.html
-== grid-item-auto-min-size-clamp-006.html grid-item-auto-min-size-clamp-006-ref.html
-== grid-item-auto-min-size-clamp-007.html grid-item-auto-min-size-clamp-007-ref.html
-== grid-item-overflow-stretch-001.html grid-item-overflow-stretch-001-ref.html
-== grid-item-overflow-stretch-002.html grid-item-overflow-stretch-002-ref.html
-== grid-item-overflow-stretch-003.html grid-item-overflow-stretch-003-ref.html
-== grid-item-overflow-stretch-004.html grid-item-overflow-stretch-004-ref.html
-== grid-item-overflow-stretch-005.html grid-item-overflow-stretch-005-ref.html
-== grid-item-overflow-stretch-006.html grid-item-overflow-stretch-006-ref.html
-== grid-item-canvas-001.html grid-item-canvas-001-ref.html
-skip-if(Android) == grid-item-button-001.html grid-item-button-001-ref.html
-== grid-item-table-stretch-001.html grid-item-table-stretch-001-ref.html
-== grid-item-table-stretch-002.html grid-item-table-stretch-002-ref.html
-== grid-item-table-stretch-003.html grid-item-table-stretch-003-ref.html
-== grid-item-table-stretch-004.html grid-item-table-stretch-004-ref.html
-== grid-item-fieldset-stretch-001.html grid-item-fieldset-stretch-001-ref.html
-skip-if(Android) == grid-item-video-stretch-001.html grid-item-video-stretch-001-ref.html # Huh, Android doesn't have webm support?
-skip-if(Android) == grid-item-video-stretch-002.html grid-item-video-stretch-002-ref.html # Huh, Android doesn't have webm support?
-== grid-item-input-stretch-001.html grid-item-input-stretch-001-ref.html
-== grid-item-self-baseline-001.html grid-item-self-baseline-001-ref.html
-random-if(http.oscpu!="Linux\u0020i686") == grid-item-content-baseline-001.html grid-item-content-baseline-001-ref.html # depends on exact Ahem baseline font metrics which seems to differ between platforms: bug 1310792
-random-if(http.oscpu!="Linux\u0020i686") == grid-item-content-baseline-002.html grid-item-content-baseline-002-ref.html # ditto
-random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-001.html grid-item-mixed-baseline-001-ref.html # ditto
-random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-002.html grid-item-mixed-baseline-002-ref.html # ditto
-random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-003.html grid-item-mixed-baseline-003-ref.html # ditto
-skip-if(!gtkWidget) == grid-item-mixed-baseline-004.html grid-item-mixed-baseline-004-ref.html # ditto
-== grid-align-content-001.html grid-align-content-001-ref.html
-== grid-justify-content-001.html grid-justify-content-001-ref.html
+fails-if(stylo) == grid-max-sizing-flex-005.html grid-max-sizing-flex-005-ref.html
+fails-if(stylo) == grid-max-sizing-flex-006.html grid-max-sizing-flex-006-ref.html
+fails-if(stylo) == grid-max-sizing-flex-007.html grid-max-sizing-flex-007-ref.html
+fails-if(stylo) == grid-max-sizing-flex-008.html grid-max-sizing-flex-008-ref.html
+fails-if(stylo) == grid-flex-min-sizing-001.html grid-flex-min-sizing-001-ref.html
+fails-if(stylo) == grid-flex-min-sizing-002.html grid-flex-min-sizing-002-ref.html
+fails-if(stylo) == grid-item-align-001.html grid-item-align-001-ref.html
+fails-if(stylo) == grid-item-align-002.html grid-item-align-002-ref.html
+fails-if(stylo) == grid-item-align-003.html grid-item-align-003-ref.html
+fails-if(stylo) == grid-item-justify-001.html grid-item-justify-001-ref.html
+fails-if(stylo) == grid-item-justify-002.html grid-item-justify-002-ref.html
+fails-if(stylo) == grid-item-stretch-001.html grid-item-stretch-001-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-001.html grid-item-intrinsic-ratio-stretch-001-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-002.html grid-item-intrinsic-ratio-stretch-002-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-003.html grid-item-intrinsic-ratio-stretch-003-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-004.html grid-item-intrinsic-ratio-stretch-004-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-005.html grid-item-intrinsic-ratio-stretch-005-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-006.html grid-item-intrinsic-ratio-stretch-006-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-stretch-007.html grid-item-intrinsic-ratio-stretch-007-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-normal-001.html grid-item-intrinsic-ratio-normal-001-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-normal-002.html grid-item-intrinsic-ratio-normal-002-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-normal-003.html grid-item-intrinsic-ratio-normal-003-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-normal-004.html grid-item-intrinsic-ratio-normal-004-ref.html
+fails-if(stylo) == grid-item-intrinsic-ratio-normal-005.html grid-item-intrinsic-ratio-normal-005-ref.html
+fails-if(stylo) == grid-item-intrinsic-size-normal-001.html grid-item-intrinsic-size-normal-001-ref.html
+fails-if(stylo) == grid-item-intrinsic-size-normal-002.html grid-item-intrinsic-size-normal-002-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-001.html grid-item-auto-min-size-clamp-001-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-002.html grid-item-auto-min-size-clamp-002-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-003.html grid-item-auto-min-size-clamp-003-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-004.html grid-item-auto-min-size-clamp-004-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-005.html grid-item-auto-min-size-clamp-005-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-006.html grid-item-auto-min-size-clamp-006-ref.html
+fails-if(stylo) == grid-item-auto-min-size-clamp-007.html grid-item-auto-min-size-clamp-007-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-001.html grid-item-overflow-stretch-001-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-002.html grid-item-overflow-stretch-002-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-003.html grid-item-overflow-stretch-003-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-004.html grid-item-overflow-stretch-004-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-005.html grid-item-overflow-stretch-005-ref.html
+fails-if(stylo) == grid-item-overflow-stretch-006.html grid-item-overflow-stretch-006-ref.html
+fails-if(stylo) == grid-item-canvas-001.html grid-item-canvas-001-ref.html
+skip-if(Android) fails-if(stylo) == grid-item-button-001.html grid-item-button-001-ref.html
+fails-if(stylo) == grid-item-table-stretch-001.html grid-item-table-stretch-001-ref.html
+fails-if(stylo) == grid-item-table-stretch-002.html grid-item-table-stretch-002-ref.html
+fails-if(stylo) == grid-item-table-stretch-003.html grid-item-table-stretch-003-ref.html
+fails-if(stylo) == grid-item-table-stretch-004.html grid-item-table-stretch-004-ref.html
+fails-if(stylo) == grid-item-fieldset-stretch-001.html grid-item-fieldset-stretch-001-ref.html
+skip-if(Android) fails-if(stylo) == grid-item-video-stretch-001.html grid-item-video-stretch-001-ref.html # Huh, Android doesn't have webm support?
+skip-if(Android) fails-if(stylo) == grid-item-video-stretch-002.html grid-item-video-stretch-002-ref.html # Huh, Android doesn't have webm support?
+fails-if(stylo) == grid-item-input-stretch-001.html grid-item-input-stretch-001-ref.html
+fails-if(stylo) == grid-item-self-baseline-001.html grid-item-self-baseline-001-ref.html
+random-if(http.oscpu!="Linux\u0020i686") fails-if(stylo) == grid-item-content-baseline-001.html grid-item-content-baseline-001-ref.html # depends on exact Ahem baseline font metrics which seems to differ between platforms: bug 1310792
+random-if(http.oscpu!="Linux\u0020i686") fails-if(stylo) == grid-item-content-baseline-002.html grid-item-content-baseline-002-ref.html # ditto
+random-if(http.oscpu!="Linux\u0020i686") fails-if(stylo) == grid-item-mixed-baseline-001.html grid-item-mixed-baseline-001-ref.html # ditto
+random-if(http.oscpu!="Linux\u0020i686") fails-if(stylo) == grid-item-mixed-baseline-002.html grid-item-mixed-baseline-002-ref.html # ditto
+random-if(http.oscpu!="Linux\u0020i686") fails-if(stylo) == grid-item-mixed-baseline-003.html grid-item-mixed-baseline-003-ref.html # ditto
+skip-if(!gtkWidget) fails-if(stylo) == grid-item-mixed-baseline-004.html grid-item-mixed-baseline-004-ref.html # ditto
+fails-if(stylo) == grid-align-content-001.html grid-align-content-001-ref.html
+fails-if(stylo) == grid-justify-content-001.html grid-justify-content-001-ref.html
 skip-if(Android&&isDebugBuild) == grid-justify-content-002.html grid-justify-content-002-ref.html # Bug 1245884 - slow
-skip-if(Android&&isDebugBuild) == grid-justify-content-003.html grid-justify-content-003-ref.html # Bug 1245884 - slow
-skip-if(!gtkWidget) == grid-container-baselines-001.html grid-container-baselines-001-ref.html
-skip-if(!gtkWidget) == grid-container-baselines-002.html grid-container-baselines-002-ref.html
-skip-if(!gtkWidget) == grid-container-baselines-003.html grid-container-baselines-003-ref.html
+skip-if(Android&&isDebugBuild) fails-if(stylo) == grid-justify-content-003.html grid-justify-content-003-ref.html # Bug 1245884 - slow
+skip-if(!gtkWidget) fails-if(stylo) == grid-container-baselines-001.html grid-container-baselines-001-ref.html
+skip-if(!gtkWidget) fails-if(stylo) == grid-container-baselines-002.html grid-container-baselines-002-ref.html
+skip-if(!gtkWidget) fails-if(stylo) == grid-container-baselines-003.html grid-container-baselines-003-ref.html
 == grid-container-baselines-004.html grid-container-baselines-004-ref.html
 == grid-container-synthesized-baseline-001-ref.html grid-container-synthesized-baseline-001-ref.html
-skip-if(Android&&isDebugBuild) == grid-column-gap-001.html grid-column-gap-001-ref.html # Bug 1245884 - slow
-== grid-column-gap-002.html grid-column-gap-002-ref.html
-== grid-column-gap-003.html grid-column-gap-003-ref.html
-== grid-column-gap-004.html grid-column-gap-004-ref.html
-== grid-row-gap-001.html grid-row-gap-001-ref.html
-== grid-percent-grid-gap-001.html grid-percent-grid-gap-001-ref.html
-skip-if(Android&&isDebugBuild) == grid-row-gap-002.html grid-row-gap-002-ref.html # Bug 1245884 - slow
-skip-if(Android&&isDebugBuild) == grid-row-gap-003.html grid-row-gap-003-ref.html # Bug 1245884 - slow
-skip-if(Android&&isDebugBuild) == grid-row-gap-004.html grid-row-gap-004-ref.html # Bug 1245884 - slow
-== grid-row-gap-005.html grid-row-gap-005-ref.html
-== grid-container-overflow-001.html grid-container-overflow-001-ref.html
-== grid-item-margin-left-auto-001.html grid-item-margin-left-auto-001-ref.html
-== grid-item-margin-left-auto-002.html grid-item-margin-left-auto-002-ref.html
-== grid-item-margin-left-auto-003.html grid-item-margin-left-auto-003-ref.html
-== grid-item-margin-left-auto-004.html grid-item-margin-left-auto-004-ref.html
-== grid-item-margin-left-right-auto-001.html grid-item-margin-left-right-auto-001-ref.html
-== grid-item-margin-left-right-auto-002.html grid-item-margin-left-right-auto-002-ref.html
-== grid-item-margin-left-right-auto-003.html grid-item-margin-left-right-auto-003-ref.html
-== grid-item-margin-left-right-auto-004.html grid-item-margin-left-right-auto-004-ref.html
-== grid-item-margin-right-auto-001.html grid-item-margin-right-auto-001-ref.html
-== grid-item-margin-right-auto-002.html grid-item-margin-right-auto-002-ref.html
-== grid-item-margin-right-auto-003.html grid-item-margin-right-auto-003-ref.html
-== grid-item-margin-right-auto-004.html grid-item-margin-right-auto-004-ref.html
-== grid-container-min-max-width-height-001.html grid-container-min-max-width-height-001-ref.html
+skip-if(Android&&isDebugBuild) fails-if(stylo) == grid-column-gap-001.html grid-column-gap-001-ref.html # Bug 1245884 - slow
+fails-if(stylo) == grid-column-gap-002.html grid-column-gap-002-ref.html
+fails-if(stylo) == grid-column-gap-003.html grid-column-gap-003-ref.html
+fails-if(stylo) == grid-column-gap-004.html grid-column-gap-004-ref.html
+fails-if(stylo) == grid-row-gap-001.html grid-row-gap-001-ref.html
+fails-if(stylo) == grid-percent-grid-gap-001.html grid-percent-grid-gap-001-ref.html
+skip-if(Android&&isDebugBuild) fails-if(stylo) == grid-row-gap-002.html grid-row-gap-002-ref.html # Bug 1245884 - slow
+skip-if(Android&&isDebugBuild) fails-if(stylo) == grid-row-gap-003.html grid-row-gap-003-ref.html # Bug 1245884 - slow
+skip-if(Android&&isDebugBuild) fails-if(stylo) == grid-row-gap-004.html grid-row-gap-004-ref.html # Bug 1245884 - slow
+fails-if(stylo) == grid-row-gap-005.html grid-row-gap-005-ref.html
+fails-if(stylo) == grid-container-overflow-001.html grid-container-overflow-001-ref.html
+fails-if(stylo) == grid-item-margin-left-auto-001.html grid-item-margin-left-auto-001-ref.html
+fails-if(stylo) == grid-item-margin-left-auto-002.html grid-item-margin-left-auto-002-ref.html
+fails-if(stylo) == grid-item-margin-left-auto-003.html grid-item-margin-left-auto-003-ref.html
+fails-if(stylo) == grid-item-margin-left-auto-004.html grid-item-margin-left-auto-004-ref.html
+fails-if(stylo) == grid-item-margin-left-right-auto-001.html grid-item-margin-left-right-auto-001-ref.html
+fails-if(stylo) == grid-item-margin-left-right-auto-002.html grid-item-margin-left-right-auto-002-ref.html
+fails-if(stylo) == grid-item-margin-left-right-auto-003.html grid-item-margin-left-right-auto-003-ref.html
+fails-if(stylo) == grid-item-margin-left-right-auto-004.html grid-item-margin-left-right-auto-004-ref.html
+fails-if(stylo) == grid-item-margin-right-auto-001.html grid-item-margin-right-auto-001-ref.html
+fails-if(stylo) == grid-item-margin-right-auto-002.html grid-item-margin-right-auto-002-ref.html
+fails-if(stylo) == grid-item-margin-right-auto-003.html grid-item-margin-right-auto-003-ref.html
+fails-if(stylo) == grid-item-margin-right-auto-004.html grid-item-margin-right-auto-004-ref.html
+fails-if(stylo) == grid-container-min-max-width-height-001.html grid-container-min-max-width-height-001-ref.html
 == grid-clamping-001.html grid-clamping-001-ref.html
-== grid-clamping-002.html grid-clamping-002-ref.html
-== grid-repeat-auto-fill-fit-001.html grid-repeat-auto-fill-fit-001-ref.html
-== grid-repeat-auto-fill-fit-002.html grid-repeat-auto-fill-fit-002-ref.html
-== grid-repeat-auto-fill-fit-003.html grid-repeat-auto-fill-fit-003-ref.html
-== grid-repeat-auto-fill-fit-004.html grid-repeat-auto-fill-fit-004-ref.html
-== 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
+fails-if(stylo) == grid-clamping-002.html grid-clamping-002-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-001.html grid-repeat-auto-fill-fit-001-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-002.html grid-repeat-auto-fill-fit-002-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-003.html grid-repeat-auto-fill-fit-003-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-004.html grid-repeat-auto-fill-fit-004-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-005.html grid-repeat-auto-fill-fit-005-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-006.html grid-repeat-auto-fill-fit-006-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-007.html grid-repeat-auto-fill-fit-007-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-008.html grid-repeat-auto-fill-fit-008-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-009.html grid-repeat-auto-fill-fit-009-ref.html
+fails-if(stylo) == grid-repeat-auto-fill-fit-010.html grid-repeat-auto-fill-fit-010-ref.html
+fails-if(stylo) == 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
-== 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
-== 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
-== grid-fragmentation-025.html grid-fragmentation-025-ref.html
-== 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
-== 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(stylo) == grid-fragmentation-001.html grid-fragmentation-001-ref.html
+fails-if(stylo) == grid-fragmentation-002.html grid-fragmentation-002-ref.html
+fails-if(stylo) == grid-fragmentation-003.html grid-fragmentation-003-ref.html
+fails-if(stylo) == grid-fragmentation-004.html grid-fragmentation-004-ref.html
+fails-if(stylo) == grid-fragmentation-005.html grid-fragmentation-005-ref.html
+fails-if(stylo) == grid-fragmentation-006.html grid-fragmentation-006-ref.html
+fails-if(stylo) == grid-fragmentation-007.html grid-fragmentation-007-ref.html
+fails-if(stylo) == grid-fragmentation-008.html grid-fragmentation-008-ref.html
+fails-if(stylo) == grid-fragmentation-009.html grid-fragmentation-009-ref.html
+fails-if(stylo) == grid-fragmentation-010.html grid-fragmentation-010-ref.html
+fails-if(stylo) == grid-fragmentation-011.html grid-fragmentation-011-ref.html
+fails-if(stylo) == grid-fragmentation-012.html grid-fragmentation-012-ref.html
+fails-if(stylo) == grid-fragmentation-013.html grid-fragmentation-013-ref.html
+fails-if(stylo) == grid-fragmentation-014.html grid-fragmentation-014-ref.html
+asserts(0-10) fails-if(stylo) == grid-fragmentation-015.html grid-fragmentation-015-ref.html # bug 1144852 (due to vertical writing-mode)
+fails-if(stylo) == grid-fragmentation-016.html grid-fragmentation-016-ref.html
+fails-if(stylo) == grid-fragmentation-017.html grid-fragmentation-017-ref.html
+fails-if(stylo) == grid-fragmentation-018.html grid-fragmentation-018-ref.html
+fails-if(stylo) == grid-fragmentation-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-020.html grid-fragmentation-020-ref.html
+fails-if(stylo) == grid-fragmentation-021.html grid-fragmentation-021-ref.html
+fails-if(stylo) == grid-fragmentation-022.html grid-fragmentation-007-ref.html
+fails-if(stylo) == grid-fragmentation-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-024.html grid-fragmentation-024-ref.html
+fails-if(stylo) == grid-fragmentation-025.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-029.html grid-fragmentation-029-ref.html
+fails-if(stylo) == grid-fragmentation-030.html grid-fragmentation-030-ref.html
+fails-if(stylo) == 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
-== 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
-!= 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
-== 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
-== 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
-== grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
-== 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
-== bug1306106.html bug1306106-ref.html
-== grid-percent-intrinsic-sizing-001.html grid-percent-intrinsic-sizing-001-ref.html
-== grid-measuring-reflow-resize-static-001.html grid-measuring-reflow-resize-001-ref.html
-== grid-measuring-reflow-resize-dynamic-001.html grid-measuring-reflow-resize-001-ref.html
-== bug1349571.html bug1349571-ref.html
-== bug1356820.html bug1356820-ref.html
-== bug1350925.html bug1350925-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-001.html grid-fragmentation-001-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-001.html grid-fragmentation-001-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-002.html grid-fragmentation-002-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-002.html grid-fragmentation-002-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-003.html grid-fragmentation-003-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-004.html grid-fragmentation-004-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-005.html grid-fragmentation-005-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-005.html grid-fragmentation-005-ref.html
+skip-if(stylo) == grid-fragmentation-dyn1-006.html grid-fragmentation-006-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-007.html grid-fragmentation-007-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-007.html grid-fragmentation-007-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-008.html grid-fragmentation-008-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-009.html grid-fragmentation-009-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-015.html grid-fragmentation-015-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-015.html grid-fragmentation-015-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-016.html grid-fragmentation-016-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-016.html grid-fragmentation-016-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-017.html grid-fragmentation-017-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-018.html grid-fragmentation-018-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-019.html grid-fragmentation-019-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-020.html grid-fragmentation-020-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-020.html grid-fragmentation-020-ref.html
+fails-if(stylo) != grid-fragmentation-dyn1-021.html grid-fragmentation-021-ref.html # bug 1251799
+fails-if(stylo) == grid-fragmentation-dyn2-021.html grid-fragmentation-021-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-021.html grid-fragmentation-021-ref.html
+asserts(1-10) fails-if(stylo) == grid-fragmentation-dyn4-021.html grid-fragmentation-021-ref.html # assertion related to bug 1251799 ?
+fails-if(stylo) == grid-fragmentation-dyn5-021.html grid-fragmentation-021-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-022.html grid-fragmentation-007-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-023.html grid-fragmentation-023-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-024.html grid-fragmentation-024-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-025.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-026.html grid-fragmentation-026-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-027.html grid-fragmentation-025-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-dyn3-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-dyn4-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-dyn5-028.html grid-fragmentation-028-ref.html
+fails-if(stylo) == grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-029.html grid-fragmentation-029-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-030.html grid-fragmentation-030-ref.html
+fails-if(stylo) == grid-fragmentation-dyn2-031.html grid-fragmentation-031-ref.html
+fails-if(stylo) == bug1306106.html bug1306106-ref.html
+fails-if(stylo) == grid-percent-intrinsic-sizing-001.html grid-percent-intrinsic-sizing-001-ref.html
--- a/layout/reftests/css-import/reftest.list
+++ b/layout/reftests/css-import/reftest.list
@@ -1,10 +1,10 @@
 == 290018-1.html 290018-ref.html
 == 436261-1.html 436261-ref.html
 == 436261-2.html 436261-ref.html
-== 436261-3.html 436261-ref.html
+fails-if(stylo) == 436261-3.html 436261-ref.html
 == 444723-1.html 444723-ref.html
 == 444723-2.html 444723-ref.html
-== 445415-1a.xhtml 445415-1-ref.xhtml
+fails-if(stylo) == 445415-1a.xhtml 445415-1-ref.xhtml
 == 445415-1b.xhtml 445415-1-ref.xhtml
 == 445415-2a.xhtml 445415-2-ref.xhtml
-== 445415-2b.xhtml 445415-2-ref.xhtml
+fails-if(stylo) == 445415-2b.xhtml 445415-2-ref.xhtml
--- a/layout/reftests/css-invalid/default-style/reftest.list
+++ b/layout/reftests/css-invalid/default-style/reftest.list
@@ -1,5 +1,5 @@
-== input.html input-ref.html
-== button.html button-ref.html
-== textarea.html textarea-ref.html
-== select.html select-ref.html
+fails-if(stylo) == input.html input-ref.html
+fails-if(stylo) == button.html button-ref.html
+fails-if(stylo) == textarea.html textarea-ref.html
+fails-if(stylo) == select.html select-ref.html
 == fieldset.html fieldset-ref.html
--- a/layout/reftests/css-invalid/fieldset/reftest.list
+++ b/layout/reftests/css-invalid/fieldset/reftest.list
@@ -20,10 +20,10 @@
 == fieldset-static-valid.html about:blank
 == fieldset-valid-and-barred-remove-barred.html about:blank
 == fieldset-valid-and-barred.html about:blank
 == fieldset-with-invalid-element-add-barred-dynamic.html about:blank
 == fieldset-with-valid-and-invalid.html about:blank
 == fieldset-with-valid-element-add-barred-dynamic.html about:blank
 == fieldset-nested-invalid.html about:blank
 == fieldset-div-invalid.html about:blank
-== fieldset-nested-valid-invalid.html fieldset-nested-valid-invalid-ref.html
-fuzzy-if(skiaContent,1,5) == fieldset-nested-barred.html fieldset-nested-barred-ref.html
+fails-if(stylo) == fieldset-nested-valid-invalid.html fieldset-nested-valid-invalid-ref.html
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == fieldset-nested-barred.html fieldset-nested-barred-ref.html
--- a/layout/reftests/css-invalid/form/reftest.list
+++ b/layout/reftests/css-invalid/form/reftest.list
@@ -1,24 +1,24 @@
-== form-static-valid.html form-valid-ref.html
-== form-dynamic-valid.html form-valid-ref.html
+fails-if(stylo) == form-static-valid.html form-valid-ref.html
+fails-if(stylo) == form-dynamic-valid.html form-valid-ref.html
 == form-remove-invalid-element.html form-valid-ref-2.html
 == form-static-invalid.html form-invalid-ref.html
 == form-dynamic-invalid.html form-invalid-ref.html
 == form-add-control.html form-invalid-ref.html
 == form-dynamic-invalid-not-barred.html form-invalid-ref.html
 == form-remove-invalid-element.html form-invalid-ref.html
-== form-dynamic-invalid-barred.html form-invalid-barred-ref.html
-== form-static-invalid-barred.html form-invalid-barred-ref.html
+fails-if(stylo) == form-dynamic-invalid-barred.html form-invalid-barred-ref.html
+fails-if(stylo) == form-static-invalid-barred.html form-invalid-barred-ref.html
 == form-add-invalid-element.html form-invalid-ref.html
 == form-add-valid-with-invalid-element.html form-invalid-ref.html
-== form-invalid-barred.html form-invalid-barred-ref.html
-== form-add-valid-element.html form-valid-ref-4.html
-== form-add-valid-with-no-element.html form-valid-ref.html
+fails-if(stylo) == form-invalid-barred.html form-invalid-barred-ref.html
+fails-if(stylo) == form-add-valid-element.html form-valid-ref-4.html
+fails-if(stylo) == form-add-valid-with-no-element.html form-valid-ref.html
 == form-add-invalid-with-valid-element.html form-invalid-ref.html
 == form-with-valid-and-invalid.html form-invalid-ref.html
 == form-add-invalid-element-dynamic.html form-invalid-ref.html
 == form-invalid-and-barred.html form-invalid-ref.html
 == form-invalid-and-barred-remove-barred.html form-invalid-ref.html
-== form-valid-and-barred.html form-valid-and-barred-ref.html
-== form-valid-and-barred-remove-barred.html form-valid-ref.html
+fails-if(stylo) == form-valid-and-barred.html form-valid-and-barred-ref.html
+fails-if(stylo) == form-valid-and-barred-remove-barred.html form-valid-ref.html
 == form-with-invalid-element-add-barred-dynamic.html form-invalid-ref.html
-== form-with-valid-element-add-barred-dynamic.html form-valid-and-barred-ref.html
+fails-if(stylo) == form-with-valid-element-add-barred-dynamic.html form-valid-and-barred-ref.html
--- a/layout/reftests/css-invalid/select/reftest.list
+++ b/layout/reftests/css-invalid/select/reftest.list
@@ -1,12 +1,12 @@
-needs-focus == select-valid.html select-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-invalid.html select-ref.html
-fuzzy-if(skiaContent,2,6) needs-focus == select-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,2,6) needs-focus == select-dyn-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-dyn-not-disabled.html select-ref.html
-needs-focus == select-required-invalid.html select-required-ref.html
-needs-focus == select-required-valid.html select-required-ref.html
-needs-focus == select-required-multiple-still-valid.html select-required-multiple-ref.html
-fuzzy-if(skiaContent,1,250) needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,3) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html
+needs-focus fails-if(stylo) == select-valid.html select-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-invalid.html select-ref.html
+fuzzy-if(skiaContent,2,6) needs-focus fails-if(stylo) == select-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,2,6) needs-focus fails-if(stylo) == select-dyn-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-dyn-not-disabled.html select-ref.html
+needs-focus fails-if(stylo) == select-required-invalid.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-valid.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-still-valid.html select-required-multiple-ref.html
+fuzzy-if(skiaContent,1,250) needs-focus fails-if(stylo) == select-required-multiple-valid.html select-required-multiple-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus fails-if(stylo) == select-disabled-fieldset-1.html select-fieldset-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,3) needs-focus fails-if(stylo) == select-disabled-fieldset-2.html select-fieldset-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-fieldset-legend.html select-fieldset-legend-ref.html
--- a/layout/reftests/css-invalid/textarea/reftest.list
+++ b/layout/reftests/css-invalid/textarea/reftest.list
@@ -1,13 +1,13 @@
-== textarea-valid.html textarea-ref.html
-== textarea-customerror.html textarea-ref.html
-== textarea-disabled.html textarea-ref.html
-== textarea-dyn-disabled.html textarea-ref.html
-== textarea-dyn-not-disabled.html textarea-ref.html
-== textarea-readonly.html textarea-ref.html
-== textarea-dyn-readonly.html textarea-ref.html
-== textarea-dyn-not-readonly.html textarea-ref.html
-== textarea-required-valid.html textarea-withtext-ref.html
-== textarea-required-invalid.html textarea-ref.html
-== textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
-== textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
-== textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
+fails-if(stylo) == textarea-valid.html textarea-ref.html
+fails-if(stylo) == textarea-customerror.html textarea-ref.html
+fails-if(stylo) == textarea-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-required-valid.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-required-invalid.html textarea-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
--- a/layout/reftests/css-mediaqueries/reftest.list
+++ b/layout/reftests/css-mediaqueries/reftest.list
@@ -11,9 +11,9 @@ fuzzy-if(Android,8,454) == mq_print_maxh
 == mq_print_maxwidth.xhtml mq_print-ref.xhtml
 
 == mq_print_maxwidth_updown.xhtml mq_print-ref.xhtml
 == mq_print_maxheight_updown.xhtml mq_print-ref.xhtml
 == mq_print_minheight_updown.xhtml mq_print-ref.xhtml
 == mq_print_minwidth_updown.xhtml mq_print-ref.xhtml
 
 == scoped-mq-update.html scoped-mq-update-ref.html
-== system-metrics-1.html system-metrics-1-ref.html
+fails-if(stylo) == system-metrics-1.html system-metrics-1-ref.html
--- a/layout/reftests/css-optional/reftest.list
+++ b/layout/reftests/css-optional/reftest.list
@@ -1,10 +1,10 @@
 # Checking if these elements support :optional.
-== css-optional-textarea.html css-optional-textarea-ref.html
-== css-optional-input.html css-optional-input-ref.html
-== css-optional-select.html css-optional-select-ref.html
+fails-if(stylo) == css-optional-textarea.html css-optional-textarea-ref.html
+fails-if(stylo) == css-optional-input.html css-optional-input-ref.html
+fails-if(stylo) == css-optional-select.html css-optional-select-ref.html
 == css-optional-button.html about:blank
 
 # Checking dynamic behavior.
-== css-optional-dyn-1.html css-optional-input-ref.html
+fails-if(stylo) == css-optional-dyn-1.html css-optional-input-ref.html
 == css-optional-dyn-2.html about:blank
 
--- a/layout/reftests/css-parsing/reftest.list
+++ b/layout/reftests/css-parsing/reftest.list
@@ -1,9 +1,9 @@
 == at-rule-013.html at-rule-013-ref.html
-== invalid-url-handling.xhtml invalid-url-handling-ref.xhtml
+fails-if(stylo) == invalid-url-handling.xhtml invalid-url-handling-ref.xhtml
 == pseudo-elements-1.html pseudo-elements-1-ref.html
 == invalid-attr-1.html invalid-attr-1-ref.html
 == at-rule-error-handling-import-1.html at-rule-error-handling-ref.html
 == at-rule-error-handling-media-1.html at-rule-error-handling-ref.html
 == invalid-font-face-descriptor-1.html invalid-font-face-descriptor-1-ref.html
 == two-dash-identifiers.html two-dash-identifiers-ref.html
 == supports-moz-bool-pref.html supports-moz-bool-pref-ref.html
--- a/layout/reftests/css-placeholder/input/reftest.list
+++ b/layout/reftests/css-placeholder/input/reftest.list
@@ -3,26 +3,26 @@
 # text colour without changing the caret which means that the tested page has
 # a black caret with a grey text and the reference has a grey caret with grey
 # text. The only thing that is doable is to make the caret grey in the tested
 # page but that would make the test moot because a failure wouldn't be seen.
 # A real way to fix this would be to be able to style the caret or to implement
 # ::value (bug 648643), depending of the ::value behaviour (it could change the
 # caret colour and the text colour or just the text colour).
 
-== placeholder-simple.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-simple.html placeholder-simple-ref.html
 # needs-focus == placeholder-focus.html placeholder-focus-ref.html
-needs-focus == placeholder-blur.html placeholder-simple-ref.html
-== placeholder-value.html placeholder-value-ref.html
-== placeholder-empty-string.html placeholder-empty-string-ref.html
-== placeholder-add.html placeholder-simple-ref.html
-== placeholder-removal.html input-ref.html
-== placeholder-value-set.html placeholder-value-ref.html
-== placeholder-value-unset.html placeholder-simple-ref.html
-== placeholder-value-reset.html placeholder-simple-ref.html
-== placeholder-type-change-1.html placeholder-simple-ref.html
-== placeholder-type-change-2.html placeholder-button-ref.html
+needs-focus fails-if(stylo) == placeholder-blur.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-value.html placeholder-value-ref.html
+fails-if(stylo) == placeholder-empty-string.html placeholder-empty-string-ref.html
+fails-if(stylo) == placeholder-add.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-removal.html input-ref.html
+fails-if(stylo) == placeholder-value-set.html placeholder-value-ref.html
+fails-if(stylo) == placeholder-value-unset.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-value-reset.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-type-change-1.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-type-change-2.html placeholder-button-ref.html
 == placeholdershown.html placeholdershown-ref.html
-== css-display.html placeholder-simple-ref.html
+fails-if(stylo) == css-display.html placeholder-simple-ref.html
 # We can't check except by verifying that the output is different.
 # Same reasons as focus issues explained above.
-!= css-opacity.html placeholder-simple-ref.html
-!= css-text-align.html placeholder-simple-ref.html
+fails-if(stylo) != css-opacity.html placeholder-simple-ref.html
+fails-if(stylo) != css-text-align.html placeholder-simple-ref.html
--- a/layout/reftests/css-placeholder/reftest.list
+++ b/layout/reftests/css-placeholder/reftest.list
@@ -1,7 +1,7 @@
 include input/reftest.list
 include textarea/reftest.list
 
-fuzzy-if(skiaContent,1,4) == css-restrictions.html css-restrictions-ref.html
-== css-simple-styling.html css-simple-styling-ref.html
-!= css-background.html css-background-ref.html
-fuzzy-if(skiaContent,1,180) == ignore-pseudo-class.html ignore-pseudo-class-ref.html
+fuzzy-if(skiaContent,1,4) fails-if(stylo) == css-restrictions.html css-restrictions-ref.html
+fails-if(stylo) == css-simple-styling.html css-simple-styling-ref.html
+fails-if(stylo) != css-background.html css-background-ref.html
+fuzzy-if(skiaContent,1,180) fails-if(stylo) == ignore-pseudo-class.html ignore-pseudo-class-ref.html
--- a/layout/reftests/css-placeholder/textarea/reftest.list
+++ b/layout/reftests/css-placeholder/textarea/reftest.list
@@ -3,24 +3,24 @@
 # text colour without changing the caret which means that the tested page has
 # a black caret with a grey text and the reference has a grey caret with grey
 # text. The only thing that is doable is to make the caret grey in the tested
 # page but that would make the test moot because a failure wouldn't be seen.
 # A real way to fix this would be to be able to style the caret or to implement
 # ::value (bug 648643), depending of the ::value behaviour (it could change the
 # caret colour and the text colour or just the text colour).
 
-== placeholder-simple.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-simple.html placeholder-simple-ref.html
 # needs-focus == placeholder-focus.html placeholder-focus-ref.html
-needs-focus == placeholder-blur.html placeholder-simple-ref.html
-== placeholder-value.html placeholder-value-ref.html
-== placeholder-empty-string.html placeholder-empty-string-ref.html
-== placeholder-add.html placeholder-simple-ref.html
-== placeholder-removal.html textarea-ref.html
-== placeholder-value-set.html placeholder-value-ref.html
-== placeholder-value-unset.html placeholder-simple-ref.html
-== placeholder-value-reset.html placeholder-simple-ref.html
-== placeholdershown.html placeholdershown-ref.html
-== css-resize.html css-resize-ref.html
-== css-display.html placeholder-simple-ref.html
+needs-focus fails-if(stylo) == placeholder-blur.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-value.html placeholder-value-ref.html
+fails-if(stylo) == placeholder-empty-string.html placeholder-empty-string-ref.html
+fails-if(stylo) == placeholder-add.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-removal.html textarea-ref.html
+fails-if(stylo) == placeholder-value-set.html placeholder-value-ref.html
+fails-if(stylo) == placeholder-value-unset.html placeholder-simple-ref.html
+fails-if(stylo) == placeholder-value-reset.html placeholder-simple-ref.html
+fails-if(stylo) == placeholdershown.html placeholdershown-ref.html
+fails-if(stylo) == css-resize.html css-resize-ref.html
+fails-if(stylo) == css-display.html placeholder-simple-ref.html
 # We can't check except by verifying that the output is different.
 # Same reasons as focus issues explained above.
-!= css-opacity.html placeholder-simple-ref.html
+fails-if(stylo) != css-opacity.html placeholder-simple-ref.html
--- a/layout/reftests/css-required/reftest.list
+++ b/layout/reftests/css-required/reftest.list
@@ -1,25 +1,25 @@
 # Checking if these types/elements support :required
-== css-required-textarea.html css-required-textarea-ref.html
+fails-if(stylo) == css-required-textarea.html css-required-textarea-ref.html
 == css-required-radio.html css-required-radio-ref.html
-== css-required-text.html css-required-text-ref.html
+fails-if(stylo) == css-required-text.html css-required-text-ref.html
 == css-required-checkbox.html css-required-checkbox-ref.html
-== css-required-file.html css-required-file-ref.html
-== css-required-password.html css-required-password-ref.html
-== css-required-tel.html css-required-tel-ref.html
-== css-required-search.html css-required-search-ref.html
-== css-required-select.html css-required-select-ref.html
+fails-if(stylo) == css-required-file.html css-required-file-ref.html
+fails-if(stylo) == css-required-password.html css-required-password-ref.html
+fails-if(stylo) == css-required-tel.html css-required-tel-ref.html
+fails-if(stylo) == css-required-search.html css-required-search-ref.html
+fails-if(stylo) == css-required-select.html css-required-select-ref.html
 
 # Checking dynamic behavior with <input type='text'>
-== css-required-dyn-1.html css-required-text-ref.html
+fails-if(stylo) == css-required-dyn-1.html css-required-text-ref.html
 == css-required-dyn-2.html about:blank
-== css-required-dyn-3.html css-required-text-ref.html
+fails-if(stylo) == css-required-dyn-3.html css-required-text-ref.html
 == css-required-dyn-4.html about:blank
-== css-required-dyn-5.html css-required-text-ref.html
+fails-if(stylo) == css-required-dyn-5.html css-required-text-ref.html
 == css-required-dyn-6.html about:blank
 
 # Following input types do not support :required
 == css-required-hidden.html about:blank
 == css-required-button.html about:blank
 == css-required-submit.html about:blank
 == css-required-image.html about:blank
 == css-required-reset.html about:blank
--- a/layout/reftests/css-ruby/reftest.list
+++ b/layout/reftests/css-ruby/reftest.list
@@ -1,55 +1,55 @@
 == bidi-1.html bidi-1-ref.html
 == bidi-2.html bidi-2-ref.html
 == box-generation-1.html box-generation-1-ref.html
 == box-generation-2.html box-generation-2-ref.html
 == box-generation-3.html box-generation-3-ref.html
 == box-generation-4.html box-generation-4-ref.html
 == box-generation-5.html box-generation-5-ref.html
-== box-properties-1.html box-properties-1-ref.html
-== box-properties-2.html box-properties-2-ref.html
-== box-properties-3.html box-properties-3-ref.html
-== box-properties-4.html box-properties-4-ref.html
+fails-if(stylo) == box-properties-1.html box-properties-1-ref.html
+fails-if(stylo) == box-properties-2.html box-properties-2-ref.html
+fails-if(stylo) == box-properties-3.html box-properties-3-ref.html
+fails-if(stylo) == box-properties-4.html box-properties-4-ref.html
 == dynamic-insertion-1.html dynamic-insertion-1-ref.html
 == dynamic-insertion-2.html dynamic-insertion-2-ref.html
-== dynamic-insertion-3.html dynamic-insertion-3-ref.html
+fails-if(stylo) == dynamic-insertion-3.html dynamic-insertion-3-ref.html
 == dynamic-removal-1.html dynamic-removal-1-ref.html
 == dynamic-removal-2.html dynamic-removal-2-ref.html
 == dynamic-removal-3.html dynamic-removal-3-ref.html
 == float-handling.html float-handling-ref.html
 test-pref(dom.meta-viewport.enabled,true) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == inflated-ruby-1.html inflated-ruby-1-ref.html
 == intra-level-whitespace-1.html intra-level-whitespace-1-ref.html
 == intra-level-whitespace-2.html intra-level-whitespace-2-ref.html
 == intra-level-whitespace-3.html intra-level-whitespace-3-ref.html
-== intrinsic-isize-1.html intrinsic-isize-1-ref.html
+fails-if(stylo) == intrinsic-isize-1.html intrinsic-isize-1-ref.html
 == intrinsic-isize-2.html intrinsic-isize-2-ref.html
-== justification-1.html justification-1-ref.html
-== justification-2.html justification-2-ref.html
+fails-if(stylo) == justification-1.html justification-1-ref.html
+fails-if(stylo) == justification-2.html justification-2-ref.html
 fuzzy-if(winWidget,255,792) == lang-specific-style-1.html lang-specific-style-1-ref.html # bug 1134947
 == line-breaking-1.html line-breaking-1-ref.html
-== line-breaking-2.html line-breaking-2-ref.html
-fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),3,2) == line-break-suppression-1.html line-break-suppression-1-ref.html
-fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),3,2) == line-break-suppression-2.html line-break-suppression-2-ref.html
-== line-break-suppression-3.html line-break-suppression-3-ref.html
+fails-if(stylo) == line-breaking-2.html line-breaking-2-ref.html
+fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),3,2) skip-if(stylo) == line-break-suppression-1.html line-break-suppression-1-ref.html
+fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),3,2) skip-if(stylo) == line-break-suppression-2.html line-break-suppression-2-ref.html
+skip-if(stylo) == line-break-suppression-3.html line-break-suppression-3-ref.html
 == line-break-suppression-4.html line-break-suppression-4-ref.html
 == line-break-suppression-5.html line-break-suppression-5-ref.html
 == line-height-1.html line-height-1-ref.html
 == line-height-2.html line-height-2-ref.html
 == line-height-3.html line-height-3-ref.html
 == line-height-4.html line-height-4-ref.html
-test-pref(font.minimum-size.ja,16) == min-font-size-1.html min-font-size-1-ref.html
-load nested-ruby-1.html
+test-pref(font.minimum-size.ja,16) fails-if(stylo) == min-font-size-1.html min-font-size-1-ref.html
+skip-if(stylo) load nested-ruby-1.html
 == no-transform.html no-transform-ref.html
-== relative-positioning-1.html relative-positioning-1-ref.html
+fails-if(stylo) == relative-positioning-1.html relative-positioning-1-ref.html
 == relative-positioning-2.html relative-positioning-2-ref.html
-== ruby-align-1.html ruby-align-1-ref.html
-== ruby-align-1a.html ruby-align-1-ref.html
-== ruby-align-2.html ruby-align-2-ref.html
-== ruby-align-2a.html ruby-align-2-ref.html
+fails-if(stylo) == ruby-align-1.html ruby-align-1-ref.html
+fails-if(stylo) == ruby-align-1a.html ruby-align-1-ref.html
+fails-if(stylo) == ruby-align-2.html ruby-align-2-ref.html
+fails-if(stylo) == ruby-align-2a.html ruby-align-2-ref.html
 == ruby-position-horizontal.html ruby-position-horizontal-ref.html
 == ruby-position-vertical-lr.html ruby-position-vertical-lr-ref.html
 == ruby-position-vertical-rl.html ruby-position-vertical-rl-ref.html
 != ruby-reflow-1-opaqueruby.html ruby-reflow-1-noruby.html
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),13,1) == ruby-reflow-1-transparentruby.html ruby-reflow-1-noruby.html
 == ruby-span-1.html ruby-span-1-ref.html
 == ruby-whitespace-1.html ruby-whitespace-1-ref.html
 == ruby-whitespace-2.html ruby-whitespace-2-ref.html
--- a/layout/reftests/css-selectors/reftest.list
+++ b/layout/reftests/css-selectors/reftest.list
@@ -1,6 +1,6 @@
-== state-dependent-in-any.html state-dependent-in-any-ref.html
-== attr-case-insensitive-1.html attr-case-insensitive-1-ref.html
+fails-if(stylo) == state-dependent-in-any.html state-dependent-in-any-ref.html
+fails-if(stylo) == attr-case-insensitive-1.html attr-case-insensitive-1-ref.html
 == sibling-combinators-on-anon-content-1.xhtml sibling-combinators-on-anon-content-ref.xhtml
 == sibling-combinators-on-anon-content-2.xhtml sibling-combinators-on-anon-content-ref.xhtml
-== nth-child-1.html nth-child-ref.html
-== nth-child-2.html nth-child-ref.html
+fails-if(stylo) == nth-child-1.html nth-child-ref.html
+fails-if(stylo) == nth-child-2.html nth-child-ref.html
--- a/layout/reftests/css-sizing/reftest.list
+++ b/layout/reftests/css-sizing/reftest.list
@@ -1,7 +1,7 @@
 == min-intrinsic-with-percents-across-img-cases.html min-intrinsic-with-percents-across-img-cases-ref.html
 == min-intrinsic-with-percents-across-elements.html min-intrinsic-with-percents-across-elements-ref.html
 skip-if(!webrender) pref(layers.advanced.border-layers,1) == min-intrinsic-with-percents-across-elements.html min-intrinsic-with-percents-across-elements-ref.html
-== min-intrinsic-with-max-width-percents-across-form-controls.html min-intrinsic-with-max-width-percents-across-form-controls-ref.html
-skip-if(!webrender) pref(layers.advanced.border-layers,1) == min-intrinsic-with-max-width-percents-across-form-controls.html min-intrinsic-with-max-width-percents-across-form-controls-ref.html
-== min-intrinsic-with-width-percents-across-form-controls.html min-intrinsic-with-width-percents-across-form-controls-ref.html
-skip-if(!webrender) pref(layers.advanced.border-layers,1) == min-intrinsic-with-width-percents-across-form-controls.html min-intrinsic-with-width-percents-across-form-controls-ref.html
+fails-if(stylo) == min-intrinsic-with-max-width-percents-across-form-controls.html min-intrinsic-with-max-width-percents-across-form-controls-ref.html
+skip-if(!webrender) pref(layers.advanced.border-layers,1) fails-if(stylo) == min-intrinsic-with-max-width-percents-across-form-controls.html min-intrinsic-with-max-width-percents-across-form-controls-ref.html
+fails-if(stylo) == min-intrinsic-with-width-percents-across-form-controls.html min-intrinsic-with-width-percents-across-form-controls-ref.html
+skip-if(!webrender) pref(layers.advanced.border-layers,1) fails-if(stylo) == min-intrinsic-with-width-percents-across-form-controls.html min-intrinsic-with-width-percents-across-form-controls-ref.html
--- a/layout/reftests/css-submit-invalid/button-submit/reftest.list
+++ b/layout/reftests/css-submit-invalid/button-submit/reftest.list
@@ -1,16 +1,16 @@
-== static-valid.html valid-ref.html
-== dynamic-valid.html valid-ref.html
-== static-invalid.html invalid-ref.html
-== dynamic-invalid.html invalid-ref.html
-== dynamic-invalid-barred.html invalid-barred-ref.html
-== dynamic-invalid-barred-2.html invalid-barred-ref.html
-== dynamic-invalid-not-barred.html invalid-ref.html
-== static-invalid-barred.html invalid-barred-ref.html
-== remove-invalid-element.html valid-ref-2.html
-== add-invalid-element.html invalid-ref-2.html
-== add-submit-control.html invalid-ref.html
-== remove-submit-control.html valid-ref-3.html
-== change-type-submit-control.html invalid-ref.html
-== change-type-not-submit-control.html valid-ref-4.html
+fails-if(stylo) == static-valid.html valid-ref.html
+fails-if(stylo) == dynamic-valid.html valid-ref.html
+fails-if(stylo) == static-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-barred-2.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-not-barred.html invalid-ref.html
+fails-if(stylo) == static-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == remove-invalid-element.html valid-ref-2.html
+fails-if(stylo) == add-invalid-element.html invalid-ref-2.html
+fails-if(stylo) == add-submit-control.html invalid-ref.html
+fails-if(stylo) == remove-submit-control.html valid-ref-3.html
+fails-if(stylo) == change-type-submit-control.html invalid-ref.html
+fails-if(stylo) == change-type-not-submit-control.html valid-ref-4.html
 == self-invalid.html about:blank
-== remove-form.html invalid-ref-3.html
+fails-if(stylo) == remove-form.html invalid-ref-3.html
--- a/layout/reftests/css-submit-invalid/default-style/reftest.list
+++ b/layout/reftests/css-submit-invalid/default-style/reftest.list
@@ -1,3 +1,3 @@
-== input-submit.html input-submit-ref.html
+fails-if(stylo) == input-submit.html input-submit-ref.html
 == input-image.html input-image-ref.html
-== button-submit.html button-submit-ref.html
+fails-if(stylo) == button-submit.html button-submit-ref.html
--- a/layout/reftests/css-submit-invalid/input-image/reftest.list
+++ b/layout/reftests/css-submit-invalid/input-image/reftest.list
@@ -1,16 +1,16 @@
-== static-valid.html valid-ref.html
-== dynamic-valid.html valid-ref.html
-== static-invalid.html invalid-ref.html
-== dynamic-invalid.html invalid-ref.html
-== dynamic-invalid-barred.html invalid-barred-ref.html
-== dynamic-invalid-barred-2.html invalid-barred-ref.html
-== dynamic-invalid-not-barred.html invalid-ref.html
-== static-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == static-valid.html valid-ref.html
+fails-if(stylo) == dynamic-valid.html valid-ref.html
+fails-if(stylo) == static-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-barred-2.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-not-barred.html invalid-ref.html
+fails-if(stylo) == static-invalid-barred.html invalid-barred-ref.html
 == remove-invalid-element.html valid-ref-2.html
-== add-invalid-element.html invalid-ref-2.html
-== add-submit-control.html invalid-ref.html
-== remove-submit-control.html valid-ref-3.html
-== change-type-submit-control.html invalid-ref.html
-== change-type-not-submit-control.html valid-ref-4.html
+fails-if(stylo) == add-invalid-element.html invalid-ref-2.html
+fails-if(stylo) == add-submit-control.html invalid-ref.html
+fails-if(stylo) == remove-submit-control.html valid-ref-3.html
+fails-if(stylo) == change-type-submit-control.html invalid-ref.html
+fails-if(stylo) == change-type-not-submit-control.html valid-ref-4.html
 == self-invalid.html about:blank
-== remove-form.html invalid-ref-3.html
+fails-if(stylo) == remove-form.html invalid-ref-3.html
--- a/layout/reftests/css-submit-invalid/input-submit/reftest.list
+++ b/layout/reftests/css-submit-invalid/input-submit/reftest.list
@@ -1,16 +1,16 @@
-== static-valid.html valid-ref.html
-== dynamic-valid.html valid-ref.html
-== static-invalid.html invalid-ref.html
-== dynamic-invalid.html invalid-ref.html
-== dynamic-invalid-barred.html invalid-barred-ref.html
-== dynamic-invalid-barred-2.html invalid-barred-ref.html
-== dynamic-invalid-not-barred.html invalid-ref.html
-== static-invalid-barred.html invalid-barred-ref.html
-== remove-invalid-element.html valid-ref-2.html
-== add-invalid-element.html invalid-ref-2.html
-== add-submit-control.html invalid-ref.html
-== remove-submit-control.html valid-ref-3.html
-== change-type-submit-control.html invalid-ref.html
-== change-type-not-submit-control.html valid-ref-4.html
+fails-if(stylo) == static-valid.html valid-ref.html
+fails-if(stylo) == dynamic-valid.html valid-ref.html
+fails-if(stylo) == static-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid.html invalid-ref.html
+fails-if(stylo) == dynamic-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-barred-2.html invalid-barred-ref.html
+fails-if(stylo) == dynamic-invalid-not-barred.html invalid-ref.html
+fails-if(stylo) == static-invalid-barred.html invalid-barred-ref.html
+fails-if(stylo) == remove-invalid-element.html valid-ref-2.html
+fails-if(stylo) == add-invalid-element.html invalid-ref-2.html
+fails-if(stylo) == add-submit-control.html invalid-ref.html
+fails-if(stylo) == remove-submit-control.html valid-ref-3.html
+fails-if(stylo) == change-type-submit-control.html invalid-ref.html
+fails-if(stylo) == change-type-not-submit-control.html valid-ref-4.html
 == self-invalid.html about:blank
-== remove-form.html invalid-ref-3.html
+fails-if(stylo) == remove-form.html invalid-ref-3.html
--- a/layout/reftests/css-transitions/reftest.list
+++ b/layout/reftests/css-transitions/reftest.list
@@ -1,9 +1,9 @@
 == transitions-inline-already-wrapped-1.html transitions-inline-ref.html
 == transitions-inline-already-wrapped-2.html transitions-inline-ref.html
 == transitions-inline-rewrap-1.html transitions-inline-ref.html
 == transitions-inline-rewrap-2.html transitions-inline-ref.html
 == stacking-context-opacity-lose-to-animation.html stacking-context-transition-ref.html
 == stacking-context-transform-lose-to-animation.html stacking-context-transition-ref.html
 == stacking-context-opacity-wins-over-important-style.html stacking-context-transition-ref.html
 == stacking-context-transform-wins-over-important-style.html stacking-context-transition-ref.html
-== transition-and-animation-with-different-durations.html transition-and-animation-with-different-durations-ref.html
+skip-if(stylo) == transition-and-animation-with-different-durations.html transition-and-animation-with-different-durations-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
-== button.html button-ref.html
-== textarea.html textarea-ref.html
-== select.html select-ref.html
+fails-if(stylo) == input.html input-ref.html
+fails-if(stylo) == button.html button-ref.html
+fails-if(stylo) == textarea.html textarea-ref.html
+fails-if(stylo) == 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 == 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
+random-if(winWidget) needs-focus fails-if(stylo) == input-focus.html input-focus-ref.html # Intermittent failures, bug 660224
+needs-focus fails-if(stylo) == button-focus.html button-focus-ref.html
+needs-focus fails-if(stylo) == textarea-focus.html textarea-focus-ref.html
+random-if(winWidget) needs-focus fails-if(stylo) == select-focus.html select-focus-ref.html # Intermittent failures, bug 660224
--- a/layout/reftests/css-ui-invalid/input/reftest.list
+++ b/layout/reftests/css-ui-invalid/input/reftest.list
@@ -25,18 +25,18 @@ fuzzy-if(skiaContent,2,5) == input-type-
 fuzzy(64,4) == input-type-invalid.html input-ref.html
 == input-disabled-fieldset-1.html input-fieldset-ref.html
 fuzzy-if(skiaContent,1,3) == input-disabled-fieldset-2.html input-fieldset-ref.html
 fuzzy-if(skiaContent,1,3) == input-fieldset-legend.html input-fieldset-legend-ref.html
 == input-checkbox-required-invalid-changed.html success-ref.html
 == input-checkbox-required-invalid-default.html success-ref.html
 == input-radio-required-invalid-changed.html success-ref.html
 == input-radio-required-invalid-default.html success-ref.html
-== input-file-required-invalid-changed.html input-file-ref.html
-== input-file-required-invalid-default.html input-file-ref.html
+fails-if(stylo) == input-file-required-invalid-changed.html input-file-ref.html
+fails-if(stylo) == input-file-required-invalid-default.html input-file-ref.html
 == input-radio-required.html success-ref.html
 == input-radio-customerror.html success-ref.html
 == input-radio-dyn-valid-1.html success-ref.html
 == input-radio-dyn-valid-2.html success-ref.html
 == input-radio-nogroup-required-valid.html success-ref.html
 == input-radio-nogroup-required-invalid.html success-ref.html
 fuzzy-if(skiaContent,1,3) == input-novalidate.html input-ref.html
 # input type='hidden' shouldn't show
--- a/layout/reftests/css-ui-invalid/select/reftest.list
+++ b/layout/reftests/css-ui-invalid/select/reftest.list
@@ -1,18 +1,18 @@
-needs-focus == select-valid.html select-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-invalid.html select-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-invalid-reset.html select-required-ref.html
-needs-focus == select-disabled.html select-disabled-ref.html
-needs-focus == select-dyn-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-dyn-not-disabled.html select-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid-1.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid-2.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid-changed-1.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid-changed-2.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid.html select-required-ref.html
-needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html
-fuzzy-if(asyncPan&&!layersGPUAccelerated,84,77) fuzzy-if(skiaContent,1,1000) needs-focus == select-required-multiple-invalid-changed.html select-required-multiple-ref.html
-needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
-fuzzy-if(skiaContent,2,10) needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html
-fuzzy-if(skiaContent,1,5) needs-focus == select-novalidate.html select-required-ref.html
+needs-focus fails-if(stylo) == select-valid.html select-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-invalid.html select-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-invalid-reset.html select-required-ref.html
+needs-focus fails-if(stylo) == select-disabled.html select-disabled-ref.html
+needs-focus fails-if(stylo) == select-dyn-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-dyn-not-disabled.html select-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-invalid-1.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-invalid-2.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-invalid-changed-1.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-invalid-changed-2.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-valid.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-invalid.html select-required-multiple-ref.html
+fuzzy-if(asyncPan&&!layersGPUAccelerated,84,77) fuzzy-if(skiaContent,1,1000) needs-focus fails-if(stylo) == select-required-multiple-invalid-changed.html select-required-multiple-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-valid.html select-required-multiple-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus fails-if(stylo) == select-disabled-fieldset-1.html select-fieldset-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus fails-if(stylo) == select-disabled-fieldset-2.html select-fieldset-ref.html
+fuzzy-if(skiaContent,2,10) needs-focus fails-if(stylo) == select-fieldset-legend.html select-fieldset-legend-ref.html
+fuzzy-if(skiaContent,1,5) needs-focus fails-if(stylo) == select-novalidate.html select-required-ref.html
--- a/layout/reftests/css-ui-invalid/textarea/reftest.list
+++ b/layout/reftests/css-ui-invalid/textarea/reftest.list
@@ -1,15 +1,15 @@
-== textarea-valid.html textarea-ref.html
-== textarea-customerror.html textarea-ref.html
-== textarea-disabled.html textarea-ref.html
-== textarea-dyn-disabled.html textarea-ref.html
-== textarea-dyn-not-disabled.html textarea-ref.html
-== textarea-readonly.html textarea-ref.html
-== textarea-dyn-readonly.html textarea-ref.html
-== textarea-dyn-not-readonly-not-changed.html textarea-ref.html
-== textarea-dyn-not-readonly-changed.html textarea-ref.html
-== textarea-required-valid.html textarea-withtext-ref.html
-== textarea-required-invalid.html textarea-ref.html
-== textarea-required-invalid-changed.html textarea-ref.html
-== textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
-== textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
-== textarea-novalidate.html textarea-ref.html
+fails-if(stylo) == textarea-valid.html textarea-ref.html
+fails-if(stylo) == textarea-customerror.html textarea-ref.html
+fails-if(stylo) == textarea-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly-not-changed.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly-changed.html textarea-ref.html
+fails-if(stylo) == textarea-required-valid.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-required-invalid.html textarea-ref.html
+fails-if(stylo) == textarea-required-invalid-changed.html textarea-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-novalidate.html textarea-ref.html
--- a/layout/reftests/css-ui-valid/input/reftest.list
+++ b/layout/reftests/css-ui-valid/input/reftest.list
@@ -24,18 +24,18 @@ fuzzy-if(skiaContent,1,3) == input-requi
 == input-pattern-invalid.html input-withtext-ref.html
 == input-type-barred.html input-button-ref.html
 fuzzy(64,4) == input-type-invalid.html input-ref.html
 == input-disabled-fieldset-1.html input-fieldset-ref.html
 fuzzy-if(skiaContent,1,3) == input-disabled-fieldset-2.html input-fieldset-ref.html
 fuzzy-if(skiaContent,1,3) == input-fieldset-legend.html input-fieldset-legend-ref.html
 == input-checkbox-valid-changed.html success-ref.html
 == input-checkbox-valid-default.html success-ref.html
-== input-file-valid-changed.html input-file-ref.html
-== input-file-valid-default.html input-file-ref.html
+fails-if(stylo) == input-file-valid-changed.html input-file-ref.html
+fails-if(stylo) == input-file-valid-default.html input-file-ref.html
 == input-radio-required.html success-ref.html
 == input-radio-customerror.html success-ref.html
 == input-radio-dyn-valid-1.html success-ref.html
 == input-radio-dyn-valid-2.html success-ref.html
 == input-radio-nogroup-required-valid.html success-ref.html
 == input-radio-nogroup-required-invalid.html success-ref.html
 fuzzy-if(skiaContent,1,3) == input-novalidate.html input-withtext-ref.html
 # input type='hidden' shouldn't show
--- a/layout/reftests/css-ui-valid/select/reftest.list
+++ b/layout/reftests/css-ui-valid/select/reftest.list
@@ -1,18 +1,18 @@
-needs-focus == select-valid.html select-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-valid-reset.html select-required-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-invalid.html select-ref.html
-fuzzy-if(skiaContent,2,4) needs-focus == select-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,2,4) needs-focus == select-dyn-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,1,3) needs-focus == select-dyn-not-disabled.html select-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-1.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-2.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-changed-1.html select-required-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-changed-2.html select-required-ref.html
-needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html
-needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
-fuzzy(64,4) fuzzy-if(asyncPan&&layersGPUAccelerated,84,77) fuzzy-if(skiaContent,1,1000) needs-focus == select-required-multiple-valid-changed.html select-required-multiple-ref.html
-fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
-fuzzy-if(skiaContent,2,10) needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-novalidate.html select-required-ref.html
+needs-focus fails-if(stylo) == select-valid.html select-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-valid-reset.html select-required-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-invalid.html select-ref.html
+fuzzy-if(skiaContent,2,4) needs-focus fails-if(stylo) == select-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,2,4) needs-focus fails-if(stylo) == select-dyn-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,1,3) needs-focus fails-if(stylo) == select-dyn-not-disabled.html select-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-invalid.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-valid-1.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-valid-2.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-valid-changed-1.html select-required-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-required-valid-changed-2.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-invalid.html select-required-multiple-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-valid.html select-required-multiple-ref.html
+fuzzy(64,4) fuzzy-if(asyncPan&&layersGPUAccelerated,84,77) fuzzy-if(skiaContent,1,1000) needs-focus fails-if(stylo) == select-required-multiple-valid-changed.html select-required-multiple-ref.html
+fails-if(Android) needs-focus fails-if(stylo) == select-disabled-fieldset-1.html select-fieldset-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,2,10) needs-focus fails-if(stylo) == select-disabled-fieldset-2.html select-fieldset-ref.html
+fuzzy-if(skiaContent,2,10) needs-focus fails-if(stylo) == select-fieldset-legend.html select-fieldset-legend-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-novalidate.html select-required-ref.html
--- a/layout/reftests/css-ui-valid/textarea/reftest.list
+++ b/layout/reftests/css-ui-valid/textarea/reftest.list
@@ -1,17 +1,17 @@
-== textarea-valid.html textarea-ref.html
-== textarea-customerror.html textarea-ref.html
-== textarea-disabled.html textarea-ref.html
-== textarea-dyn-disabled.html textarea-ref.html
-== textarea-dyn-not-disabled.html textarea-ref.html
-== textarea-dyn-not-disabled-changed.html textarea-ref.html
-== textarea-readonly.html textarea-ref.html
-== textarea-dyn-readonly.html textarea-ref.html
-== textarea-dyn-not-readonly.html textarea-ref.html
-== textarea-dyn-not-readonly-changed.html textarea-ref.html
-== textarea-required-valid.html textarea-withtext-ref.html
-== textarea-required-valid-changed.html textarea-withtext-ref.html
-== textarea-required-invalid.html textarea-ref.html
-== textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
-== textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
-== textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
-== textarea-novalidate.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-valid.html textarea-ref.html
+fails-if(stylo) == textarea-customerror.html textarea-ref.html
+fails-if(stylo) == textarea-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-disabled-changed.html textarea-ref.html
+fails-if(stylo) == textarea-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly-changed.html textarea-ref.html
+fails-if(stylo) == textarea-required-valid.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-required-valid-changed.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-required-invalid.html textarea-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
+fails-if(stylo) == textarea-novalidate.html textarea-withtext-ref.html
--- a/layout/reftests/css-valid/select/reftest.list
+++ b/layout/reftests/css-valid/select/reftest.list
@@ -1,12 +1,12 @@
-fuzzy-if(skiaContent,2,7) needs-focus == select-valid.html select-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-invalid.html select-ref.html
-needs-focus == select-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,1,5) needs-focus == select-dyn-disabled.html select-disabled-ref.html
-fuzzy-if(skiaContent,2,5) needs-focus == select-dyn-not-disabled.html select-ref.html
-needs-focus == select-required-invalid.html select-required-ref.html
-needs-focus == select-required-valid.html select-required-ref.html
-needs-focus == select-required-multiple-still-valid.html select-required-multiple-ref.html
-fuzzy-if(skiaContent,1,250) needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
-fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
-fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
-needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html
+fuzzy-if(skiaContent,2,7) needs-focus fails-if(stylo) == select-valid.html select-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-invalid.html select-ref.html
+needs-focus fails-if(stylo) == select-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,1,5) needs-focus fails-if(stylo) == select-dyn-disabled.html select-disabled-ref.html
+fuzzy-if(skiaContent,2,5) needs-focus fails-if(stylo) == select-dyn-not-disabled.html select-ref.html
+needs-focus fails-if(stylo) == select-required-invalid.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-valid.html select-required-ref.html
+needs-focus fails-if(stylo) == select-required-multiple-still-valid.html select-required-multiple-ref.html
+fuzzy-if(skiaContent,1,250) needs-focus fails-if(stylo) == select-required-multiple-valid.html select-required-multiple-ref.html
+fails-if(Android) needs-focus fails-if(stylo) == select-disabled-fieldset-1.html select-fieldset-ref.html
+fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus fails-if(stylo) == select-disabled-fieldset-2.html select-fieldset-ref.html
+needs-focus fails-if(stylo) == select-fieldset-legend.html select-fieldset-legend-ref.html
--- a/layout/reftests/css-valid/textarea/reftest.list
+++ b/layout/reftests/css-valid/textarea/reftest.list
@@ -1,13 +1,13 @@
-== textarea-valid.html textarea-ref.html
-== textarea-customerror.html textarea-ref.html
-== textarea-disabled.html textarea-ref.html
-== textarea-dyn-disabled.html textarea-ref.html
-== textarea-dyn-not-disabled.html textarea-ref.html
-== textarea-readonly.html textarea-ref.html
-== textarea-dyn-readonly.html textarea-ref.html
-== textarea-dyn-not-readonly.html textarea-ref.html
-== textarea-required-valid.html textarea-withtext-ref.html
-== textarea-required-invalid.html textarea-ref.html
-== textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
-== textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
-== textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
+fails-if(stylo) == textarea-valid.html textarea-ref.html
+fails-if(stylo) == textarea-customerror.html textarea-ref.html
+fails-if(stylo) == textarea-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-disabled.html textarea-ref.html
+fails-if(stylo) == textarea-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-dyn-not-readonly.html textarea-ref.html
+fails-if(stylo) == textarea-required-valid.html textarea-withtext-ref.html
+fails-if(stylo) == textarea-required-invalid.html textarea-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-1.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-disabled-fieldset-2.html textarea-fieldset-ref.html
+fails-if(stylo) == textarea-fieldset-legend.html textarea-fieldset-legend-ref.html
--- a/layout/reftests/css-valuesandunits/reftest.list
+++ b/layout/reftests/css-valuesandunits/reftest.list
@@ -1,15 +1,15 @@
 == unit-rem-div-fontsize.html unit-rem-ref.html
 == unit-rem-div-width-inner.html unit-rem-ref.html
 == unit-rem-div-width-outer.html unit-rem-ref.html
 == unit-rem-iframe.html unit-rem-ref-iframe.html
 == unit-rem-root-fontsize.html unit-rem-ref-root-fontsize.html
 == unit-rem-root-fontsize.html unit-rem-ref2-root-fontsize.html
-== unit-rem-root-width.html unit-rem-ref-root-width.html
+fails-if(stylo) == unit-rem-root-width.html unit-rem-ref-root-width.html
 == unit-rem.svg unit-rem-ref.svg
 == unit-vh-vw.html unit-vh-vw-ref.html
 == unit-vh-vw-zoom.html unit-vh-vw-zoom-ref.html
-== unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-auto-ref.html
-== unit-vh-vw-overflow-scroll.html unit-vh-vw-overflow-scroll-ref.html
-== unit-vh-vw-overflow-scroll-x.html unit-vh-vw-overflow-scroll-x-ref.html
-== unit-vh-vw-overflow-scroll-y.html unit-vh-vw-overflow-scroll-y-ref.html
-skip-if(Android) != unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-scroll.html
+fails-if(stylo) == unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-auto-ref.html
+fails-if(stylo) == unit-vh-vw-overflow-scroll.html unit-vh-vw-overflow-scroll-ref.html
+fails-if(stylo) == unit-vh-vw-overflow-scroll-x.html unit-vh-vw-overflow-scroll-x-ref.html
+fails-if(stylo) == unit-vh-vw-overflow-scroll-y.html unit-vh-vw-overflow-scroll-y-ref.html
+skip-if(Android) fails-if(stylo) != unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-scroll.html
--- a/layout/reftests/details-summary/reftest.list
+++ b/layout/reftests/details-summary/reftest.list
@@ -1,48 +1,48 @@
 # Basic <summary> handling
-== multiple-summary.html single-summary.html
-== open-multiple-summary.html open-multiple-summary-ref.html
-== summary-not-first-child.html single-summary.html
-== open-summary-not-first-child.html open-single-summary.html
+fails-if(stylo) == multiple-summary.html single-summary.html
+fails-if(stylo) == open-multiple-summary.html open-multiple-summary-ref.html
+fails-if(stylo) == summary-not-first-child.html single-summary.html
+fails-if(stylo) == open-summary-not-first-child.html open-single-summary.html
 == open-summary-block-style.html open-summary-block-style-ref.html
 == open-summary-inline-style.html open-summary-inline-style-ref.html
 == open-summary-table-cell-style.html open-summary-table-cell-style-ref.html
-== no-summary.html no-summary-ref.html
-== open-no-summary.html open-no-summary-ref.html
+fails-if(stylo) == no-summary.html no-summary-ref.html
+fails-if(stylo) == open-no-summary.html open-no-summary-ref.html
 == summary-not-in-details.html summary-not-in-details-ref.html
-== summary-not-direct-child.html summary-not-direct-child-ref.html
+fails-if(stylo) == summary-not-direct-child.html summary-not-direct-child-ref.html
 == float-in-summary.html float-in-summary-ref.html
 
 # Add elements dynamically
-== dynamic-add-single-summary.html open-single-summary.html
-== dynamic-add-summary-not-first-child.html open-single-summary.html
-== dynamic-add-summary-and-paragraph.html open-single-summary.html
-== dynamic-add-paragraph-before-summary.html open-single-summary.html
-== dynamic-add-paragraph-before-summary-close.html single-summary.html
-== dynamic-add-paragraph-after-summary.html open-single-summary.html
-== dynamic-add-paragraph-after-summary-close.html single-summary.html
-== dynamic-add-details.html open-single-summary.html
-== dynamic-add-first-summary.html open-multiple-summary.html
-== dynamic-add-second-summary.html open-multiple-summary.html
+fails-if(stylo) == dynamic-add-single-summary.html open-single-summary.html
+fails-if(stylo) == dynamic-add-summary-not-first-child.html open-single-summary.html
+fails-if(stylo) == dynamic-add-summary-and-paragraph.html open-single-summary.html
+fails-if(stylo) == dynamic-add-paragraph-before-summary.html open-single-summary.html
+fails-if(stylo) == dynamic-add-paragraph-before-summary-close.html single-summary.html
+fails-if(stylo) == dynamic-add-paragraph-after-summary.html open-single-summary.html
+fails-if(stylo) == dynamic-add-paragraph-after-summary-close.html single-summary.html
+fails-if(stylo) == dynamic-add-details.html open-single-summary.html
+fails-if(stylo) == dynamic-add-first-summary.html open-multiple-summary.html
+fails-if(stylo) == dynamic-add-second-summary.html open-multiple-summary.html
 
 # Remove elements dynamically
-== dynamic-remove-single-summary.html open-no-summary.html
-== dynamic-remove-summary-not-first-child.html open-no-summary.html
-== dynamic-remove-first-summary.html open-single-summary.html
-== dynamic-remove-second-summary.html open-single-summary.html
+fails-if(stylo) == dynamic-remove-single-summary.html open-no-summary.html
+fails-if(stylo) == dynamic-remove-summary-not-first-child.html open-no-summary.html
+fails-if(stylo) == dynamic-remove-first-summary.html open-single-summary.html
+fails-if(stylo) == dynamic-remove-second-summary.html open-single-summary.html
 
 # Toggle details by open attribute
-== close-nested-details.html close-nested-details-ref.html
-== open-nested-details.html open-nested-details-ref.html
+fails-if(stylo) == close-nested-details.html close-nested-details-ref.html
+fails-if(stylo) == open-nested-details.html open-nested-details-ref.html
 
 # With 'overflow' property
 == overflow-hidden-open-details.html overflow-hidden-open-details-ref.html
-== overflow-auto-open-details.html overflow-auto-open-details-ref.html
-== overflow-scroll-details.html overflow-scroll-details-ref.html
+fails-if(stylo) == overflow-auto-open-details.html overflow-auto-open-details-ref.html
+fails-if(stylo) == overflow-scroll-details.html overflow-scroll-details-ref.html
 
 # With pagination property
 == details-page-break-after-1.html details-two-pages.html
 == details-page-break-after-2.html details-two-pages.html
 == details-page-break-before-1.html details-two-pages.html
 == details-page-break-before-2.html details-two-pages.html
 
 # With 'float' property
@@ -57,47 +57,47 @@
 == float-open-details-contains-float-left.html float-open-details-contains-float-left-ref.html
 == float-open-details-contains-float-right.html float-open-details-contains-float-right-ref.html
 
 # Various properties on details or summary
 == details-display-inline.html details-display-inline-ref.html
 == details-percentage-height-children.html details-percentage-height-children-ref.html
 == details-absolute-children.html details-absolute-children-ref.html
 == details-three-columns.html details-three-columns-ref.html
-== details-writing-mode.html details-writing-mode-ref.html
+fails-if(stylo) == details-writing-mode.html details-writing-mode-ref.html
 == details-in-ol.html details-in-ol-ref.html
 == summary-three-columns.html summary-three-columns-ref.html
-== details-first-line.html details-first-line-ref.html
-== open-details-first-line-1.html open-details-first-line-ref.html
-== open-details-first-line-2.html open-details-first-line-ref.html
+fails-if(stylo) == details-first-line.html details-first-line-ref.html
+fails-if(stylo) == open-details-first-line-1.html open-details-first-line-ref.html
+fails-if(stylo) == open-details-first-line-2.html open-details-first-line-ref.html
 
 # Dispatch mouse click to summary
-== mouse-click-single-summary.html open-single-summary.html
-== mouse-click-twice-single-summary.html single-summary.html
-== mouse-click-open-single-summary.html single-summary.html
-== mouse-click-twice-open-single-summary.html open-single-summary.html
-== mouse-click-open-second-summary.html open-multiple-summary.html
-== mouse-click-overflow-hidden-details.html overflow-hidden-open-details.html
+fails-if(stylo) == mouse-click-single-summary.html open-single-summary.html
+fails-if(stylo) == mouse-click-twice-single-summary.html single-summary.html
+fails-if(stylo) == mouse-click-open-single-summary.html single-summary.html
+fails-if(stylo) == mouse-click-twice-open-single-summary.html open-single-summary.html
+fails-if(stylo) == mouse-click-open-second-summary.html open-multiple-summary.html
+fails-if(stylo) == mouse-click-overflow-hidden-details.html overflow-hidden-open-details.html
 == mouse-click-twice-overflow-hidden-details.html overflow-hidden-details.html
-fuzzy-if(gtkWidget,1,20) == mouse-click-overflow-auto-details.html overflow-auto-open-details.html #Bug 1294278
-== mouse-click-twice-overflow-auto-details.html overflow-auto-details.html
-== mouse-click-display-none-details.html open-single-summary.html
-== mouse-click-change-details-to-display-none.html open-single-summary.html
+fuzzy-if(gtkWidget,1,20) fails-if(stylo) == mouse-click-overflow-auto-details.html overflow-auto-open-details.html #Bug 1294278
+fails-if(stylo) == mouse-click-twice-overflow-auto-details.html overflow-auto-details.html
+fails-if(stylo) == mouse-click-display-none-details.html open-single-summary.html
+fails-if(stylo) == mouse-click-change-details-to-display-none.html open-single-summary.html
 == mouse-click-change-summary-to-display-none.html mouse-click-change-summary-to-display-none-ref.html
-== mouse-click-move-summary-to-different-details.html mouse-click-move-summary-to-different-details-ref.html
+fails-if(stylo) == mouse-click-move-summary-to-different-details.html mouse-click-move-summary-to-different-details-ref.html
 
 # Dispatch mouse click to out-of-flow details or summary
-== mouse-click-fixed-summary.html open-fixed-summary.html
-== mouse-click-twice-fixed-summary.html fixed-summary.html
-== mouse-click-float-details.html open-float-details.html
-fuzzy(1,1) == mouse-click-twice-float-details.html float-details.html # Bug 1316430
+fails-if(stylo) == mouse-click-fixed-summary.html open-fixed-summary.html
+fails-if(stylo) == mouse-click-twice-fixed-summary.html fixed-summary.html
+fails-if(stylo) == mouse-click-float-details.html open-float-details.html
+fuzzy(1,1) fails-if(stylo) == mouse-click-twice-float-details.html float-details.html # Bug 1316430
 
 # Dispatch keyboard event to summary
-== key-enter-single-summary.html open-single-summary.html
-== key-enter-open-second-summary.html open-multiple-summary.html
-== key-enter-prevent-default.html single-summary.html
-== key-space-single-summary.html open-single-summary.html
+fails-if(stylo) == key-enter-single-summary.html open-single-summary.html
+fails-if(stylo) == key-enter-open-second-summary.html open-multiple-summary.html
+fails-if(stylo) == key-enter-prevent-default.html single-summary.html
+fails-if(stylo) == key-space-single-summary.html open-single-summary.html
 
 # Generated content bits
-== details-after.html single-summary.html
-== details-before.html single-summary.html
-== open-details-after.html open-single-summary.html
-== open-details-before.html open-single-summary.html
+fails-if(stylo) == details-after.html single-summary.html
+fails-if(stylo) == details-before.html single-summary.html
+fails-if(stylo) == open-details-after.html open-single-summary.html
+fails-if(stylo) == open-details-before.html open-single-summary.html
--- a/layout/reftests/dom/reftest.list
+++ b/layout/reftests/dom/reftest.list
@@ -41,15 +41,15 @@
 == multipleinsertionpoints-insertsingle-1.xhtml multipleinsertionpoints-ref.xhtml
 == multipleinsertionpoints-insertsingle-2.xhtml multipleinsertionpoints-ref.xhtml
 # insert several elements
 == multipleinsertionpoints-insertmultiple.xhtml multipleinsertionpoints-ref.xhtml
 
 # 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
+fails-if(stylo) == multipleappendwithinput.xhtml multipleappendwithinput-ref.xhtml
 == multipleappendwitheditable.xhtml multipleappendwitheditable-ref.xhtml
 
-== xbl-children-1.xhtml xbl-children-1-ref.xhtml
+fails-if(stylo) == xbl-children-1.xhtml xbl-children-1-ref.xhtml
 == xbl-children-2.xhtml about:blank
-== xbl-children-3.xhtml xbl-children-3-ref.html
+fails-if(stylo) == xbl-children-3.xhtml xbl-children-3-ref.html
 == xbl-children-4.xhtml about:blank
--- a/layout/reftests/first-letter/reftest.list
+++ b/layout/reftests/first-letter/reftest.list
@@ -1,44 +1,44 @@
 # basic functionality
 == basic-1.html basic-ref.html
 == basic-2.html basic-ref.html
 
 # parent style context correct
-== parent-style-1.html parent-style-1-ref.html
+fails-if(stylo) == parent-style-1.html parent-style-1-ref.html
 
 # others
 == nested-1a.html nested-1-ref.html
 == nested-1b.html nested-1-ref.html
 == nested-1c.html nested-1-ref.html
 == nested-1d.html nested-1-ref.html
 == nested-1e.html nested-1-ref.html
 == nested-1f.html nested-1-ref.html
 == nested-1g.html nested-1-ref.html
 == quote-1a.html quote-1-ref.html
-fails == quote-1b.html quote-1-ref.html # bug 509685
-fails == quote-1c.html quote-1-ref.html # bug 509685
+fails-if(!stylo) == quote-1b.html quote-1-ref.html # bug 509685
+fails-if(!stylo) == quote-1c.html quote-1-ref.html # bug 509685
 == quote-1c.html quote-1b.html
-fails == quote-1d.html quote-1-ref.html
+fails-if(!stylo) == quote-1d.html quote-1-ref.html
 == quote-1d.html quote-1b.html
-fails == quote-1e.html quote-1-ref.html # bug 509685
+fails-if(!stylo) == quote-1e.html quote-1-ref.html # bug 509685
 == quote-1e.html quote-1b.html
 == quote-1f.html quote-1-ref.html
-fails == dynamic-1.html dynamic-1-ref.html # bug 8253
+fails-if(!stylo) fails-if(stylo) == dynamic-1.html dynamic-1-ref.html # bug 8253
 random-if(d2d) == dynamic-2.html dynamic-2-ref.html
 == dynamic-3a.html dynamic-3-ref.html
 == dynamic-3b.html dynamic-3-ref.html
 == 23605-1.html 23605-1-ref.html
 == 23605-2.html 23605-2-ref.html
 == 23605-3.html 23605-3-ref.html
 == 23605-4.html 23605-4-ref.html
 == 23605-5.html 23605-5-ref.html
 == 23605-6.html 23605-6-ref.html
 != 229764-1.html 229764-ref.html
-== 229764-2.html 229764-ref.html
+fails-if(stylo) == 229764-2.html 229764-ref.html
 == 329069-1.html 329069-1-ref.html
 fails-if(Android) == 329069-2.html 329069-2-ref.html # Bug 999139
 == 329069-3.html 329069-3-ref.html
 == 329069-4.html 329069-4-ref.html
 HTTP(..) == 329069-5.html 329069-5-ref.html
 == 342120-1.xhtml 342120-1-ref.xhtml
 == 379799-1.html 379799-1-ref.html
 == 399941-1.html 399941-1-ref.html
@@ -46,17 +46,17 @@ HTTP(..) == 329069-5.html 329069-5-ref.h
 == 399941-3.html 399941-3-ref.html
 == 399941-4.html 399941-4-ref.html
 == 399941-5.html 399941-5-ref.html
 == 399941-6.html 399941-6-ref.html
 == 399941-7.html 399941-7-ref.html
 == 399941-8.html 399941-8-ref.html
 == 399941-9.html 399941-9-ref.html
 == 429968-1a.html 429968-1-ref.html
-== 429968-1b.html 429968-1-ref.html
+fails-if(stylo) == 429968-1b.html 429968-1-ref.html
 == 429968-2a.html 429968-2-ref.html
 == 429968-2b.html 429968-2-ref.html
 == 429968-2c.html 429968-2-ref.html
 == 441418-1.html 441418-1-ref.html
 == 469227-1.html 469227-1-ref.html
 == 484400-1.html 484400-1-ref.html
 == 594303-1.html 594303-1-ref.html
 fails-if(winWidget||cocoaWidget) == 617869-1.html 617869-1-ref.html
@@ -65,10 +65,10 @@ fails-if(winWidget||cocoaWidget) == 6178
 == 958249.html 958249-ref.html
 == font-text-styles.html font-text-styles-ref.html
 random-if(gtkWidget) random-if(winWidget&&!d2d) == font-text-styles-floater.html font-text-styles-floater-ref.html # bug 992846
 == inline-height-empty.html inline-height-empty-ref.html
 HTTP(..) == indic-clusters-1.html indic-clusters-1-ref.html
 == overflow-float-nooverflow.html overflow-float-nooverflow-ref.html
 == overflow-float-overflow.html overflow-float-overflow-notref.html
 == overflow-inline-nooverflow.html overflow-inline-nooverflow-ref.html
-!= overflow-inline-overflow.html overflow-inline-overflow-notref.html
-== overflow-inline-overflow.html overflow-inline-overflow-ref.html
+fails-if(stylo) != overflow-inline-overflow.html overflow-inline-overflow-notref.html
+fails-if(stylo) == overflow-inline-overflow.html overflow-inline-overflow-ref.html
--- a/layout/reftests/first-line/reftest.list
+++ b/layout/reftests/first-line/reftest.list
@@ -1,37 +1,37 @@
 # basic functionality
-== basic-1.html basic-ref.html
+fails-if(stylo) == basic-1.html basic-ref.html
 
 # handling of out-of-flows when ::first-line happens
 == out-of-flow-1a.html out-of-flow-1-ref.html
-== out-of-flow-1b.html out-of-flow-1-ref.html
+fails-if(stylo) == out-of-flow-1b.html out-of-flow-1-ref.html
 == out-of-flow-1c.html out-of-flow-1-ref.html
-fails == out-of-flow-1d.html out-of-flow-1-ref.html # bug 396645
+fails fails-if(stylo) == out-of-flow-1d.html out-of-flow-1-ref.html # bug 396645
 
 # parent style context correct
-== parent-style-1.html parent-style-1-ref.html
+fails-if(stylo) == parent-style-1.html parent-style-1-ref.html
 == parent-style-2.html parent-style-2-ref.html
 == parent-style-3.html parent-style-3-ref.html
 
 # stress-tests
-load stress-1.html # assertion test
+skip-if(stylo) load stress-1.html # assertion test
 == stress-2.html stress-2-ref.html # assertion + rendering test
 load stress-3.html # assertion test
 load stress-4.html # assertion/crash test.
 load stress-5.html # assertion/crash test
 load stress-6.html # assertion/crash test
 load stress-7.html # assertion/crash test
 == stress-8.html stress-8-ref.html # assertion/crash test
 == stress-9.html stress-9-ref.html # assertion/crash test
 load stress-10.html # crash test
 == stress-11.xhtml stress-11-ref.xhtml
 
-== border-not-apply.html border-not-apply-ref.html
-== 287088-1.html 287088-1-ref.html
-== 287088-2.html 287088-2-ref.html
-== 403177-1.html 403177-1-ref.html
-== 469227-2.html 469227-2-ref.html
-== 469227-3.html 469227-3-ref.html
+fails-if(stylo) == border-not-apply.html border-not-apply-ref.html
+fails-if(stylo) == 287088-1.html 287088-1-ref.html
+fails-if(stylo) == 287088-2.html 287088-2-ref.html
+fails-if(stylo) == 403177-1.html 403177-1-ref.html
+fails-if(stylo) == 469227-2.html 469227-2-ref.html
+fails-if(stylo) == 469227-3.html 469227-3-ref.html
 
-== restyle-inside-first-line.html restyle-inside-first-line-ref.html
-== font-styles.html font-styles-ref.html
-fuzzy-if(OSX==1010,1,2) == font-styles-nooverflow.html font-styles-ref.html
+fails-if(stylo) == restyle-inside-first-line.html restyle-inside-first-line-ref.html
+fails-if(stylo) == font-styles.html font-styles-ref.html
+fuzzy-if(OSX==1010,1,2) fails-if(stylo) == font-styles-nooverflow.html font-styles-ref.html
--- a/layout/reftests/flexbox/reftest.list
+++ b/layout/reftests/flexbox/reftest.list
@@ -8,21 +8,21 @@
 # Where possible & practical, we should try to address these so we can migrate
 # tests over to the w3c-css directory, so that they can become part of the
 # W3C's test suite.
 
 # SUBDIRECTORY: Reftests for paginated flex containers
 include pagination/reftest.list
 
 # Tests for cross-axis alignment (align-self / align-items properties)
-pref(layout.css.moz-appearance.enabled,true) fails == flexbox-align-self-baseline-horiz-2.xhtml  flexbox-align-self-baseline-horiz-2-ref.xhtml # bug 793456, and possibly others
+pref(layout.css.moz-appearance.enabled,true) fails fails-if(stylo) == flexbox-align-self-baseline-horiz-2.xhtml  flexbox-align-self-baseline-horiz-2-ref.xhtml # bug 793456, and possibly others
 # This one fails on windows R (but not Ru, strangely) and GTK.
 # On Windows R and GTK, the single-line <label> flex item has a different
 # background size in test vs. ref
-fuzzy-if(cocoaWidget,1,2) random-if(winWidget||gtkWidget) skip-if(Android) == flexbox-align-self-baseline-horiz-3.xhtml  flexbox-align-self-baseline-horiz-3-ref.xhtml # XXXdholbert investigate the random-if. The skip-if(Android) is because checkbox/radio appearance:none doesn't work as expected.
+fuzzy-if(cocoaWidget,1,2) random-if(winWidget||gtkWidget) skip-if(Android) fails-if(stylo) == flexbox-align-self-baseline-horiz-3.xhtml  flexbox-align-self-baseline-horiz-3-ref.xhtml # XXXdholbert investigate the random-if. The skip-if(Android) is because checkbox/radio appearance:none doesn't work as expected.
 == flexbox-align-self-baseline-horiz-4.xhtml flexbox-align-self-baseline-horiz-4-ref.xhtml
 
 # Tests for box-sizing on flex containers and flex items.
 == flexbox-box-sizing-on-container-horiz-1.html flexbox-box-sizing-on-container-horiz-1-ref.html
 == flexbox-box-sizing-on-container-vert-1.html flexbox-box-sizing-on-container-vert-1-ref.html
 == flexbox-box-sizing-on-items-horiz-1a.html flexbox-box-sizing-on-items-horiz-1-ref.html
 == flexbox-box-sizing-on-items-horiz-1b.html flexbox-box-sizing-on-items-horiz-1-ref.html
 == flexbox-box-sizing-on-items-vert-1a.html flexbox-box-sizing-on-items-vert-1-ref.html
@@ -38,81 +38,81 @@ fuzzy-if(cocoaWidget,1,2) random-if(winW
 == flexbox-dyn-changePadding-1a.xhtml flexbox-dyn-changePadding-1-ref.xhtml
 == flexbox-dyn-changePadding-1b.xhtml flexbox-dyn-changePadding-1-ref.xhtml
 
 # Tests for dynamic insertions of content into a flex container
 # (with existing [div | span | text] inside the flexbox, and new content
 # inserted adjacent to that existing content.)
 fuzzy-if(skiaContent,3,10) == flexbox-dyn-insertAroundDiv-1.xhtml flexbox-dyn-insertAroundDiv-1-ref.xhtml
 == flexbox-dyn-insertAroundDiv-2.xhtml flexbox-dyn-insertAroundDiv-2-ref.xhtml
-fuzzy-if(skiaContent,3,10) == flexbox-dyn-insertAroundDiv-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
+fuzzy-if(skiaContent,3,10) fails-if(stylo) == flexbox-dyn-insertAroundDiv-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
 
 fuzzy-if(skiaContent,3,10) == flexbox-dyn-insertAroundSpan-1.xhtml flexbox-dyn-insertAroundDiv-1-ref.xhtml
 == flexbox-dyn-insertAroundSpan-2.xhtml flexbox-dyn-insertAroundDiv-2-ref.xhtml
-fuzzy-if(skiaContent,3,10) == flexbox-dyn-insertAroundSpan-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
+fuzzy-if(skiaContent,3,10) fails-if(stylo) == flexbox-dyn-insertAroundSpan-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
 
 == flexbox-dyn-insertAroundText-1.xhtml flexbox-dyn-insertAroundText-1-ref.xhtml
 == flexbox-dyn-insertAroundText-2.xhtml flexbox-dyn-insertAroundText-2-ref.xhtml
 == flexbox-dyn-insertAroundText-3.xhtml flexbox-dyn-insertAroundText-3-ref.xhtml
 
 # Variant of one of the above tests, to regression-test an invalidation issue
 == flexbox-dyn-insertEmptySpan-1.xhtml flexbox-dyn-insertEmptySpan-1-ref.xhtml
 
 # Tests for empty flexboxes (with no flex items)
-== flexbox-empty-1a.xhtml  flexbox-empty-1-ref.xhtml
-== flexbox-empty-1b.xhtml  flexbox-empty-1-ref.xhtml
+fails-if(stylo) == flexbox-empty-1a.xhtml  flexbox-empty-1-ref.xhtml
+fails-if(stylo) == flexbox-empty-1b.xhtml  flexbox-empty-1-ref.xhtml
 == flexbox-empty-container-synthesized-baseline-001.html flexbox-empty-container-synthesized-baseline-001-ref.html
 
 # Tests for handling of floated elements inside a flexbox
 == flexbox-float-1a.xhtml  flexbox-float-1-ref.xhtml
 == flexbox-float-1b.xhtml  flexbox-float-1-ref.xhtml
 == flexbox-float-1c.xhtml  flexbox-float-1-ref.xhtml
 == flexbox-float-1d.xhtml  flexbox-float-1-ref.xhtml
 == flexbox-float-2a.xhtml  flexbox-float-2-ref.xhtml
 == flexbox-float-2b.xhtml  flexbox-float-2-ref.xhtml
 
 # Tests for the order in which we paint flex items
-fails == flexbox-paint-ordering-3.html  flexbox-paint-ordering-3-ref.html # bug 874718
+fails-if(!stylo) == flexbox-paint-ordering-3.html  flexbox-paint-ordering-3-ref.html # bug 874718
 
 # Tests for handling of absolutely/fixed/relatively-positioned flex items.
 == flexbox-position-absolute-1.xhtml  flexbox-position-absolute-1-ref.xhtml
 == flexbox-position-absolute-2.xhtml  flexbox-position-absolute-2-ref.xhtml
 == flexbox-position-absolute-3.xhtml  flexbox-position-absolute-3-ref.xhtml
 == flexbox-position-absolute-4.xhtml  flexbox-position-absolute-4-ref.xhtml
 == flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
 fuzzy-if(Android,16,400) == flexbox-position-fixed-1.xhtml     flexbox-position-fixed-1-ref.xhtml
 fuzzy-if(Android,16,400) == flexbox-position-fixed-2.xhtml     flexbox-position-fixed-2-ref.xhtml
 == flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
 == flexbox-position-fixed-4.xhtml     flexbox-position-fixed-4-ref.xhtml
 
 # Tests for inline content in a flexbox that gets wrapped in an anonymous block
-fails == flexbox-inlinecontent-horiz-1a.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml # reference case rendering is incorrect; bug 858333
-fails == flexbox-inlinecontent-horiz-1b.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml # reference case rendering is incorrect; bug 858333
+fails-if(!stylo) == flexbox-inlinecontent-horiz-1a.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml # reference case rendering is incorrect; bug 858333
+fails-if(!stylo) == flexbox-inlinecontent-horiz-1b.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml # reference case rendering is incorrect; bug 858333
 == flexbox-inlinecontent-horiz-2.xhtml  flexbox-inlinecontent-horiz-2-ref.xhtml
 == flexbox-inlinecontent-horiz-3a.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
 == flexbox-inlinecontent-horiz-3b.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
 == flexbox-inlinecontent-horiz-3c.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
 == flexbox-inlinecontent-horiz-4.xhtml  flexbox-inlinecontent-horiz-4-ref.xhtml
 == flexbox-inlinecontent-horiz-5.xhtml  flexbox-inlinecontent-horiz-5-ref.xhtml
 
 # Tests for intrinsic sizing of flexboxes
-== flexbox-intrinsic-sizing-horiz-1a.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
-== flexbox-intrinsic-sizing-horiz-1b.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
-== flexbox-intrinsic-sizing-horiz-2a.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
-== flexbox-intrinsic-sizing-horiz-2b.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
+fails-if(stylo) == flexbox-intrinsic-sizing-horiz-1a.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
+fails-if(stylo) == flexbox-intrinsic-sizing-horiz-1b.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
+fails-if(stylo) == flexbox-intrinsic-sizing-horiz-2a.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
+fails-if(stylo) == flexbox-intrinsic-sizing-horiz-2b.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
 
 # Tests for invalidation after dynamic modifications
 == flexbox-invalidation-1.html flexbox-invalidation-1-ref.html
 
 # Tests for flexbox in an iframe that gets resized.
-fuzzy-if(skiaContent,1,5) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml
+fuzzy-if(skiaContent,1,5) fails-if(stylo) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml
 
 # Tests for flexbox styling on things that don't support it
 == flexbox-styling-on-svg-1.svg flexbox-styling-on-svg-1-ref.svg
 
 # Tests with widgets as flex items
-fuzzy-if(gtkWidget,1,66) == flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
-fuzzy-if(gtkWidget,1,74) == flexbox-widget-flex-items-2.html flexbox-widget-flex-items-2-ref.html
+fuzzy-if(gtkWidget,1,66) fails-if(stylo) == flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
+fuzzy-if(gtkWidget,1,74) fails-if(stylo) == flexbox-widget-flex-items-2.html flexbox-widget-flex-items-2-ref.html
 skip-if(gtkWidget) == flexbox-widget-flex-items-3.html flexbox-widget-flex-items-3-ref.html # bug 1260965
-fuzzy-if(gtkWidget,1,31) == flexbox-widget-flex-items-4.html flexbox-widget-flex-items-4-ref.html
+fuzzy-if(gtkWidget,1,31) fails-if(stylo) == flexbox-widget-flex-items-4.html flexbox-widget-flex-items-4-ref.html
 
 # Tests for table flex items
 == flexbox-table-flex-items-1.html flexbox-table-flex-items-1-ref.html
--- a/layout/reftests/floats/reftest.list
+++ b/layout/reftests/floats/reftest.list
@@ -1,58 +1,58 @@
 == border-box-wrap-around-float.html border-box-wrap-around-float-ref.html
 == other-float-outside-rule-3-left.html other-float-outside-rule-3-left-ref.html
 == other-float-outside-rule-3-right.html other-float-outside-rule-3-right-ref.html
-fails == other-float-outside-rule-3-left-2.html other-float-outside-rule-3-left-2-ref.html # bug 616334
-fails == other-float-outside-rule-3-right-2.html other-float-outside-rule-3-right-2-ref.html # bug 616334
-fails == other-float-outside-rule-7-left.html other-float-outside-rule-7-left-ref.html # bug 616334
-fails == other-float-outside-rule-7-right.html other-float-outside-rule-7-right-ref.html # bug 616334
-fuzzy-if(gtkWidget,1,10) == float-outside-block-push.html float-outside-block-push-ref.html # bug 815612
+fails-if(!stylo) == other-float-outside-rule-3-left-2.html other-float-outside-rule-3-left-2-ref.html # bug 616334
+fails-if(!stylo) == other-float-outside-rule-3-right-2.html other-float-outside-rule-3-right-2-ref.html # bug 616334
+fails-if(!stylo) == other-float-outside-rule-7-left.html other-float-outside-rule-7-left-ref.html # bug 616334
+fails-if(!stylo) == other-float-outside-rule-7-right.html other-float-outside-rule-7-right-ref.html # bug 616334
+fuzzy-if(gtkWidget,1,10) fails-if(stylo) == float-outside-block-push.html float-outside-block-push-ref.html # bug 815612
 == relative-float-1.html relative-float-1-ref.html
 == relative-float-2.html relative-float-2-ref.html
 == zero-height-float-base.html zero-height-float-ref.html
-fails == zero-height-float.html zero-height-float-ref.html # bug 81710
+fails-if(!stylo) == zero-height-float.html zero-height-float-ref.html # bug 81710
 == 345369-1.html 345369-1-ref.html
-fails == 345369-2.html 345369-2-ref.html
+fails-if(!stylo) == 345369-2.html 345369-2-ref.html
 == 345369-3.html 345369-3-ref.html
 == 345369-4.html 345369-4-ref.html
 == 345369-5.html 345369-5-ref.html
 == 429974-1.html 429974-1-ref.html
 == 478834-1.html 478834-1-ref.html
 == 546048-1.html 546048-1-ref.html
 == 775350-1.html 775350-1-ref.html
 == 1114329.html 1114329-ref.html
 == 1236745-1.html 1236745-1-ref.html
-== 1260031-1.html?display:table 1260031-1-ref.html
-== 1260031-1.html?display:table-cell 1260031-1-ref.html
-== 1260031-1.html?overflow:hidden 1260031-1-ref.html
+fails-if(stylo) == 1260031-1.html?display:table 1260031-1-ref.html
+fails-if(stylo) == 1260031-1.html?display:table-cell 1260031-1-ref.html
+fails-if(stylo) == 1260031-1.html?overflow:hidden 1260031-1-ref.html
 == 1291110-1.html 1291110-1-ref.html
 == 1291110-2.html 1291110-2-ref.html
-== 1322843-1a.html 1322843-1-ref.html
-== 1322843-1b.html 1322843-1-ref.html
-== 1322843-1c.html 1322843-1-ref.html
-== 1322843-1d.html 1322843-1-ref.html
-== 1322843-1e.html 1322843-1-ref.html
-== 1322843-1f.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1a.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1b.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1c.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1d.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1e.html 1322843-1-ref.html
+fails-if(stylo) == 1322843-1f.html 1322843-1-ref.html
 == float-in-rtl-1a.html float-in-rtl-1-ref.html
 fuzzy-if(skiaContent,1,27000) == float-in-rtl-1b.html float-in-rtl-1-ref.html
 fuzzy-if(skiaContent,1,27000) == float-in-rtl-1c.html float-in-rtl-1-ref.html
 fuzzy-if(skiaContent,1,27000) == float-in-rtl-1d.html float-in-rtl-1-ref.html
 == float-in-rtl-2a.html float-in-rtl-2-ref.html
 fuzzy-if(skiaContent,1,12000) == float-in-rtl-2b.html float-in-rtl-2-ref.html
 fuzzy-if(skiaContent,1,12000) == float-in-rtl-2c.html float-in-rtl-2-ref.html
-fuzzy-if(skiaContent,1,12000) == float-in-rtl-2d.html float-in-rtl-2-ref.html
+fuzzy-if(skiaContent,1,12000) fails-if(stylo) == float-in-rtl-2d.html float-in-rtl-2-ref.html
 == float-in-rtl-3a.html float-in-rtl-3-ref.html
 fuzzy-if(skiaContent,1,27000) == float-in-rtl-3b.html float-in-rtl-3-ref.html
 fuzzy-if(skiaContent,1,27000) == float-in-rtl-3c.html float-in-rtl-3-ref.html
-fuzzy-if(skiaContent,1,27000) == float-in-rtl-3d.html float-in-rtl-3-ref.html
+fuzzy-if(skiaContent,1,27000) fails-if(stylo) == float-in-rtl-3d.html float-in-rtl-3-ref.html
 == float-in-rtl-4a.html float-in-rtl-4-ref.html
 fuzzy-if(skiaContent,1,12000) == float-in-rtl-4b.html float-in-rtl-4-ref.html
 fuzzy-if(skiaContent,1,12000) == float-in-rtl-4c.html float-in-rtl-4-ref.html
-fuzzy-if(skiaContent,1,12000) == float-in-rtl-4d.html float-in-rtl-4-ref.html
+fuzzy-if(skiaContent,1,12000) fails-if(stylo) == float-in-rtl-4d.html float-in-rtl-4-ref.html
 
 == bfc-displace-1a.html bfc-displace-1a-ref.html
 == bfc-displace-1b.html bfc-displace-1b-ref.html
 == bfc-displace-2a.html bfc-displace-2a-ref.html
 == bfc-displace-2b.html bfc-displace-2b-ref.html
 == bfc-displace-3a.html bfc-displace-3a-ref.html
 == bfc-displace-3b.html bfc-displace-3b-ref.html
 == bfc-displace-4.html bfc-displace-4-ref.html
@@ -61,41 +61,41 @@ fuzzy-if(skiaContent,1,12000) == float-i
 # Testcases that involve vertical writing mode.
 == float-in-rtl-vlr-1a.html float-in-rtl-vlr-1-ref.html
 == float-in-rtl-vlr-1b.html float-in-rtl-vlr-1-ref.html
 == float-in-rtl-vlr-1c.html float-in-rtl-vlr-1-ref.html
 == float-in-rtl-vlr-1d.html float-in-rtl-vlr-1-ref.html
 == float-in-rtl-vlr-2a.html float-in-rtl-vlr-2-ref.html
 == float-in-rtl-vlr-2b.html float-in-rtl-vlr-2-ref.html
 == float-in-rtl-vlr-2c.html float-in-rtl-vlr-2-ref.html
-== float-in-rtl-vlr-2d.html float-in-rtl-vlr-2-ref.html
+fails-if(stylo) == float-in-rtl-vlr-2d.html float-in-rtl-vlr-2-ref.html
 == float-in-rtl-vlr-3a.html float-in-rtl-vlr-3-ref.html
 == float-in-rtl-vlr-3b.html float-in-rtl-vlr-3-ref.html
 == float-in-rtl-vlr-3c.html float-in-rtl-vlr-3-ref.html
-== float-in-rtl-vlr-3d.html float-in-rtl-vlr-3-ref.html
+fails-if(stylo) == float-in-rtl-vlr-3d.html float-in-rtl-vlr-3-ref.html
 == float-in-rtl-vlr-4a.html float-in-rtl-vlr-4-ref.html
 == float-in-rtl-vlr-4b.html float-in-rtl-vlr-4-ref.html
 == float-in-rtl-vlr-4c.html float-in-rtl-vlr-4-ref.html
-== float-in-rtl-vlr-4d.html float-in-rtl-vlr-4-ref.html
+fails-if(stylo) == float-in-rtl-vlr-4d.html float-in-rtl-vlr-4-ref.html
 == float-in-rtl-vrl-1a.html float-in-rtl-vrl-1-ref.html
 == float-in-rtl-vrl-1b.html float-in-rtl-vrl-1-ref.html
 == float-in-rtl-vrl-1c.html float-in-rtl-vrl-1-ref.html
 == float-in-rtl-vrl-1d.html float-in-rtl-vrl-1-ref.html
 == float-in-rtl-vrl-2a.html float-in-rtl-vrl-2-ref.html
 == float-in-rtl-vrl-2b.html float-in-rtl-vrl-2-ref.html
 == float-in-rtl-vrl-2c.html float-in-rtl-vrl-2-ref.html
-== float-in-rtl-vrl-2d.html float-in-rtl-vrl-2-ref.html
+fails-if(stylo) == float-in-rtl-vrl-2d.html float-in-rtl-vrl-2-ref.html
 == float-in-rtl-vrl-3a.html float-in-rtl-vrl-3-ref.html
 == float-in-rtl-vrl-3b.html float-in-rtl-vrl-3-ref.html
 == float-in-rtl-vrl-3c.html float-in-rtl-vrl-3-ref.html
-== float-in-rtl-vrl-3d.html float-in-rtl-vrl-3-ref.html
+fails-if(stylo) == float-in-rtl-vrl-3d.html float-in-rtl-vrl-3-ref.html
 == float-in-rtl-vrl-4a.html float-in-rtl-vrl-4-ref.html
 == float-in-rtl-vrl-4b.html float-in-rtl-vrl-4-ref.html
 == float-in-rtl-vrl-4c.html float-in-rtl-vrl-4-ref.html
-== float-in-rtl-vrl-4d.html float-in-rtl-vrl-4-ref.html
+fails-if(stylo) == float-in-rtl-vrl-4d.html float-in-rtl-vrl-4-ref.html
 fuzzy-if(OSX==1010,28,7) fuzzy-if(Android,16,2) == orthogonal-floats-1a.html orthogonal-floats-1-ref.html
 fuzzy-if(OSX==1010,28,7) == orthogonal-floats-1b.html orthogonal-floats-1-ref.html
 fuzzy-if(OSX==1010,103,802) fuzzy-if(winWidget,135,700) HTTP(..) == orthogonal-floats-1c.html orthogonal-floats-1-ref.html
 fuzzy-if(OSX==1010,103,802) fuzzy-if(winWidget,135,700) HTTP(..) == orthogonal-floats-1d.html orthogonal-floats-1-ref.html
 
 pref(layout.css.float-logical-values.enabled,true) == logical-float-side-1.html logical-float-side-1-ref.html
 pref(layout.css.float-logical-values.enabled,true) == logical-float-side-2.html logical-float-side-2-ref.html
 pref(layout.css.float-logical-values.enabled,true) == logical-float-side-3.html logical-float-side-3-ref.html
@@ -103,17 +103,17 @@ pref(layout.css.float-logical-values.ena
 
 == float-in-rtl-slr-1a.html float-in-rtl-slr-1-ref.html
 == float-in-rtl-slr-1b.html float-in-rtl-slr-1-ref.html
 == float-in-rtl-slr-1c.html float-in-rtl-slr-1-ref.html
 == float-in-rtl-slr-1d.html float-in-rtl-slr-1-ref.html
 == float-in-rtl-slr-2a.html float-in-rtl-slr-2-ref.html
 == float-in-rtl-slr-2b.html float-in-rtl-slr-2-ref.html
 == float-in-rtl-slr-2c.html float-in-rtl-slr-2-ref.html
-== float-in-rtl-slr-2d.html float-in-rtl-slr-2-ref.html
+fails-if(stylo) == float-in-rtl-slr-2d.html float-in-rtl-slr-2-ref.html
 == float-in-rtl-slr-3a.html float-in-rtl-slr-3-ref.html
 == float-in-rtl-slr-3b.html float-in-rtl-slr-3-ref.html
 == float-in-rtl-slr-3c.html float-in-rtl-slr-3-ref.html
-== float-in-rtl-slr-3d.html float-in-rtl-slr-3-ref.html
+fails-if(stylo) == float-in-rtl-slr-3d.html float-in-rtl-slr-3-ref.html
 == float-in-rtl-slr-4a.html float-in-rtl-slr-4-ref.html
 == float-in-rtl-slr-4b.html float-in-rtl-slr-4-ref.html
 == float-in-rtl-slr-4c.html float-in-rtl-slr-4-ref.html
-== float-in-rtl-slr-4d.html float-in-rtl-slr-4-ref.html
+fails-if(stylo) == float-in-rtl-slr-4d.html float-in-rtl-slr-4-ref.html
--- a/layout/reftests/font-face/reftest.list
+++ b/layout/reftests/font-face/reftest.list
@@ -2,24 +2,24 @@
 # ../fonts/.  We can't use file:/// URLs because of cross-directory access
 # restrictions on file: URLs.
 
 HTTP(..) != download-1.html download-1-notref.html
 HTTP(..) == download-2.html download-2-ref.html
 HTTP(..) != download-2.html about:blank
 random-if(winWidget||gtkWidget) HTTP(..) == download-2-big.html download-2-big-otf.html # bug 470713
 HTTP(..) != download-2-big-otf.html about:blank
-asserts-if(Android&&!asyncPan,1-8) HTTP(..) != download-3-notref.html download-3.html # bug 1019192
-asserts-if(Android,0-8) HTTP(..) == download-3-ref.html download-3.html # same bugs as above
+asserts-if(Android&&!asyncPan,1-8) fails-if(stylo) HTTP(..) != download-3-notref.html download-3.html # bug 1019192
+asserts-if(Android,0-8) fails-if(stylo) HTTP(..) == download-3-ref.html download-3.html # same bugs as above
 asserts-if(Android,0-8) HTTP(..) == fallback-to-system-1.html fallback-to-system-1-ref.html # just delayed assertions from above tests
 HTTP(..) == name-override-simple-1.html name-override-simple-1-ref.html
 HTTP(..) != name-override-simple-1.html download-1-notref.html
-fails HTTP(..) == name-override-1.html name-override-1-ref.html
-HTTP(..) == multiple-descriptor-1.html multiple-descriptor-1-ref.html
-HTTP(..) != multiple-descriptor-1.html multiple-descriptor-1-notref.html
+fails-if(!stylo) HTTP(..) == name-override-1.html name-override-1-ref.html
+fails-if(stylo) HTTP(..) == multiple-descriptor-1.html multiple-descriptor-1-ref.html
+fails-if(stylo) HTTP(..) != multiple-descriptor-1.html multiple-descriptor-1-notref.html
 HTTP(..) == src-list-1.html src-list-1-ref.html
 HTTP(..) == src-list-2.html src-list-2-ref.html
 random-if(winWidget||gtkWidget) HTTP(..) == src-list-2-big-otf.html src-list-2-big-ref.html # bug 470713
 HTTP(..) == src-list-format-1.html src-list-format-1-ref.html
 HTTP(..) == src-list-format-2.html src-list-format-2-ref.html
 HTTP(..) == src-list-format-3.html src-list-format-3-ref.html
 HTTP(..) == src-list-format-4.html src-list-format-1-ref.html
 HTTP(..) == src-list-format-5.html src-list-format-2-ref.html
@@ -53,60 +53,60 @@ HTTP(..) == order-1.html order-1-ref.htm
 HTTP(..) == order-2.html order-2-ref.html
 HTTP(..) == order-3.html order-3-ref.html
 HTTP(..) == multiple-in-family-1.html multiple-in-family-1-ref.html
 HTTP(..) == multiple-in-family-1b.html multiple-in-family-1-ref.html
 HTTP(..) != multiple-in-family-1.html multiple-in-family-1-notref.html
 HTTP(..) == prop-order-over-rule-order-1a.html prop-order-over-rule-order-2a.html
 HTTP(..) == prop-order-over-rule-order-1b.html prop-order-over-rule-order-2b.html
 HTTP(..) != prop-order-over-rule-order-1a.html prop-order-over-rule-order-1b.html
-HTTP(..) == cross-iframe-1.html cross-iframe-1-ref.html
+fails-if(stylo) HTTP(..) == cross-iframe-1.html cross-iframe-1-ref.html
 
 # unicode-range
 HTTP(..) == unicoderange-1.html unicoderange-1-ref.html
 HTTP(..) == unicoderange-2.html unicoderange-2-ref.html
 HTTP(..) == unicoderange-3.html unicoderange-3-ref.html
 HTTP(..) == unicoderange-4.html unicoderange-4-ref.html
 
 # Dynamic changes
 # we need to skip these because of the bug that's causing order-2.html to fail
-HTTP(..) == enable-sheet-1.html enable-sheet-1-ref.html
-skip HTTP(..) == enable-sheet-2.html multiple-in-family-1-ref.html
+skip-if(stylo) HTTP(..) == enable-sheet-1.html enable-sheet-1-ref.html
+skip skip-if(stylo) HTTP(..) == enable-sheet-2.html multiple-in-family-1-ref.html
 skip HTTP(..) == enable-sheet-3.html multiple-in-family-1-ref.html
 HTTP(..) == enable-sheet-4.html enable-sheet-4-ref.html
-HTTP(..) == enable-sheet-5.html enable-sheet-4-ref.html
+skip-if(stylo) HTTP(..) == enable-sheet-5.html enable-sheet-4-ref.html
 skip HTTP(..) == enable-sheet-6.html multiple-in-family-1-ref.html
 skip HTTP(..) == enable-sheet-7.html multiple-in-family-1-ref.html
-HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html
+fails-if(stylo) HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html
 # We're missing disable-sheet-{2,3,6,7} (analogs to
 # enable-sheet{2,3,6,7}) because I don't know how to detect test
 # completion for those cases.
 HTTP(..) == disable-sheet-4.html disable-sheet-4-ref.html
-HTTP(..) == disable-sheet-5.html disable-sheet-4-ref.html
+skip-if(stylo) HTTP(..) == disable-sheet-5.html disable-sheet-4-ref.html
 HTTP(..) == sheet-set-base-1.html sheet-set-base-1-ref.html
-random-if(cocoaWidget) HTTP(..) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217
-HTTP(..) == insert-rule-1a.html insert-rule-1-ref.html
-HTTP(..) == insert-rule-1b.html insert-rule-1-ref.html
-HTTP(..) == delete-rule-1.html delete-rule-1-ref.html
-HTTP(..) == media-query-add-1.html media-query-add-1-ref.html
-HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html
+random-if(cocoaWidget) skip-if(stylo) HTTP(..) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217
+skip-if(stylo) HTTP(..) == insert-rule-1a.html insert-rule-1-ref.html
+skip-if(stylo) HTTP(..) == insert-rule-1b.html insert-rule-1-ref.html
+skip-if(stylo) HTTP(..) == delete-rule-1.html delete-rule-1-ref.html
+random-if(stylo) HTTP(..) == media-query-add-1.html media-query-add-1-ref.html
+fails-if(stylo) HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html
 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(stylo) HTTP(..) == ex-unit-1.html ex-unit-1-ref.html
+skip-if(stylo) 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
+fails-if(stylo) HTTP(..) == synthetic-variations.html synthetic-variations-ref.html
 
 # Leak test
-HTTP(..) load 486974-1.html
+skip-if(stylo) HTTP(..) load 486974-1.html
 
 # compare fonts with and without bad head checksum
 HTTP(..) == load-badchecksum.html load-badchecksum-ref.html
 
 # @font-face names take precedence over names of platform fonts (bug 494360)
 HTTP(..) == name-collision.html name-collision-ref.html
 HTTP(..) == name-collision-bad-url.html name-collision-bad-url-ref.html
 
@@ -126,19 +126,19 @@ HTTP(..) == 507960-1-bad-checksums-woff.
 # try versions that should NOT load (bad offsets, signatures, hint)
 HTTP(..) != 507960-1-bad-sfnt-version-ttf.html 507960-1-ref.html
 HTTP(..) != 507960-1-bad-sfnt-version-woff.html 507960-1-ref.html
 HTTP(..) != 507960-1-bad-woff-sig.html 507960-1-ref.html
 HTTP(..) != 507960-1-bad-offset-woff.html 507960-1-ref.html
 HTTP(..) != 507960-1-woff-bad-hint.html 507960-1-ref.html
 
 # Tests for bug 523717
-HTTP(..) == underline-offset-change-1.html underline-offset-change-1-ref.html
-HTTP(..) == underline-offset-change-2.html underline-offset-change-2-ref.html
-fails-if(cocoaWidget) fails-if(winWidget) HTTP(..) != underline-offset-change-1-ref.html underline-offset-change-2-ref.html # Bug 534132
+skip-if(stylo) HTTP(..) == underline-offset-change-1.html underline-offset-change-1-ref.html
+skip-if(stylo) HTTP(..) == underline-offset-change-2.html underline-offset-change-2-ref.html
+fails-if(cocoaWidget) fails-if(winWidget) fails-if(stylo) HTTP(..) != underline-offset-change-1-ref.html underline-offset-change-2-ref.html # Bug 534132
 
 HTTP(..) != 534352-1-extra-cmap-sentinel.html 534352-1-extra-cmap-sentinel-ref.html
 HTTP(..) == bug533251.html bug533251-ref.html
 
 # Bug 875287
 HTTP(..) == font-familiy-whitespace-1.html font-familiy-whitespace-1-ref.html
 HTTP(..) != font-familiy-whitespace-1.html font-familiy-whitespace-1-notref.html
 
--- a/layout/reftests/font-features/reftest.list
+++ b/layout/reftests/font-features/reftest.list
@@ -3,118 +3,118 @@
 # These rely on the Linux Libertine font (loaded via @font-face)
 # to ensure that features are present.
 
 # check that Turkish language causes a change in rendering (no fi ligature)
 # (also works via Pango)
 HTTP(..) != font-features-turkish.html font-features-ref.html
 
 # check that disabling ligatures causes a change
-HTTP(..) != font-features-noliga.html font-features-ref.html
+fails-if(stylo) HTTP(..) != font-features-noliga.html font-features-ref.html
 
 # check that enabling optional ligatures causes a change
-HTTP(..) != font-features-hlig.html font-features-ref.html
+fails-if(stylo) HTTP(..) != font-features-hlig.html font-features-ref.html
 
 # compare Turkish rendering with reference using ZWNJ to break the ligature
 HTTP(..) == font-features-turkish.html font-features-turkish-ref.html
 
 # compare Turkish rendering with explicitly disabled ligatures
 HTTP(..) == font-features-turkish.html font-features-noliga.html
 
 # The following should pass even if feature support isn't available,
 # because both testcase and reference will have the default rendering,
 # though they're not really meaningful unless the tests above passed already.
 
 # compare feature specified within @font-face to same feature in style rule
-HTTP(..) == font-features-hlig-2.html font-features-hlig.html
-HTTP(..) == font-features-hlig-4.html font-features-hlig.html
+fails-if(stylo) HTTP(..) == font-features-hlig-2.html font-features-hlig.html
+fails-if(stylo) HTTP(..) == font-features-hlig-4.html font-features-hlig.html
 HTTP(..) != font-features-hlig-5.html font-features-hlig.html
 HTTP(..) == font-features-ligatures-none.html font-features-noliga.html
 
 # check that feature in style rule overrides @font-face
-HTTP(..) == font-features-hlig-3.html font-features-noliga.html
+fails-if(stylo) HTTP(..) == font-features-hlig-3.html font-features-noliga.html
 
 # compare font-language-override rendering to lang-tagged rendering
 HTTP(..) == font-features-turkish-override-1.html font-features-turkish.html
-HTTP(..) == font-features-turkish-override-2.html font-features-turkish.html
+fails-if(stylo) HTTP(..) == font-features-turkish-override-2.html font-features-turkish.html
 
 # check use of font-language-override to override explicit lang tag
 HTTP(..) == font-features-turkish-override-3.html font-features-ref.html
-HTTP(..) == font-features-turkish-override-4.html font-features-ref.html
+fails-if(stylo) HTTP(..) == font-features-turkish-override-4.html font-features-ref.html
 HTTP(..) == font-features-turkish-override-5.html font-features-turkish.html
 
 # check that last value wins if a feature is repeated
 HTTP(..) == font-features-order-1.html font-features-ref.html
-HTTP(..) == font-features-order-2.html font-features-noliga.html
+fails-if(stylo) HTTP(..) == font-features-order-2.html font-features-noliga.html
 
 # check priority of feature settings vs. font-variant subproperty
-HTTP(..) == font-features-order-3.html font-features-noliga.html
+fails-if(stylo) HTTP(..) == font-features-order-3.html font-features-noliga.html
 HTTP(..) == font-features-order-4.html font-features-noliga.html
-HTTP(..) == font-features-order-5.html font-features-hlig.html
+fails-if(stylo) HTTP(..) == font-features-order-5.html font-features-hlig.html
 
 # check priority involving feature settings and font-variant-alternates
-HTTP(..) == alternates-order.html alternates-order-ref.html
+fails-if(stylo) HTTP(..) == alternates-order.html alternates-order-ref.html
 
 # check that font-specific values line up with @font-face feature settings
-HTTP(..) == annotations.html annotations-ref.html
+fails-if(stylo) HTTP(..) == annotations.html annotations-ref.html
 
 # font-variant subproperties
 # test for specific features being on and others off, based on prop values
 # (debug problems with font-variant-debug.html which displays all props)
-HTTP(..) == font-variant-alternates.html font-variant-alternates-ref.html
-HTTP(..) == font-variant-caps.html font-variant-caps-ref.html
+fails-if(stylo) HTTP(..) == font-variant-alternates.html font-variant-alternates-ref.html
+fails-if(stylo) HTTP(..) == font-variant-caps.html font-variant-caps-ref.html
 HTTP(..) == font-variant-east-asian.html font-variant-east-asian-ref.html
 HTTP(..) == font-variant-ligatures.html font-variant-ligatures-ref.html
 HTTP(..) == font-variant-numeric.html font-variant-numeric-ref.html
 HTTP(..) == font-variant-position.html font-variant-position-ref.html
 
 # font-kerning
 HTTP(..) != font-kerning-normal.html font-kerning-none.html
 HTTP(..) != font-kerning-auto.html font-kerning-none.html
 HTTP(..) == font-kerning-auto.html font-kerning-normal.html
 HTTP(..) == font-kerning-normal.html font-kerning-kern.html
 HTTP(..) == font-kerning-none.html font-kerning-nokern.html
-HTTP(..) == font-kerning-1.html font-kerning-none.html
-HTTP(..) == font-kerning-2.html font-kerning-normal.html
-HTTP(..) == font-kerning-3.html font-kerning-none.html
+fails-if(stylo) HTTP(..) == font-kerning-1.html font-kerning-none.html
+fails-if(stylo) HTTP(..) == font-kerning-2.html font-kerning-normal.html
+fails-if(stylo) HTTP(..) == font-kerning-3.html font-kerning-none.html
 HTTP(..) != font-kerning-table-none.html font-kerning-table-normal.html
 
 # sanity check for kerning - with no spaces, kerning should occur
 HTTP(..) == kerning-sanity-check-kern.html kerning-sanity-check-default.html
-HTTP(..) != kerning-sanity-check-nokern.html kerning-sanity-check-default.html
+fails-if(stylo) HTTP(..) != kerning-sanity-check-nokern.html kerning-sanity-check-default.html
 
 # OpenType features should work across inter-word spaces
 HTTP(..) == font-features-across-space-1.html font-features-across-space-1-ref.html
-HTTP(..) == spacelookups.html spacelookups-ref.html
+fails-if(stylo) HTTP(..) == spacelookups.html spacelookups-ref.html
 # tests whether word cache is in use by testing for ignored space kerns
-HTTP(..) == spacelookups-wordcache.html spacelookups-wordcache-ref.html
+fails-if(stylo) HTTP(..) == spacelookups-wordcache.html spacelookups-wordcache-ref.html
 # requires Japanese font with feature support, WinXP lacks one
 random-if(!winWidget&&!cocoaWidget) HTTP(..) == fwid-spaces.html fwid-spaces-ref.html
 # Arial/Times New Roman on Win7+/OSX 10.6+ have kerning pairs that include spaces
 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) HTTP(..) != kerning-spaces-arial-nokern.html kerning-spaces-arial-default.html
-random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) HTTP(..) == kerning-spaces-arial-kern.html kerning-spaces-arial-default.html
+random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) fails-if(stylo) HTTP(..) == kerning-spaces-arial-kern.html kerning-spaces-arial-default.html
 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) HTTP(..) != kerning-spaces-tnr-nokern.html kerning-spaces-tnr-default.html
-random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) HTTP(..) == kerning-spaces-tnr-kern.html kerning-spaces-tnr-default.html
+random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) fails-if(stylo) HTTP(..) == kerning-spaces-tnr-kern.html kerning-spaces-tnr-default.html
 
 # font-variant-caps fallback
 # -- sanity check - none of these should look like the default rendering
 HTTP(..) != caps-fallback-smallcaps1.html caps-fallback-default.html
 HTTP(..) != caps-fallback-smallcaps2.html caps-fallback-default.html
 HTTP(..) != caps-fallback-petitecaps.html caps-fallback-default.html
-HTTP(..) != caps-fallback-allsmallcaps.html caps-fallback-default.html
-HTTP(..) != caps-fallback-allpetitecaps.html caps-fallback-default.html
+fails-if(stylo) HTTP(..) != caps-fallback-allsmallcaps.html caps-fallback-default.html
+fails-if(stylo) HTTP(..) != caps-fallback-allpetitecaps.html caps-fallback-default.html
 # -- normal or fallback rendering
 HTTP(..) == caps-fallback-smallcaps1.html caps-fallback-smcp.html
 HTTP(..) == caps-fallback-smallcaps2.html caps-fallback-smcp.html
 HTTP(..) == caps-fallback-petitecaps.html caps-fallback-smcp.html
-HTTP(..) == caps-fallback-allsmallcaps.html caps-fallback-smcpc2sc.html
-HTTP(..) == caps-fallback-allpetitecaps.html caps-fallback-smcpc2sc.html
+fails-if(stylo) HTTP(..) == caps-fallback-allsmallcaps.html caps-fallback-smcpc2sc.html
+fails-if(stylo) HTTP(..) == caps-fallback-allpetitecaps.html caps-fallback-smcpc2sc.html
 
 # font-variant-position fallback
 random-if(cocoaWidget||Android) HTTP(..) == subsuper-fallback.html subsuper-fallback-ref.html # bug 1139269
 HTTP(..) != subsuper-fallback.html subsuper-fallback-notref1.html
 HTTP(..) != subsuper-fallback.html subsuper-fallback-notref2.html
 HTTP(..) != subsuper-fallback.html subsuper-fallback-notref3.html
 HTTP(..) != subsuper-fallback-omega.html subsuper-fallback-omega-notref.html
 HTTP(..) == subsuper-nofallback.html subsuper-nofallback-ref1.html
 random-if(cocoaWidget) HTTP(..) == subsuper-nofallback.html subsuper-nofallback-ref2.html # bug 1139269
 HTTP(..) != subsuper-nofallback.html subsuper-nofallback-notref.html
-HTTP(..) == subsuper-fallback-size.html subsuper-fallback-size-ref.html
+fails-if(stylo) HTTP(..) == subsuper-fallback-size.html subsuper-fallback-size-ref.html
--- a/layout/reftests/font-inflation/reftest.list
+++ b/layout/reftests/font-inflation/reftest.list
@@ -21,91 +21,91 @@ 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) == height-constraint-percent-3.html height-constraint-percent-3-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == height-constraint-percent-4.html height-constraint-percent-4-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == height-constraint-percent-5.html height-constraint-percent-5-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == height-constraint-percent-6.html height-constraint-percent-6-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == height-constraint-percent-7.html height-constraint-percent-7-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == height-constraint-percent-8.html height-constraint-percent-8-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == decoration-1.html decoration-1-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == bullet-1.html bullet-1-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-1-height.html input-text-1-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-1-noheight.html input-text-1-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-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) fails-if(stylo) == input-text-1-height.html input-text-1-height-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == input-text-1-noheight.html input-text-1-noheight-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == 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) fails-if(stylo) == 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) fails-if(stylo) == 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) fails-if(stylo) == 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) fails-if(stylo) == 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) fails-if(stylo) == 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) fails-if(stylo) == 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
-fuzzy-if(asyncPan&&!layersGPUAccelerated,102,1764) 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) 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
+fuzzy-if(asyncPan&&!layersGPUAccelerated,102,1764) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == 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(stylo) 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) fails-if(stylo) 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) fails-if(stylo) 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) fails-if(stylo) 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) fails-if(stylo) 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
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2a.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-2b.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-2c.html intrinsic-fit-1c-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-listbox-1.html select-listbox-1-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-listbox-1.html select-listbox-1.html
-fuzzy-if(skiaContent,4,2) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-combobox-1.html select-combobox-1-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-combobox-1.html select-combobox-1.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-listbox-2.html select-listbox-2-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-listbox-2.html select-listbox-2.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-combobox-2.html select-combobox-2-ref.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-combobox-2.html select-combobox-2.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-combobox-3.html select-combobox-3-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == select-listbox-1.html select-listbox-1-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) != select-listbox-1.html select-listbox-1.html
+fuzzy-if(skiaContent,4,2) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == select-combobox-1.html select-combobox-1-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) != select-combobox-1.html select-combobox-1.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == select-listbox-2.html select-listbox-2-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) != select-listbox-2.html select-listbox-2.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == select-combobox-2.html select-combobox-2-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) != select-combobox-2.html select-combobox-2.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) fails-if(stylo) == select-combobox-3.html select-combobox-3-ref.html
 asserts-if(gtkWidget,0-4) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != input-checkbox.html input-checkbox.html
 asserts-if(gtkWidget,0-4) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != input-radio.html input-radio.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == disable-fontinfl-on-mobile.html disable-fontinfl-on-mobile-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == disable-fontinfl-on-mobile-2.html disable-fontinfl-on-mobile-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == disable-fontinfl-on-mobile-3.html disable-fontinfl-on-mobile-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != disable-fontinfl-on-mobile-5.html disable-fontinfl-on-mobile-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == preformatted-text.html preformatted-text-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == fixed-height-body.html fixed-height-body-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == fixed-height-body-child.html fixed-height-body-child-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == consecutive-inline.html consecutive-inline-ref.html
 
 # The tests below use nonzero values of the lineThreshold preference.
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == text-1.html text-1.html
-test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) HTTP(..) == list-1.html list-1-ref.html
+test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) fails-if(stylo) HTTP(..) == list-1.html list-1-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-1a.html threshold-1a.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-1b.html threshold-1b-ref.html
 test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-1c.html threshold-1c-ref.html
 test-pref(fon