Backed out 3 changesets (bug 1394603) for reftest syntax error
authorPhil Ringnalda <philringnalda@gmail.com>
Wed, 06 Sep 2017 22:48:55 -0700
changeset 428767 634cb312d32284ddedd3941a8a5d0b0ea38e070e
parent 428766 d65d668da45fc2e4bb4fbaf74ee3c25ce7f3cd8a
child 428768 23fd25a4f713caf2a962727023e079aaa056074a
push id7761
push userjlund@mozilla.com
push dateFri, 15 Sep 2017 00:19:52 +0000
treeherdermozilla-beta@c38455951db4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1394603
milestone57.0a1
backs out44117208f32191b594b5aa46eeeec1106c25e915
31088c59d8959cfc8ab0a261cc2d330e31f37e4e
20551d68f602f8815c11bcc349e275a195babbc0
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 3 changesets (bug 1394603) for reftest syntax error CLOSED TREE Backed out changeset 44117208f321 (bug 1394603) Backed out changeset 31088c59d895 (bug 1394603) Backed out changeset 20551d68f602 (bug 1394603) MozReview-Commit-ID: 4F4jSQ8GyfG
dom/tests/reftest/xml-stylesheet/reftest.list
editor/reftests/xul/reftest.list
layout/reftests/backgrounds/reftest.list
layout/reftests/backgrounds/vector/empty/reftest.list
layout/reftests/border-image/reftest.list
layout/reftests/border-radius/reftest.list
layout/reftests/box-ordinal/reftest.list
layout/reftests/box-shadow/reftest.list
layout/reftests/bugs/reftest.list
layout/reftests/canvas/reftest.list
layout/reftests/css-animations/reftest.list
layout/reftests/css-charset/reftest.list
layout/reftests/css-gradients/reftest.list
layout/reftests/css-grid/reftest.list
layout/reftests/first-letter/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-matching/reftest.list
layout/reftests/forms/progress/reftest.list
layout/reftests/forms/textbox/reftest.list
layout/reftests/image-element/reftest.list
layout/reftests/image/reftest.list
layout/reftests/layers/reftest.list
layout/reftests/list-item/reftest.list
layout/reftests/margin-collapsing/reftest.list
layout/reftests/mathml/reftest.list
layout/reftests/object/reftest.list
layout/reftests/pagination/reftest.list
layout/reftests/pixel-rounding/reftest.list
layout/reftests/position-sticky/reftest.list
layout/reftests/reftest-sanity/reftest.list
layout/reftests/scoped-style/reftest.list
layout/reftests/selection/reftest.list
layout/reftests/svg/filters/reftest.list
layout/reftests/svg/moz-only/reftest.list
layout/reftests/svg/sizing/reftest.list
layout/reftests/svg/smil/reftest.list
layout/reftests/svg/smil/style/reftest.list
layout/reftests/svg/svg-integration/reftest.list
layout/reftests/table-background/reftest.list
layout/reftests/table-width/reftest.list
layout/reftests/text-overflow/reftest.list
layout/reftests/text-stroke/reftest.list
layout/reftests/text/reftest.list
layout/reftests/transform-3d/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/flexbox/reftest.list
layout/reftests/w3c-css/submitted/images3/reftest.list
layout/reftests/w3c-css/submitted/masking/reftest.list
layout/reftests/w3c-css/submitted/shapes1/reftest.list
layout/reftests/webkit-box/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/tools/reftest/reftest.jsm
layout/xul/grid/reftests/reftest.list
--- 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 after bug 631575
+fails-if(!styloVsGecko) == 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/xul/reftest.list
+++ b/editor/reftests/xul/reftest.list
@@ -1,29 +1,29 @@
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == empty-1.xul empty-ref.xul # Windows: bug 1239170
 != empty-2.xul empty-ref.xul
 # There is no way to simulate an autocomplete textbox in windows XP/Vista/7/8/10 default theme using CSS.
 # Therefore, the equlity tests below should be marked as failing.
-fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == autocomplete-1.xul autocomplete-ref.xul # bug 783658
-fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == emptyautocomplete-1.xul emptyautocomplete-ref.xul # bug 783658
+fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)&&!styloVsGecko) == autocomplete-1.xul autocomplete-ref.xul # bug 783658
+fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)&&!styloVsGecko) == emptyautocomplete-1.xul emptyautocomplete-ref.xul # bug 783658
 != emptymultiline-1.xul emptymultiline-ref.xul
 fails-if(Android) == emptymultiline-2.xul emptymultiline-ref.xul # bug 783658
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == emptytextbox-1.xul emptytextbox-ref.xul # Windows: bug 1239170
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == emptytextbox-2.xul emptytextbox-ref.xul # Windows: bug 1239170
 != emptytextbox-3.xul emptytextbox-ref.xul
 != emptytextbox-4.xul emptytextbox-ref.xul
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == emptytextbox-5.xul emptytextbox-ref.xul # Windows: bug 1239170
 # There is no way to simulate a number textbox in windows XP/Vista/7 default theme using CSS.
 # Therefore, the equlity tests below should be marked as failing.
 != number-1.xul number-ref.xul
 != number-2.xul number-ref.xul
-fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == number-3.xul number-ref.xul # bug 783658
+fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)&&!styloVsGecko) == number-3.xul number-ref.xul # bug 783658
 != number-4.xul number-ref.xul
-fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == number-5.xul number-ref.xul # bug 783658
-fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == numberwithvalue-1.xul numberwithvalue-ref.xul # bug 783658
+fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)&&!styloVsGecko) == number-5.xul number-ref.xul # bug 783658
+fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)&&!styloVsGecko) == numberwithvalue-1.xul numberwithvalue-ref.xul # bug 783658
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == passwd-1.xul passwd-ref.xul # Windows: bug 1239170
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == passwd-2.xul passwd-ref.xul # Windows: bug 1239170
 != passwd-3.xul passwd-ref.xul
 fails-if(Android) == plain-1.xul plain-ref.xul # bug 783658
 fails-if(Android) skip-if(browserIsRemote&&winWidget) == textbox-1.xul textbox-ref.xul # Windows: bug 1239170
 != textbox-disabled.xul textbox-ref.xul
 # Read-only textboxes look like normal textboxes in windows Vista/7 default theme
 fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(6\.[012]|10\.0)/.test(http.oscpu)) skip-if(browserIsRemote&&winWidget) != textbox-readonly.xul textbox-ref.xul # Windows: bug 1239170
--- a/layout/reftests/backgrounds/reftest.list
+++ b/layout/reftests/backgrounds/reftest.list
@@ -121,17 +121,17 @@ random-if(OSX==1010) == background-size-
 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
 
 # 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 # bug 1073209
+fails-if(!styloVsGecko) == 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
--- 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(!styloVsGecko) == tall--cover--height.html ref-tall-lime.html
+fails-if(!styloVsGecko) == tall--cover--width.html ref-tall-lime.html
+fails-if(!styloVsGecko) == wide--cover--height.html ref-wide-lime.html
+fails-if(!styloVsGecko) == 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/border-image/reftest.list
+++ b/layout/reftests/border-image/reftest.list
@@ -12,18 +12,18 @@ fuzzy-if(winWidget,1,1) == multicolor-im
 == transparent-image-1.html transparent-image-1-ref.html
 != repeat-image-1.html repeat-image-1-ref.html
 fuzzy-if(webrender,15-15,975-975) == 470250-1.html 470250-1-ref.html
 fuzzy-if(webrender,15-15,975-975) == 470250-2.html 470250-2-ref.html
 != different-h-v-1.html different-h-v-ref.html
 != different-h-v-2.html different-h-v-ref.html
 != different-h-v-1.html different-h-v-2.html
 == 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
+fails-if(Android) fails-if(usesRepeatResampling&&!styloVsGecko) == center-scaling-2.html center-scaling-2-ref.html # Android: very different scaling (blurriness) on some sides
+fails-if(Android) fails-if(usesRepeatResampling&&!styloVsGecko) == center-scaling-3.html center-scaling-3-ref.html # Android: very different scaling (blurriness) on some sides
 == center-scaling-4t.html center-scaling-4t-ref.html
 == center-scaling-4r.html center-scaling-4r-ref.html
 == center-scaling-4b.html center-scaling-4b-ref.html
 == 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
--- a/layout/reftests/border-radius/reftest.list
+++ b/layout/reftests/border-radius/reftest.list
@@ -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,18,90) fails-if(webrender) == corner-3.html corner-3-ref.svg
 fuzzy-if(skiaContent,12,83) fuzzy-if(webrender,79-79,110-110) == 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(!styloVsGecko) == 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,17,62) fuzzy-if(webrender,168-168,74-74) == 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,172) == clipping-4-image.html clipping-4-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(!styloVsGecko) == 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-shadow/reftest.list
+++ b/layout/reftests/box-shadow/reftest.list
@@ -38,10 +38,10 @@ fuzzy(13,9445) fuzzy-if(d2d,13,10926) fu
 == 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) fuzzy-if(webrender,162-162,120-120) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows
 fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) fuzzy-if(webrender,165-165,120-120) == 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
+fuzzy(159,2) fails-if(!dwrite&&!styloVsGecko) == 1212823-1.html 1212823-1-ref.html
 == boxshadow-large-offset.html boxshadow-large-offset-ref.html
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -598,17 +598,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(styloVsGecko,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
@@ -663,17 +663,17 @@ random-if(d2d) == 373381-3.html 373381-3
 == 373383-1.html 373383-1-ref.html
 == 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(!styloVsGecko) == 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
 == 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
@@ -728,26 +728,26 @@ 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
 fuzzy-if(webrender,0-1,0-600) == 385823-2a.html 385823-2-ref.html
-fails == 385823-2b.html 385823-2-ref.html
+fails-if(!styloVsGecko) == 385823-2b.html 385823-2-ref.html
 fuzzy-if(webrender,0-1,0-600) == 385823-2c.html 385823-2-ref.html
 fuzzy-if(skiaContent,2,11) == 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,false) fails-if(!styloVsGecko) == 386147-1.html 386147-1-ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == 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
@@ -755,17 +755,17 @@ test-pref(layout.float-fragments-inside-
 == 386470-1b.html 386470-1-ref.html
 == 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(!styloVsGecko) == 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
@@ -831,17 +831,17 @@ fuzzy-if(skiaContent,2,21) == 398682-1.h
 == 399209-2.html 399209-2-ref.html
 == 399258-1.html 399258-1-ref.html
 == 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(cocoaWidget||winWidget) random-if(!cocoaWidget&&!winWidget) != 399636-quirks-html.html 399636-quirks-ref.html # windows failure bug 429017, mac failure bug 429019
+fails-if(winWidget&&!styloVsGecko) fails-if(cocoaWidget&&!styloVsGecko) 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
@@ -942,28 +942,28 @@ fuzzy-if(winWidget,123,1900) == 409659-1
 == 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 == 411585-3.html 411585-3-ref.html # bug 426909
+fails-if(!styloVsGecko) == 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
 == 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(!styloVsGecko) == 413027-2.html 413027-2-ref.html
+fails-if(!styloVsGecko) == 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
@@ -981,18 +981,18 @@ fuzzy-if(Android,11,17) fuzzy-if(webrend
 == 414123.xhtml 414123-ref.xhtml
 == 414638.html 414638-ref.html
 == 414851-1.html 414851-1-ref.html
 == 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(styloVsGecko,2) == 418574-1.html 418574-1-ref.html # bug 478135
+asserts(1) asserts-if(styloVsGecko,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
@@ -1009,26 +1009,26 @@ asserts(1) == 418574-2.html 418574-2-ref
 == 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
-fails-if(Android) fails-if(usesRepeatResampling) == 421885-1.xml 421885-1-ref.xml
+fails-if(Android) fails-if(usesRepeatResampling&&!styloVsGecko) == 421885-1.xml 421885-1-ref.xml
 == 421955-1.html 421955-1-ref.html
 == 422249-1.html 422249-1-ref.html
 == 422394-1.html 422394-1-ref.html
 == 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(!styloVsGecko) == 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
@@ -1042,92 +1042,92 @@ random-if(gtkWidget) == 424074-1-ref2.xu
 == 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
 == 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-paged). existing assertions are bug 457400.
+asserts(3) asserts-if(styloVsGecko,6) != 427017-1.xhtml about:blank # crash test (needs reftest-paged). 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == 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
 == 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
@@ -1146,36 +1146,36 @@ fuzzy-if(skiaContent,1,3280) == 438987-2
 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
 fuzzy-if(skiaContent,1,1) == 440112.html 440112-ref.html
 == 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(!styloVsGecko) == 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
 == 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
 == 445142-2a.html 445142-2-ref.html
 == 445142-2b.html 445142-2-ref.html
-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
+fails-if(usesRepeatResampling&&!styloVsGecko) == 446100-1a.html about:blank
+fails-if(Android) fails-if(usesRepeatResampling&&!styloVsGecko) == 446100-1b.html about:blank
+fails-if(Android) fails-if(usesRepeatResampling&&!styloVsGecko) == 446100-1c.html about:blank
+fails-if(usesRepeatResampling&&!styloVsGecko) == 446100-1d.html about:blank
+fails-if(usesRepeatResampling&&!styloVsGecko) == 446100-1e.html about:blank
 == 446100-1f.html about:blank
-fails-if(usesRepeatResampling) fails-if(Android) == 446100-1g.html about:blank
+fails-if(usesRepeatResampling&&!styloVsGecko) fails-if(Android) == 446100-1g.html about:blank
 == 446100-1h.html about:blank
 == 447749-1.html 447749-1-ref.html
 fuzzy(127,2) fails-if(webrender) == 448193.html 448193-ref.html # bug 1382896 for webrender
 != 449149-1a.html about:blank
 != 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
@@ -1190,17 +1190,17 @@ test-pref(dom.use_xbl_scopes_for_remote_
 == 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(Android||cocoaWidget) == 456147.xul 456147-ref.html # bug 458047
+fails-if(cocoaWidget&&!styloVsGecko) 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) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1a.html 456219-1-ref.html # bug 1128229
 fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1b.html 456219-1-ref.html # bug 1128229
 fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1c.html 456219-1-ref.html # bug 1128229
 fuzzy-if(skiaContent,1,45) fuzzy-if(webrender,43-43,8-8) == 456219-2.html 456219-2-ref.html
 == 456330-1.gif 456330-1-ref.png
 == 456484-1.html 456484-1-ref.html
 == 457398-1.html 457398-1-ref.html
 == 457398-2.html 457398-2-ref.html
@@ -1244,18 +1244,18 @@ fuzzy-if(webrender,16,3425) == 463217-1.
 == 467084-2.html 467084-2-ref.html
 == 467444-1.html 467444-1-ref.html
 == 467460-1.html 467460-1-ref.html
 == 468473-1.xul 468473-1-ref.xul
 == 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(!styloVsGecko) == 472020-1b.xul 472020-1-ref.xul
+fails-if(!styloVsGecko) == 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
@@ -1314,17 +1314,17 @@ 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||gtkWidget) random-if(winWidget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364
+fails-if(Android) random-if(winWidget) fails-if(gtkWidget&&!styloVsGecko) == 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(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
@@ -1395,17 +1395,17 @@ fuzzy-if(skiaContent,1,17000) == 498228-
 == 502288-1.html 502288-1-ref.html
 fuzzy-if(gtkWidget,1,2) == 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(!styloVsGecko) == 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
 == 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
@@ -1575,17 +1575,17 @@ fails-if(Android) random-if(layersGPUAcc
 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
 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
+asserts(1-2) asserts-if(styloVsGecko,3) == 582146-1.html about:blank
 == 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
 == 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
@@ -1796,17 +1796,17 @@ fuzzy-if(Android,8,400) fails-if(webrend
 == 926155-1.html 926155-1-ref.html
 fuzzy-if(cocoaWidget,1,40) == 928607-1.html 928607-1-ref.html
 fuzzy-if(skiaContent,1,3) == 931464-1.html 931464-1-ref.html
 == 931853.html 931853-ref.html
 == 931853-quirks.html 931853-quirks-ref.html
 == 933264-1.html 933264-1-ref.html
 == 936670-1.svg 936670-1-ref.svg
 == 941940-1.html 941940-1-ref.html
-fails == 942017.html 942017-ref.html # bug 942017
+fails-if(!styloVsGecko) == 942017.html 942017-ref.html # bug 942017
 fuzzy-if(Android,1,1) fuzzy-if(skiaContent,1,160000) fails-if(webrender) == 942672-1.html 942672-1-ref.html
 == 953334-win32-clipping.html 953334-win32-clipping-ref.html
 fuzzy-if(skiaContent,1,5) == 956513-1.svg 956513-1-ref.svg
 == 944291-1.html 944291-1-ref.html
 == 950436-1.html 950436-1-ref.html
 == 957770-1.svg 957770-1-ref.svg
 == 960277-1.html 960277-1-ref.html
 fuzzy-if(skiaContent,1,80) == 961887-1.html 961887-1-ref.html
@@ -1835,17 +1835,17 @@ pref(layout.css.overflow-clip-box.enable
 == 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
-skip-if(styloVsGecko) == 1024473-1.html 1024473-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
+random-if(styloVsGecko) == 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
@@ -1935,17 +1935,17 @@ skip-if(!Android) fails-if(Android) == 1
 == 1150021-1.xul 1150021-1-ref.xul
 == 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
 fuzzy-if(skiaContent,7,84) 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(Android||gtkWidget)) == 1174332-1.html 1174332-1-ref.html # bug 1312658
+fuzzy(1,74) fails-if(Android||(gtkWidget&&!styloVsGecko)) == 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
 fuzzy-if(skiaContent,1,1) == 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
--- a/layout/reftests/canvas/reftest.list
+++ b/layout/reftests/canvas/reftest.list
@@ -23,17 +23,17 @@ random-if(cocoaWidget) == subpixel-1.htm
 != text-rtl-left.html text-rtl-right.html
 
 == text-ltr-left.html text-rtl-left.html
 
 == text-ltr-alignment-test.html text-ltr-alignment-ref.html
 == text-rtl-alignment-test.html text-rtl-alignment-ref.html
 
 == text-horzline-with-bottom.html text-horzline.html
-fails-if(azureSkia&&OSX) == text-horzline-with-top.html text-horzline.html
+fails-if(azureSkia&&OSX&&!styloVsGecko) == text-horzline-with-top.html text-horzline.html
 
 != text-big-stroke.html text-blank.html
 != text-big-stroke.html text-big-fill.html
 
 == text-context-state-test.html text-context-state-ref.html
 == text-font-inherit.html text-big-fill.html
 == text-space-replace-test.html text-space-replace-ref.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&&!styloVsGecko)||(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&&!styloVsGecko)||(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/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
-skip-if(stylo) fails == print-no-animations.html print-no-animations-ref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-paged tests. Bug 1374154 for stylo
-skip-if(stylo) fails != print-no-animations.html print-no-animations-notref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-paged tests. Bug 1374154 for stylo
+skip-if(stylo||styloVsGecko) fails-if(!stylo&&!styloVsGecko) == print-no-animations.html print-no-animations-ref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-paged tests. Bug 1374154 for stylo
+skip-if(stylo||styloVsGecko) fails-if(!stylo&&!styloVsGecko) != print-no-animations.html print-no-animations-notref.html # reftest harness doesn't actually make pres context non-dynamic for reftest-paged tests. Bug 1374154 for stylo
 == 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
--- 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(!styloVsGecko) == 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(!styloVsGecko) == test-charset-utf-16-be-bom.html pass.html
 == test-charset-utf-16-bom-be.html pass.html
--- a/layout/reftests/css-gradients/reftest.list
+++ b/layout/reftests/css-gradients/reftest.list
@@ -4,22 +4,22 @@ fuzzy-if(!contentSameGfxBackendAsCanvas,
 == linear-diagonal-2a.html linear-diagonal-2-ref.html
 == linear-diagonal-3a.html linear-diagonal-3-ref.html
 == linear-diagonal-4a.html linear-diagonal-4-ref.html
 == linear-premul.html linear-premul-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
+fails-if(d2d&&!styloVsGecko) == 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
+fails-if(d2d&&!styloVsGecko) == 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
+fails-if(d2d&&!styloVsGecko) == linear-repeat-1f.html linear-repeat-1-ref.html # bug 582236
+fails-if(d2d&&!styloVsGecko) == 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
--- a/layout/reftests/css-grid/reftest.list
+++ b/layout/reftests/css-grid/reftest.list
@@ -1,12 +1,12 @@
 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
+fails-if(!styloVsGecko) == grid-whitespace-handling-1a.xhtml grid-whitespace-handling-1-ref.xhtml
+fails-if(!styloVsGecko) skip-if(styloVsGecko) == 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
@@ -133,17 +133,17 @@ skip-if(Android) == grid-item-video-stre
 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) fails-if(styloVsGecko) == grid-item-mixed-baseline-004.html grid-item-mixed-baseline-004-ref.html # ditto. Also stylo bug 1396977.
+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
 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
 == grid-container-baselines-004.html grid-container-baselines-004-ref.html
--- a/layout/reftests/first-letter/reftest.list
+++ b/layout/reftests/first-letter/reftest.list
@@ -9,22 +9,22 @@
 == 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(!styloVsGecko) == quote-1b.html quote-1-ref.html # bug 509685
+fails-if(!styloVsGecko) == 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(!styloVsGecko) == 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(!styloVsGecko) == quote-1e.html quote-1-ref.html # bug 509685
 == quote-1e.html quote-1b.html
 == quote-1f.html quote-1-ref.html
 fails-if(!stylo) fails-if(styloVsGecko) == 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
 == dynamic-4.html dynamic-4-ref.html
 == 23605-1.html 23605-1-ref.html
@@ -55,17 +55,17 @@ HTTP(..) == 329069-5.html 329069-5-ref.h
 == 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
+fails-if((winWidget||cocoaWidget)&&!styloVsGecko) == 617869-1.html 617869-1-ref.html
 == 723509-1.html 723509-1-ref.html
 == 922550-1.html 922550-1-ref.html
 == 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
--- a/layout/reftests/flexbox/reftest.list
+++ b/layout/reftests/flexbox/reftest.list
@@ -8,17 +8,17 @@
 # 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)
-fails == flexbox-align-self-baseline-horiz-2.xhtml  flexbox-align-self-baseline-horiz-2-ref.xhtml # bug 793456, and possibly others
+fails-if(!styloVsGecko) == 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.
 == 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
@@ -65,32 +65,32 @@ fuzzy-if(skiaContent,3,10) == flexbox-dy
 == 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(!styloVsGecko) == 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(!styloVsGecko) == flexbox-inlinecontent-horiz-1a.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml # reference case rendering is incorrect; bug 858333
+fails-if(!styloVsGecko) == 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
--- a/layout/reftests/floats/reftest.list
+++ b/layout/reftests/floats/reftest.list
@@ -1,22 +1,22 @@
 == 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
+fails-if(!styloVsGecko) == other-float-outside-rule-3-left-2.html other-float-outside-rule-3-left-2-ref.html # bug 616334
+fails-if(!styloVsGecko) == other-float-outside-rule-3-right-2.html other-float-outside-rule-3-right-2-ref.html # bug 616334
+fails-if(!styloVsGecko) == other-float-outside-rule-7-left.html other-float-outside-rule-7-left-ref.html # bug 616334
+fails-if(!styloVsGecko) == 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
 == 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(!styloVsGecko) == 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(!styloVsGecko) == 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
--- a/layout/reftests/font-face/reftest.list
+++ b/layout/reftests/font-face/reftest.list
@@ -7,17 +7,17 @@ HTTP(..) == download-2.html download-2-r
 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,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
+fails-if(!styloVsGecko) 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
 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
@@ -81,18 +81,18 @@ HTTP(..) == disable-sheet-1.html disable
 # completion for those cases.
 HTTP(..) == disable-sheet-4.html disable-sheet-4-ref.html
 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
-skip-if(styloVsGecko) HTTP(..) == media-query-add-1.html media-query-add-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
-skip-if(styloVsGecko) HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
+random-if(styloVsGecko) HTTP(..) == media-query-add-1.html media-query-add-1-ref.html
+random-if(styloVsGecko) 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
 
 == local-1.html local-1-ref.html
 == local-styled-1.html local-styled-1-ref.html
@@ -128,17 +128,17 @@ HTTP(..) != 507960-1-bad-sfnt-version-tt
 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||winWidget) HTTP(..) != underline-offset-change-1-ref.html underline-offset-change-2-ref.html # Bug 534132
+fails-if(cocoaWidget&&!styloVsGecko) fails-if(winWidget&&!styloVsGecko) 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
@@ -84,20 +84,20 @@ HTTP(..) != kerning-sanity-check-nokern.
 # 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
 # tests whether word cache is in use by testing for ignored space kerns
 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) 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)&&!styloVsGecko) HTTP(..) != kerning-spaces-arial-nokern.html kerning-spaces-arial-default.html
+random-if(!winWidget&&!cocoaWidget) fails-if((winWidget||cocoaWidget)&&!styloVsGecko) HTTP(..) == kerning-spaces-arial-kern.html kerning-spaces-arial-default.html
+random-if(!winWidget&&!cocoaWidget) fails-if((winWidget||cocoaWidget)&&!styloVsGecko) HTTP(..) != kerning-spaces-tnr-nokern.html kerning-spaces-tnr-default.html
+random-if(!winWidget&&!cocoaWidget) fails-if((winWidget||cocoaWidget)&&!styloVsGecko) 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
--- a/layout/reftests/font-matching/reftest.list
+++ b/layout/reftests/font-matching/reftest.list
@@ -54,17 +54,17 @@ random-if(cocoaWidget) != impact-bold.ht
 
 # localized font family names should always match just as English names do
 == localized-family-names-001.html localized-family-names-001-ref.html
 == localized-family-names-002.html localized-family-names-002-ref.html
 == localized-family-names-003.html localized-family-names-003-ref.html
 == localized-family-names-004.html localized-family-names-004-ref.html
 
 # family names with escaped spaces shouldn't match the names without the spaces
-fails-if(gtkWidget) == familyname-escapedidents.html familyname-escapedidents-ref.html # bug 1309425, bug 1328771
+fails-if(gtkWidget&&!styloVsGecko) == familyname-escapedidents.html familyname-escapedidents-ref.html # bug 1309425, bug 1328771
 
 # weight mapping tests
 HTTP(..) == normalmedium.html normalmedium-ref.html
 HTTP(..) != normalmedium.html normalmedium-notref.html
 
 # Linux fails due to bug 604815
 fuzzy-if(OSX==1010&&browserIsRemote,1,23) HTTP(..) == weightmapping-12.html weightmapping-12-ref.html
 HTTP(..) == weightmapping-25.html weightmapping-25-ref.html
--- a/layout/reftests/forms/progress/reftest.list
+++ b/layout/reftests/forms/progress/reftest.list
@@ -22,17 +22,17 @@
 
 # Tests for bugs:
 == block-invalidate.html block-invalidate-ref.html
 == in-cells.html in-cells-ref.html
 == max-height.html max-height-ref.html
 
 # Tests for block and inline orientation in combination with writing-mode
 != progress-orient-horizontal.html progress-orient-vertical.html
-fails-if(!cocoaWidget||OSX==1010) != progress-orient-vertical.html progress-orient-vertical-rtl.html # only OS X currently has direction-dependent rendering here
+fails-if((!cocoaWidget||OSX==1010)&&!styloVsGecko) != progress-orient-vertical.html progress-orient-vertical-rtl.html # only OS X currently has direction-dependent rendering here
 == progress-orient-block.html progress-orient-vertical.html
 == progress-orient-inline.html progress-orient-horizontal.html
 == progress-vlr.html progress-orient-vertical.html
 == progress-vlr-orient-block.html progress-orient-horizontal.html
 == progress-vlr-orient-inline.html progress-orient-vertical.html
 == progress-vlr-orient-horizontal.html progress-orient-horizontal.html
 == progress-vlr-orient-vertical.html progress-orient-vertical.html
 == progress-vrl.html progress-orient-vertical-rtl.html
--- a/layout/reftests/forms/textbox/reftest.list
+++ b/layout/reftests/forms/textbox/reftest.list
@@ -1,11 +1,11 @@
 # access-key tests are no use on OS X because access keys are not indicated visually
 # no real XUL theme on Android so we just skip
 skip-if(cocoaWidget||Android) != accesskey-1.xul accesskey-1-notref.xul
 skip-if(cocoaWidget||Android) == accesskey-2.xul accesskey-2-ref.xul
 # accesskey-3 fails because of defects in XUL bidi support
-fails-if(!cocoaWidget) skip-if(cocoaWidget||Android) == accesskey-3.xul accesskey-3-ref.xul
+fails-if(!cocoaWidget&&!styloVsGecko) skip-if(cocoaWidget||Android) == accesskey-3.xul accesskey-3-ref.xul
 skip-if(cocoaWidget||Android) != accesskey-3.xul accesskey-3-notref.xul
 skip-if(cocoaWidget||Android) == accesskey-4.xul accesskey-4-ref.xul
 skip-if(cocoaWidget||Android) != accesskey-4.xul accesskey-4-notref.xul
 skip-if(Android) == align-baseline-1.xul align-baseline-1-ref.xul # test for bug 494901
 skip-if(Android) == setsize.xul setsize-ref.xul
--- a/layout/reftests/image-element/reftest.list
+++ b/layout/reftests/image-element/reftest.list
@@ -13,17 +13,17 @@ fails-if(azureSkia) fails-if(cocoaWidget
 HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html
 fails-if(webrender) == element-paint-transform-01.html element-paint-transform-01-ref.html # bug 1363060 for webrender
 random-if(d2d) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133
 fuzzy-if(d2d&&/^Windows\x20NT\x206\.1/.test(http.oscpu),16,90) == element-paint-background-size-01.html element-paint-background-size-01-ref.html
 == element-paint-background-size-02.html element-paint-background-size-02-ref.html
 fuzzy-if(skiaContent,255,4) fails-if(webrender) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html # bug 1363060 for webrender
 fuzzy-if(d2d,255,24) == element-paint-transform-03.html element-paint-transform-03-ref.html
 fuzzy-if(asyncPan,2,140) fuzzy-if(skiaContent,3,106) == element-paint-native-widget.html element-paint-native-widget-ref.html   # in -ref the scrollframe is active and layerized differently with APZ
-fails-if(usesRepeatResampling) == element-paint-subimage-sampling-restriction.html about:blank
+fails-if(usesRepeatResampling&&!styloVsGecko) == element-paint-subimage-sampling-restriction.html about:blank
 == element-paint-clippath.html element-paint-clippath-ref.html
 == element-paint-sharpness-01a.html element-paint-sharpness-01b.html
 fuzzy-if(skiaContent,1,326) == element-paint-sharpness-01b.html element-paint-sharpness-01c.html
 == element-paint-sharpness-01c.html element-paint-sharpness-01d.html
 == element-paint-sharpness-02a.html element-paint-sharpness-02b.html
 == element-paint-sharpness-02b.html element-paint-sharpness-02c.html
 == element-paint-paintserversize-rounding-01.html element-paint-paintserversize-rounding-01-ref.html
 fuzzy-if(skiaContent,187,1191) == element-paint-paintserversize-rounding-02.html element-paint-paintserversize-rounding-02-ref.html # Linux32 from GCC update
--- a/layout/reftests/image/reftest.list
+++ b/layout/reftests/image/reftest.list
@@ -1,10 +1,10 @@
 fuzzy-if(Android,8,30) == background-image-zoom-1.html background-image-zoom-1-ref.html
-fails-if(usesRepeatResampling) == background-image-zoom-2.html about:blank
+fails-if(usesRepeatResampling&&!styloVsGecko) == background-image-zoom-2.html about:blank
 == image-seam-1a.html image-seam-1-ref.html
 == image-seam-1b.html image-seam-1-ref.html
 fuzzy-if(Android,255,154) fuzzy-if(webrender,0-1,0-400) == image-seam-2.html  image-seam-2-ref.html  # Bug 1128229
 == image-zoom-1.html image-zoom-1-ref.html
 == image-zoom-2.html image-zoom-1-ref.html
 == invalid-url-image-1.html invalid-url-image-1-ref.html
 == sync-image-switch-1a.html sync-image-switch-1-ref.html
 == sync-image-switch-1b.html sync-image-switch-1-ref.html
--- a/layout/reftests/layers/reftest.list
+++ b/layout/reftests/layers/reftest.list
@@ -1,31 +1,31 @@
 == move-to-background-1.html move-to-background-1-ref.html
 fuzzy-if(cocoaWidget,2,6) random-if(Android) == component-alpha-exit-1.html component-alpha-exit-1-ref.html # bug 760275
 
 # The pull-background-* tests are specific to "layers" and are not valid with WebRender.
 # We mark them random-if to make sure they don't crash, but allow any result.
 random-if(webrender) != pull-background-1.html about:blank
-random-if(webrender) skip-if(styloVsGecko) != pull-background-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
+random-if(webrender) random-if(styloVsGecko) != pull-background-2.html about:blank
 random-if(webrender) != pull-background-3.html about:blank
 random-if(webrender) != pull-background-4.html about:blank
 random-if(webrender) fuzzy-if(styloVsGecko,1,1) != pull-background-5.html about:blank
 random-if(webrender) != pull-background-6.html about:blank
 
 # The animated-position tests are disabled for intermittent failures / passes, bug 1150941
 skip != pull-background-animated-position-1.html about:blank # Fails with event regions
 skip != pull-background-animated-position-2.html about:blank
 skip != pull-background-animated-position-3.html about:blank # Fails because PaintedLayer item assignment doesn't recognize overflow:hidden clips
 skip != pull-background-animated-position-4.html about:blank # Fails because PaintedLayer item assignment and background pulling don't recognize overflow:hidden clips
 skip != pull-background-animated-position-5.html about:blank # Fails because ownLayer bounds don't anticipate changes of animated contents, but doesn't fail with event regions
 
 # The pull-background-displayport-* tests are specific to "layers" and are not valid with webrender.
 # We mark them random-if to make sure they don't crash, but allow any result.
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-1.html about:blank
-random-if(webrender) skip-if(!asyncPan) skip-if(styloVsGecko) != pull-background-displayport-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
+random-if(webrender) skip-if(!asyncPan) random-if(styloVsGecko) != pull-background-displayport-2.html about:blank
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-3.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-4.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 random-if(webrender) skip-if(!asyncPan) fuzzy-if(styloVsGecko,1,1) != pull-background-displayport-5.html about:blank
 random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-6.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
 
 fuzzy(2,30150) == opacity-blending.html opacity-blending-ref.html
 fuzzy(16,5) fails-if(webrender) == mask-layer-transform.html mask-layer-transform-ref.html
 fuzzy-if(gtkWidget,1,17) fuzzy-if(Android,3,4) == forced-bg-color-outside-visible-region.html forced-bg-color-outside-visible-region-ref.html
--- a/layout/reftests/list-item/reftest.list
+++ b/layout/reftests/list-item/reftest.list
@@ -1,14 +1,14 @@
 fuzzy-if(OSX,55,4) == numbering-1.html numbering-1-ref.html
 == numbering-2.html numbering-2-ref.html
 pref(layout.css.grid.enabled,true) fuzzy-if(OSX,8,1) == numbering-3.html numbering-3-ref.html
 fuzzy-if(OSX,72,2) == numbering-4.html numbering-4-ref.html
 fails-if(webrender) == numbering-5.html numbering-5-ref.html
 == ol-reversed-1a.html ol-reversed-1-ref.html
-asserts(1) == ol-reversed-1b.html ol-reversed-1-ref.html # bug 478135
+asserts(1) asserts-if(styloVsGecko,2) == ol-reversed-1b.html ol-reversed-1-ref.html # bug 478135
 == ol-reversed-1c.html ol-reversed-1-ref.html
 == ol-reversed-2.html ol-reversed-2-ref.html
 == ol-reversed-3.html ol-reversed-3-ref.html
 == bullet-space-1.html bullet-space-1-ref.html
 == bullet-space-2.html bullet-space-2-ref.html
 == bullet-intrinsic-isize-1.html bullet-intrinsic-isize-1-ref.html
 fails-if(webrender) == bullet-intrinsic-isize-2.html bullet-intrinsic-isize-2-ref.html
--- a/layout/reftests/margin-collapsing/reftest.list
+++ b/layout/reftests/margin-collapsing/reftest.list
@@ -363,22 +363,22 @@
 == block-zero-min-height-3a.html block-zero-min-height-3-ref.html
 == block-zero-min-height-3b.html block-zero-min-height-3-ref.html
 == block-zero-min-height-3c.html block-zero-min-height-3-ref.html
 == block-zero-min-height-3d.html block-zero-min-height-3-ref.html
 # If a parent box's height is 'auto' and its 'min-height' is non-zero,
 # then its bottom margin collapses with its last-child's bottom margin.
 # This is true even if the two margins do not actually touch each other,
 # as they are still considered 'adjoining'.
-fails == block-min-height-last-child-1a.html block-min-height-last-child-1-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-1a.html block-min-height-last-child-1-ref.html # Bug 616339
 == block-min-height-last-child-1b.html block-min-height-last-child-1-ref.html
 == block-min-height-last-child-1c.html block-min-height-last-child-1-ref.html
-fails == block-min-height-last-child-2a.html block-min-height-last-child-2-ref.html # Bug 616339
-fails == block-min-height-last-child-2b.html block-min-height-last-child-2-ref.html # Bug 616339
-fails == block-min-height-last-child-3a.html block-min-height-last-child-3-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-2a.html block-min-height-last-child-2-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-2b.html block-min-height-last-child-2-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-3a.html block-min-height-last-child-3-ref.html # Bug 616339
 == block-min-height-last-child-3b.html block-min-height-last-child-3-ref.html
 == block-min-height-last-child-3c.html block-min-height-last-child-3-ref.html
 == block-min-height-last-child-4a.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-4b.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-4c.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-5a.html block-min-height-last-child-5-ref.html
 == block-min-height-last-child-5b.html block-min-height-last-child-5-ref.html
 == block-min-height-last-child-6a.html block-min-height-last-child-6-ref.html
@@ -387,22 +387,22 @@ fails == block-min-height-last-child-3a.
 == block-min-height-last-child-7a.html block-min-height-last-child-7-ref.html
 == block-min-height-last-child-7b.html block-min-height-last-child-7-ref.html
 == block-min-height-last-child-7c.html block-min-height-last-child-7-ref.html
 == block-min-height-last-child-8a.html block-min-height-last-child-8-ref.html
 == block-min-height-last-child-8b.html block-min-height-last-child-8-ref.html
 == block-min-height-last-child-9a.html block-min-height-last-child-9-ref.html
 == block-min-height-last-child-9b.html block-min-height-last-child-9-ref.html
 == block-min-height-last-child-9c.html block-min-height-last-child-9-ref.html
-fails == block-min-height-last-child-1a-dyn.html block-min-height-last-child-1-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-1a-dyn.html block-min-height-last-child-1-ref.html # Bug 616339
 == block-min-height-last-child-1b-dyn.html block-min-height-last-child-1-ref.html
 == block-min-height-last-child-1c-dyn.html block-min-height-last-child-1-ref.html
-fails == block-min-height-last-child-2a-dyn.html block-min-height-last-child-2-ref.html # Bug 616339
-fails == block-min-height-last-child-2b-dyn.html block-min-height-last-child-2-ref.html # Bug 616339
-fails == block-min-height-last-child-3a-dyn.html block-min-height-last-child-3-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-2a-dyn.html block-min-height-last-child-2-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-2b-dyn.html block-min-height-last-child-2-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-min-height-last-child-3a-dyn.html block-min-height-last-child-3-ref.html # Bug 616339
 == block-min-height-last-child-3b-dyn.html block-min-height-last-child-3-ref.html
 == block-min-height-last-child-3c-dyn.html block-min-height-last-child-3-ref.html
 == block-min-height-last-child-4a-dyn.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-4b-dyn.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-4c-dyn.html block-min-height-last-child-4-ref.html
 == block-min-height-last-child-5a-dyn.html block-min-height-last-child-5-ref.html
 == block-min-height-last-child-5b-dyn.html block-min-height-last-child-5-ref.html
 == block-min-height-last-child-6a-dyn.html block-min-height-last-child-6-ref.html
@@ -431,22 +431,22 @@ fails == block-min-height-last-child-3a-
 == block-max-height-last-child-4a.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-4b.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-4c.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-5a.html block-max-height-last-child-5-ref.html
 == block-max-height-last-child-5b.html block-max-height-last-child-5-ref.html
 == block-max-height-last-child-6a.html block-max-height-last-child-6-ref.html
 == block-max-height-last-child-6b.html block-max-height-last-child-6-ref.html
 == block-max-height-last-child-6c.html block-max-height-last-child-6-ref.html
-fails == block-max-height-last-child-7a.html block-max-height-last-child-7-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-7a.html block-max-height-last-child-7-ref.html # Bug 616339
 == block-max-height-last-child-7b.html block-max-height-last-child-7-ref.html
 == block-max-height-last-child-7c.html block-max-height-last-child-7-ref.html
-fails == block-max-height-last-child-8a.html block-max-height-last-child-8-ref.html # Bug 616339
-fails == block-max-height-last-child-8b.html block-max-height-last-child-8-ref.html # Bug 616339
-fails == block-max-height-last-child-9a.html block-max-height-last-child-9-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-8a.html block-max-height-last-child-8-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-8b.html block-max-height-last-child-8-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-9a.html block-max-height-last-child-9-ref.html # Bug 616339
 == block-max-height-last-child-9b.html block-max-height-last-child-9-ref.html
 == block-max-height-last-child-9c.html block-max-height-last-child-9-ref.html
 == block-max-height-last-child-1a-dyn.html block-max-height-last-child-1-ref.html
 == block-max-height-last-child-1b-dyn.html block-max-height-last-child-1-ref.html
 == block-max-height-last-child-1c-dyn.html block-max-height-last-child-1-ref.html
 == block-max-height-last-child-2a-dyn.html block-max-height-last-child-2-ref.html
 == block-max-height-last-child-2b-dyn.html block-max-height-last-child-2-ref.html
 == block-max-height-last-child-3a-dyn.html block-max-height-last-child-3-ref.html
@@ -455,22 +455,22 @@ fails == block-max-height-last-child-9a.
 == block-max-height-last-child-4a-dyn.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-4b-dyn.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-4c-dyn.html block-max-height-last-child-4-ref.html
 == block-max-height-last-child-5a-dyn.html block-max-height-last-child-5-ref.html
 == block-max-height-last-child-5b-dyn.html block-max-height-last-child-5-ref.html
 == block-max-height-last-child-6a-dyn.html block-max-height-last-child-6-ref.html
 == block-max-height-last-child-6b-dyn.html block-max-height-last-child-6-ref.html
 == block-max-height-last-child-6c-dyn.html block-max-height-last-child-6-ref.html
-fails == block-max-height-last-child-7a-dyn.html block-max-height-last-child-7-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-7a-dyn.html block-max-height-last-child-7-ref.html # Bug 616339
 == block-max-height-last-child-7b-dyn.html block-max-height-last-child-7-ref.html
 == block-max-height-last-child-7c-dyn.html block-max-height-last-child-7-ref.html
-fails == block-max-height-last-child-8a-dyn.html block-max-height-last-child-8-ref.html # Bug 616339
-fails == block-max-height-last-child-8b-dyn.html block-max-height-last-child-8-ref.html # Bug 616339
-fails == block-max-height-last-child-9a-dyn.html block-max-height-last-child-9-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-8a-dyn.html block-max-height-last-child-8-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-8b-dyn.html block-max-height-last-child-8-ref.html # Bug 616339
+fails-if(!styloVsGecko) == block-max-height-last-child-9a-dyn.html block-max-height-last-child-9-ref.html # Bug 616339
 == block-max-height-last-child-9b-dyn.html block-max-height-last-child-9-ref.html
 == block-max-height-last-child-9c-dyn.html block-max-height-last-child-9-ref.html
 # If a parent box's height is not 'auto' then its bottom margin
 # never collapses with its last-child's bottom margin,
 # as these margins are not considered 'adjoining'.
 # According to CSS 2.1 ยง10.7 (Minimum and maximum heights) this is true,
 # even if the value of min- or max-height is used instead.
 == block-fix-height-last-child-1a.html block-fix-height-last-child-1-ref.html
@@ -678,29 +678,29 @@ fails == block-max-height-last-child-9a-
 == table-caption-top-1-dyn.html table-caption-top-1-ref.html
 == table-caption-top-2-dyn.html table-caption-top-1-ref.html
 == table-caption-top-outside-1-dyn.html table-caption-top-1-ref.html
 == table-caption-top-outside-2-dyn.html table-caption-top-2-ref.html
 == table-caption-bottom-1-dyn.html table-caption-bottom-1-ref.html
 == table-caption-bottom-2-dyn.html table-caption-bottom-1-ref.html
 == table-caption-bottom-outside-1-dyn.html table-caption-bottom-1-ref.html
 == table-caption-bottom-outside-2-dyn.html table-caption-bottom-1-ref.html
-fails == caption-sibling-1a.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1a.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1a.html caption-sibling-1-noref.html
-fails == caption-sibling-1b.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1b.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1b.html caption-sibling-1-noref.html
-fails == caption-sibling-1c.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1c.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1c.html caption-sibling-1-noref2.html
-fails == caption-sibling-1a-dyn.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1a-dyn.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1a-dyn.html caption-sibling-1-noref.html
-fails == caption-sibling-1b-dyn.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1b-dyn.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1b-dyn.html caption-sibling-1-noref.html
-fails == caption-sibling-1c-dyn.html caption-sibling-1-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-1c-dyn.html caption-sibling-1-ref.html # Bug 144517
 != caption-sibling-1c-dyn.html caption-sibling-1-noref2.html
-fails == caption-sibling-2-dyn.html caption-sibling-2-ref.html # Bug 144517
+fails-if(!styloVsGecko) == caption-sibling-2-dyn.html caption-sibling-2-ref.html # Bug 144517
 != caption-sibling-2-dyn.html caption-sibling-2-noref.html
 == caption-child-1.html caption-child-1-ref.html
 == caption-child-1-dyn.html caption-child-1-ref.html
 # * Multi-column elements, per CSS Multi-column Layout Module
 # (Candidate Recommendation 12 April 2011):
 # "A multi-column element establishes a new block formatting context [...]"
 == column-sibling-1a.html column-sibling-1-ref.html
 == column-sibling-1b.html column-sibling-1-ref.html
@@ -785,35 +785,35 @@ fails == caption-sibling-2-dyn.html capt
 == block-clear-5a.html block-clear-5-left-ref.html
 == block-clear-5b.html block-clear-5-left-ref.html
 == block-clear-5c.html block-clear-5-left-ref.html
 == block-clear-5d.html block-clear-5-left-ref.html
 == block-clear-5e.html block-clear-5-right-ref.html
 == block-clear-5f.html block-clear-5-right-ref.html
 == block-clear-5g.html block-clear-5-right-ref.html
 == block-clear-5h.html block-clear-5-right-ref.html
-fails == block-clear-6a-left.html block-clear-6abc-left-ref.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-6a-left.html block-clear-6abc-left-ref.html # Bug 493380
 == block-clear-6b-left.html block-clear-6abc-left-ref.html
 == block-clear-6c-left.html block-clear-6abc-left-ref.html
-fails == block-clear-6d-left.html block-clear-6def-left-ref1.html # Bug 493380
-fails == block-clear-6d-left.html block-clear-6def-left-ref2.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-6d-left.html block-clear-6def-left-ref1.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-6d-left.html block-clear-6def-left-ref2.html # Bug 493380
 == block-clear-6e-left.html block-clear-6def-left-ref1.html
 == block-clear-6e-left.html block-clear-6def-left-ref2.html
 == block-clear-6f-left.html block-clear-6def-left-ref1.html
 == block-clear-6f-left.html block-clear-6def-left-ref2.html
-fails == block-clear-7a-left.html block-clear-7abcd-left-ref.html # Bug 493380
-fails == block-clear-7b-left.html block-clear-7abcd-left-ref.html # Bug 493380
-fails == block-clear-7c-left.html block-clear-7abcd-left-ref.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7a-left.html block-clear-7abcd-left-ref.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7b-left.html block-clear-7abcd-left-ref.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7c-left.html block-clear-7abcd-left-ref.html # Bug 493380
 == block-clear-7d-left.html block-clear-7abcd-left-ref.html
-fails == block-clear-7e-left.html block-clear-7efgh-left-ref1.html # Bug 493380
-fails == block-clear-7e-left.html block-clear-7efgh-left-ref2.html # Bug 493380
-fails == block-clear-7f-left.html block-clear-7efgh-left-ref1.html # Bug 493380
-fails == block-clear-7f-left.html block-clear-7efgh-left-ref2.html # Bug 493380
-fails == block-clear-7g-left.html block-clear-7efgh-left-ref1.html # Bug 493380
-fails == block-clear-7g-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7e-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7e-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7f-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7f-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7g-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails-if(!styloVsGecko) == block-clear-7g-left.html block-clear-7efgh-left-ref2.html # Bug 493380
 == block-clear-7h-left.html block-clear-7efgh-left-ref1.html
 == block-clear-7h-left.html block-clear-7efgh-left-ref2.html
 # "Margins of the root element's box do not collapse."
 # Testing the root margins of a generic XML document.
 == block-xml-root-1.xml block-xml-root-1-ref.xml
 # In XML and XHTML, the html element is not necessarily the root element of
 # a document. In that case, the margins of the html element collapse
 # like the margins of any other block boxes.
--- a/layout/reftests/mathml/reftest.list
+++ b/layout/reftests/mathml/reftest.list
@@ -1,18 +1,18 @@
 == dir-1.html dir-1-ref.html
 == dir-2.html dir-2-ref.html
 random-if(gtkWidget) == dir-3.html dir-3-ref.html # bug 1309426
 == dir-4.html dir-4-ref.html
 == dir-5.html dir-5-ref.html
 == dir-6.html dir-6-ref.html
 == dir-6a.html dir-6a-ref.html
 == dir-7.html dir-7-ref.html
-fails == dir-8.html dir-8-ref.html
-fails == dir-9.html dir-9-ref.html # Bug 787215
+fails-if(!styloVsGecko) == dir-8.html dir-8-ref.html
+fails-if(!styloVsGecko) == dir-9.html dir-9-ref.html # Bug 787215
 == dir-10.html dir-10-ref.html
 == dir-11.html dir-11-ref.html
 == css-spacing-1.html css-spacing-1-ref.html
 pref(mathml.disabled,true) == disabled-scriptlevel-1.html disabled-scriptlevel-1-ref.html
 pref(mathml.disabled,true) == disabled-scriptlevel-1.xhtml disabled-scriptlevel-1-ref.xhtml
 == displaystyle-1.html displaystyle-1-ref.html
 == displaystyle-2.html displaystyle-2-ref.html
 == displaystyle-3.html displaystyle-3-ref.html
@@ -37,18 +37,18 @@ random-if(smallScreen&&Android) fuzzy(25
 == mfenced-5b.xhtml mfenced-5-ref.xhtml
 == mfenced-5c.xhtml mfenced-5-ref.xhtml
 == mfenced-5d.xhtml mfenced-5-ref.xhtml
 == mfenced-6.html mfenced-6-ref.html
 == mfenced-7.html mfenced-7-ref.html
 != mfenced-8.html mfenced-8-ref.html
 == mfenced-9.html mfenced-9-ref.html
 == mfenced-10.html mfenced-10-ref.html
-fails-if(gtkWidget) == mfenced-11.html mfenced-11-ref.html # bug 670592, bug 1328771
-fails-if(gtkWidget) == mfenced-12.html mfenced-12-ref.html # bug 670592, bug 1328771
+fails-if(gtkWidget&&!styloVsGecko) == mfenced-11.html mfenced-11-ref.html # bug 670592, bug 1328771
+fails-if(gtkWidget&&!styloVsGecko) == mfenced-12.html mfenced-12-ref.html # bug 670592, bug 1328771
 == mi-mathvariant-1.xhtml mi-mathvariant-1-ref.xhtml
 == mi-mathvariant-2.xhtml mi-mathvariant-2-ref.xhtml
 != mi-mathvariant-3.html mi-mathvariant-3-ref.html
 != non-spacing-accent-1.xhtml non-spacing-accent-1-ref.xhtml
 == overbar-width-1.xhtml overbar-width-1-ref.xhtml
 == quotes-1.xhtml quotes-1-ref.xhtml
 != stretchy-underbar-1.xhtml stretchy-underbar-1-ref.xhtml
 != stretchy-munderover-1a.html stretchy-munderover-1-ref.html
@@ -76,17 +76,17 @@ fails-if(gtkWidget) == mfenced-12.html m
 == stretchy-mfenced-2a.html stretchy-mfenced-2-ref.html
 != stretchy-mfenced-2b.html stretchy-mfenced-2-ref.html
 != stretchy-mfenced-3a.html stretchy-mfenced-3-ref.html
 != stretchy-mfenced-3b.html stretchy-mfenced-3-ref.html
 == stretchy-mfenced-4a.html stretchy-mfenced-4-ref.html
 == stretchy-mfenced-4b.html stretchy-mfenced-4-ref.html
 == stretchy-mover-1a.html stretchy-mover-1-ref.html
 == stretchy-mover-1b.html stretchy-mover-1-ref.html
-fails == stretchy-mover-2a.html stretchy-mover-2-ref.html
+fails-if(!styloVsGecko) == stretchy-mover-2a.html stretchy-mover-2-ref.html
 != stretchy-mover-2b.html stretchy-mover-2-ref.html
 == stretchy-mover-3.html stretchy-mover-3-ref.html
 == stretchy-largeop-1.html stretchy-largeop-1-ref.html
 == stretchy-largeop-2.html stretchy-largeop-2-ref.html
 == stretchy-largeop-3.html stretchy-largeop-3-ref.html
 == table-width-1.xhtml table-width-1-ref.xhtml
 == table-width-2.html table-width-2-ref.html
 == table-width-3.html table-width-3-ref.html
@@ -109,17 +109,17 @@ fails == stretchy-mover-2a.html stretchy
 != embellished-op-3-3.html embellished-op-3-3-ref.html
 != embellished-op-3-4.html embellished-op-3-4-ref.html
 != embellished-op-3-5.html embellished-op-3-5-ref.html
 == embellished-op-4-1.html embellished-op-4-1-ref.html
 == embellished-op-4-2.html embellished-op-4-2-ref.html
 == embellished-op-4-3.html embellished-op-4-3-ref.html
 == embellished-op-5-1.html embellished-op-5-ref.html
 == embellished-op-5-2.html embellished-op-5-ref.html
-fails-if(gtkWidget) random-if(winWidget) == semantics-1.xhtml semantics-1-ref.xhtml # bug 1309429, bug 1328771
+fails-if(gtkWidget&&!styloVsGecko) random-if(winWidget) == semantics-1.xhtml semantics-1-ref.xhtml # bug 1309429, bug 1328771
 == semantics-2.html semantics-2-ref.html
 == semantics-3.html semantics-3-ref.html
 == semantics-4.html semantics-4-ref.html
 != mathcolor-1.xml mathcolor-1-ref.xml
 != mathcolor-2.xml mathcolor-2-ref.xml
 != mathcolor-3.xml mathcolor-3-ref.xml
 == mathcolor-4.xml mathcolor-4-ref.xml
 != mathbackground-1.xml mathbackground-1-ref.xml
@@ -128,17 +128,17 @@ fails-if(gtkWidget) random-if(winWidget)
 == mathbackground-4.xml mathbackground-4-ref.xml
 == mstyle-1.xhtml mstyle-1-ref.xhtml
 == mstyle-2.xhtml mstyle-2-ref.xhtml
 fuzzy-if(OSX,16,8) == mstyle-3.xhtml mstyle-3-ref.xhtml
 == mstyle-4.xhtml mstyle-4-ref.xhtml
 == mstyle-5.xhtml mstyle-5-ref.xhtml # Bug 787215
 == scale-stretchy-1.xhtml scale-stretchy-1-ref.xhtml
 != scale-stretchy-2.xhtml scale-stretchy-2-ref.xhtml
-fails-if(skiaContent&&OSX>=1010) == scale-stretchy-3.xhtml scale-stretchy-3-ref.xhtml
+fails-if(skiaContent&&OSX>=1010&&!styloVsGecko) == scale-stretchy-3.xhtml scale-stretchy-3-ref.xhtml
 != scale-stretchy-4.xhtml scale-stretchy-4-ref.xhtml
 != scale-stretchy-5.xhtml scale-stretchy-5-ref.xhtml
 != stretchy-1.html stretchy-1-ref.html
 == mspace-1.html mspace-1-ref.html
 == mpadded-1.html mpadded-1-ref.html
 == mpadded-2.html mpadded-2-ref.html
 == mpadded-3.html mpadded-3-ref.html
 == mpadded-4.html mpadded-4-ref.html
@@ -193,17 +193,17 @@ random-if(gtkWidget) == mpadded-9.html m
 == mo-lspace-rspace-4.html mo-lspace-rspace-4-ref.html
 == mo-invisibleoperators.html mo-invisibleoperators-ref.html
 == mo-invisibleoperators-2.html mo-invisibleoperators-2-ref.html
 random-if(gtkWidget) == mo-glyph-size.html mo-glyph-size-ref.html # bug 1309426
 == maction-dynamic-3.html maction-dynamic-3-ref.html # bug 773482
 == whitespace-trim-1.html whitespace-trim-1-ref.html
 == whitespace-trim-2.html whitespace-trim-2-ref.html
 == whitespace-trim-3.html whitespace-trim-3-ref.html
-fails == whitespace-trim-4.html whitespace-trim-4-ref.html # Bug 787215
+fails-if(!styloVsGecko) == whitespace-trim-4.html whitespace-trim-4-ref.html # Bug 787215
 == whitespace-trim-5.html whitespace-trim-5-ref.html
 random-if(winWidget&&!d2d) == opentype-stretchy.html opentype-stretchy-ref.html
 == opentype-fraction-dynamic-linethickness.html opentype-fraction-dynamic-linethickness-ref.html
 == operator-1.xhtml operator-1-ref.xhtml
 == scriptshift-1.xhtml scriptshift-1-ref.xhtml
 == number-size-1.xhtml number-size-1-ref.xhtml
 fuzzy-if(skiaContent,1,80) fuzzy-if(Android,255,105) skip-if(winWidget) == multiscripts-1.html multiscripts-1-ref.html # Windows: bug 1314684; Android: bug 1392254
 == mathml-mmultiscript-base.html mathml-mmultiscript-base-ref.html
@@ -279,22 +279,22 @@ fuzzy-if(d2d,7,1) == menclose-6-downdiag
 == menclose-6-right.html menclose-6-ref.html
 fuzzy-if(skiaContent,2,3) == menclose-6-roundedbox.html menclose-6-ref.html
 == menclose-6-top.html menclose-6-ref.html
 == menclose-6-updiagonalarrow.html menclose-6-ref.html
 fuzzy-if(d2d,7,1) == menclose-6-updiagonalstrike.html menclose-6-ref.html
 == menclose-6-verticalstrike.html menclose-6-ref.html
 == menclose-6-phasorangle.html menclose-6-ref.html
 == mmultiscript-align.html mmultiscript-align-ref.html
-fails-if(winWidget) == subscript-italic-correction.html subscript-italic-correction-ref.html # bug 961482
+fails-if(winWidget&&!styloVsGecko) == subscript-italic-correction.html subscript-italic-correction-ref.html # bug 961482
 fails-if(Android) == mathvariant-1a.html mathvariant-1a-ref.html # Bug 1010679
 fails-if(Android) == mathvariant-1b.html mathvariant-1b-ref.html # Bug 1010679
 fails-if(Android) == mathvariant-1c.html mathvariant-1c-ref.html # Bug 1010679
 == mathvariant-1d.html mathvariant-1d-ref.html
-fails-if(Android||OSX) == mathvariant-2.html mathvariant-2-ref.html # Bugs 1010678, 1010679
+fails-if((Android||OSX)&&!styloVsGecko) == mathvariant-2.html mathvariant-2-ref.html # Bugs 1010678, 1010679
 == mathvariant-3.html mathvariant-3-ref.html
 == mathvariant-4.html mathvariant-4-ref.html
 == mathvariant-5.html mathvariant-5-ref.html
 == dtls-1.html dtls-1-ref.html
 == dtls-2.html dtls-2-ref.html
 == dtls-3.html dtls-3-ref.html
 == ssty-1.html ssty-1-ref.html
 == ssty-2.html ssty-2-ref.html
--- a/layout/reftests/object/reftest.list
+++ b/layout/reftests/object/reftest.list
@@ -30,18 +30,18 @@ HTTP == type-overridden-by-server.html t
 == unknown-type.html unknown-type-ref.html
 == malformed-xml.html malformed-xml-ref.html
 == malformed-xml-with-type.html malformed-xml-with-type-ref.html
 #
 # XXX missing tests 025-28 from http://biesi.damowmow.com/object/ here; would
 #     need to require Flash on the test machine to run them
 #
 # XXX need to support <img src="foo.svg"> for these to pass
-fails == svg.html svg-ref.html
-fails == svg-with-type.html svg-with-type-ref.html
+fails-if(!styloVsGecko) == svg.html svg-ref.html
+fails-if(!styloVsGecko) == svg-with-type.html svg-with-type-ref.html
 #
 # XXX missing test 031 from http://biesi.damowmow.com/object/ here; need to
 #     first support the standby attribute on objects, then need to figure out
 #     how to reproduce the setup needed for that test such that reftest will
 #     handle it correctly, since a still-loading image probably delays the
 #     snapshot reftest takes
 #
 # XXX missing test 032 from http://biesi.damowmow.com/object/ here; would
--- a/layout/reftests/pagination/reftest.list
+++ b/layout/reftests/pagination/reftest.list
@@ -17,39 +17,39 @@ pref(layout.css.box-decoration-break.ena
 == abspos-breaking-dynamic-002.html abspos-breaking-dynamic-002-ref.html
 == abspos-breaking-dynamic-003.html abspos-breaking-dynamic-003-ref.html
 == abspos-overflow-01.xhtml abspos-overflow-01.ref.xhtml
 == abspos-overflow-01-cols.xhtml abspos-overflow-01-cols.ref.xhtml
 == border-breaking-000-cols.xhtml border-breaking-000-cols.ref.xhtml
 == border-breaking-001-cols.xhtml border-breaking-001-cols.ref.xhtml
 == border-breaking-002-cols.xhtml border-breaking-002-cols.ref.xhtml
 == border-breaking-003-cols.xhtml border-breaking-003-cols.ref.xhtml
-fails == border-breaking-004-cols.xhtml border-breaking-002-cols.ref.xhtml
+fails-if(!styloVsGecko) == border-breaking-004-cols.xhtml border-breaking-002-cols.ref.xhtml
 == content-inserted-000.xhtml content-inserted-000.ref.xhtml
 == content-inserted-001.xhtml content-inserted-001.ref.xhtml
 == content-inserted-002.xhtml content-inserted-002.ref.xhtml
 == content-inserted-003.xhtml content-inserted-002.ref.xhtml
 == content-inserted-004.xhtml content-inserted-002.ref.xhtml
 == content-inserted-005.xhtml content-inserted-002.ref.xhtml
 == content-inserted-006.xhtml content-inserted-002.ref.xhtml
 == content-inserted-007.xhtml content-inserted-002.ref.xhtml
 == content-inserted-008.xhtml content-inserted-001.ref.xhtml
 == content-inserted-009.xhtml content-inserted-002.ref.xhtml
 == dynamic-abspos-overflow-01-cols.xhtml dynamic-abspos-overflow-01-cols.ref.xhtml
-test-pref(layout.float-fragments-inside-column.enabled,false) fails == float-clear-000.html float-clear-000.ref.html
+test-pref(layout.float-fragments-inside-column.enabled,false) fails-if(!styloVsGecko) == float-clear-000.html float-clear-000.ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == float-clear-000.html float-clear-000.ref.html
-fails == float-clear-001.html float-clear-000.ref.html
-test-pref(layout.float-fragments-inside-column.enabled,false) fails == float-clear-002.html float-clear-000.ref.html
+fails-if(!styloVsGecko) == float-clear-001.html float-clear-000.ref.html
+test-pref(layout.float-fragments-inside-column.enabled,false) fails-if(!styloVsGecko) == float-clear-002.html float-clear-000.ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == float-clear-002.html float-clear-000.ref.html
-fails == float-clear-003.html float-clear-000.ref.html
+fails-if(!styloVsGecko) == float-clear-003.html float-clear-000.ref.html
 == float-clear-000-print.html float-clear-000-print.ref.html
 == float-clear-001-print.html float-clear-000-print.ref.html
 == float-clear-002-print.html float-clear-000-print.ref.html
 == float-clear-003-print.html float-clear-000-print.ref.html
-fails == float-continuations-000.html float-continuations-000.ref.html
+fails-if(!styloVsGecko) == float-continuations-000.html float-continuations-000.ref.html
 fuzzy-if(skiaContent,1,21) == resize-reflow-000.html resize-reflow-000.ref.html
 fuzzy-if(skiaContent,1,23) == resize-reflow-001.html resize-reflow-001.ref.html
 == table-page-break-before-auto-1.html table-page-break-before-auto-1-ref.html
 #== table-page-break-before-auto-2.html table-page-break-before-auto-2-ref.html bug 563280
 == table-page-break-before-always-1.html table-page-break-before-auto-2-ref.html
 == table-page-break-before-left-1.html table-page-break-before-auto-2-ref.html
 == table-page-break-before-right-1.html table-page-break-before-auto-2-ref.html
 == table-page-break-after-always-1.html table-page-break-before-auto-2-ref.html
--- a/layout/reftests/pixel-rounding/reftest.list
+++ b/layout/reftests/pixel-rounding/reftest.list
@@ -75,28 +75,28 @@
 == background-image-height-top-5.html background-image-height-5.html
 == background-image-height-top-6.html background-image-height-6.html
 == background-image-width-left-4.html background-image-width-4.html
 == background-image-width-left-5.html background-image-width-5.html
 == background-image-width-left-6.html background-image-width-6.html
 
 
 # These all fail due bug 371180, plus a bunch of other bugs that ought to be filed.
-fails == collapsed-border-height-4.html border-base-ref.html
-fails == collapsed-border-height-5.html border-height-10-ref.html
-fails == collapsed-border-height-6.html border-height-10-ref.html
-fails == collapsed-border-width-4.html border-base-ref.html
-fails == collapsed-border-width-5.html border-width-10-ref.html
-fails == collapsed-border-width-6.html border-width-10-ref.html
-fails == collapsed-border-left-4.html border-base-ref.html
-fails == collapsed-border-left-5.html border-left-10-ref.html
-fails == collapsed-border-left-6.html border-left-10-ref.html
-fails == collapsed-border-top-4.html border-base-ref.html
-fails == collapsed-border-top-5.html border-top-10-ref.html
-fails == collapsed-border-top-6.html border-top-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-height-4.html border-base-ref.html
+fails-if(!styloVsGecko) == collapsed-border-height-5.html border-height-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-height-6.html border-height-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-width-4.html border-base-ref.html
+fails-if(!styloVsGecko) == collapsed-border-width-5.html border-width-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-width-6.html border-width-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-left-4.html border-base-ref.html
+fails-if(!styloVsGecko) == collapsed-border-left-5.html border-left-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-left-6.html border-left-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-top-4.html border-base-ref.html
+fails-if(!styloVsGecko) == collapsed-border-top-5.html border-top-10-ref.html
+fails-if(!styloVsGecko) == collapsed-border-top-6.html border-top-10-ref.html
 
 
 != image-base-ref.html image-height-10-ref.html
 == image-height-4.html image-base-ref.html
 == image-height-5.html image-height-10-ref.html
 == image-height-6.html image-height-10-ref.html
 != image-base-ref.html image-top-10-ref.html
 == image-top-4.html image-base-ref.html
--- a/layout/reftests/position-sticky/reftest.list
+++ b/layout/reftests/position-sticky/reftest.list
@@ -36,16 +36,16 @@ fuzzy-if(Android,2,3) == stacking-contex
 fuzzy-if(Android,4,810) == containing-block-1.html containing-block-1-ref.html
 == overconstrained-1.html overconstrained-1-ref.html
 == overconstrained-2.html overconstrained-2-ref.html
 == overconstrained-3.html overconstrained-3-ref.html
 == inline-1.html inline-1-ref.html
 == inline-2.html inline-2-ref.html
 fuzzy-if(OSX,99,210) == inline-3.html inline-3-ref.html
 fails-if(webrender) skip-if(!asyncPan) == inline-4.html inline-4-ref.html   # bug 1366295 for webrender
-fails == column-contain-1a.html column-contain-1-ref.html
+fails-if(!styloVsGecko) == column-contain-1a.html column-contain-1-ref.html
 == column-contain-1b.html column-contain-1-ref.html
 == column-contain-2.html column-contain-2-ref.html
 == block-in-inline-1.html block-in-inline-1-ref.html
 fuzzy-if(skiaContent,1,22) fuzzy-if(winWidget&&!layersGPUAccelerated,116,1320) fuzzy-if(Android,8,1533) == block-in-inline-2.html block-in-inline-2-ref.html
 fuzzy-if(Android,8,630) fuzzy-if(OSX,1,11) fuzzy-if(skiaContent,1,220) fuzzy-if(winWidget&&!layersGPUAccelerated,116,1320) == block-in-inline-3.html block-in-inline-3-ref.html
 == block-in-inline-continuations.html block-in-inline-continuations-ref.html
 fuzzy-if(winWidget&&!layersGPUAccelerated,140,140) == inner-table-1.html inner-table-1-ref.html
--- a/layout/reftests/reftest-sanity/reftest.list
+++ b/layout/reftests/reftest-sanity/reftest.list
@@ -39,19 +39,19 @@ HTTP != blank.html default.html
 HTTP(..) == filter-1.xhtml filter-1-ref.xhtml
 HTTP(..) == filter-2.xhtml filter-2-ref.xhtml
 
 # test that the MozReftestInvalidate event fires
 == invalidation.html about:blank
 == zoom-invalidation.html zoom-invalidation-ref.html # bug 773482
 
 # test that xulRuntime.OS works
-fails-if(xulRuntime.OS!="Linux"&&!Android) == data:text/html,<body>Linux data:text/html,<script>document.write(navigator.platform.substr(0,5))</script>
-fails-if(xulRuntime.OS!="WINNT") == data:text/html,<body>Win data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
-fails-if(xulRuntime.OS!="Darwin") == data:text/html,<body>Mac data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
+fails-if(xulRuntime.OS!="Linux"&&!Android&&!styloVsGecko) == data:text/html,<body>Linux data:text/html,<script>document.write(navigator.platform.substr(0,5))</script>
+fails-if(xulRuntime.OS!="WINNT"&&!styloVsGecko) == data:text/html,<body>Win data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
+fails-if(xulRuntime.OS!="Darwin"&&!styloVsGecko) == data:text/html,<body>Mac data:text/html,<script>document.write(navigator.platform.substr(0,3))</script>
 
 # test parsing of asserts() expressions
 asserts(0) load about:blank
 asserts(0-5) load about:blank
 asserts-if(true,0) load about:blank
 asserts-if(false,7) load about:blank
 asserts-if(true,0-4) load about:blank
 asserts-if(false,6-8) load about:blank
@@ -81,17 +81,17 @@ include default-preferences-tests.list
 != page-height-2in.html page-height-2.1in.html
 == page-height-2in.html page-height-nobreak.html
 == page-height-2.1in.html page-height-forcebreak.html
 
 # Check that tests that need focus are skipped when it's not available
 needs-focus load needs-focus.html
 
 # Bug 632636
-fails == data:text/plain,HELLO about:blank
+fails-if(!styloVsGecko) == data:text/plain,HELLO about:blank
 needs-focus == data:text/plain, about:blank
 
 # Sanity check of viewport+displayport overrides
 pref(dom.meta-viewport.enabled,true) skip-if(!browserIsRemote) != test-displayport-2.html test-displayport-ref.html # bug 593168
 skip-if(!browserIsRemote) fails-if(OSX&&layersGPUAccelerated) fuzzy-if(layersOMTC,1,1390) random-if(Android) random-if(transparentScrollbars) == 647192-1.html 647192-1-ref.html
 skip-if(!browserIsRemote) == 656041-1.html 656041-1-ref.html
 pref(dom.meta-viewport.enabled,true) skip-if(!browserIsRemote||layersOMTC) == test-displayport-bg.html test-displayport-ref.html # bug 694706
 
@@ -108,41 +108,41 @@ require-or(unrecognizedCondition&&true,s
 require-or(unrecognizedCondition,fails) script scripttest-fail.html
 require-or(true,fails) script scripttest-pass.html
 require-or(true&&true,fails) script scripttest-pass.html
 
 # tests for pref(...) syntax in manifest, including "fails" examples with incorrect prefs
 # a boolean pref
 pref(gfx.downloadable_fonts.enabled,true) skip-if(styloVsGecko) HTTP(..) != font-download.html font-default.html
 pref(gfx.downloadable_fonts.enabled,false) skip-if(styloVsGecko) HTTP(..) == font-download.html font-default.html
-fails pref(gfx.downloadable_fonts.enabled,0) HTTP(..) == font-download.html font-default.html
-fails pref(gfx.downloadable_fonts.enabled,"foo") HTTP(..) == font-download.html font-default.html
+fails-if(!styloVsGecko) pref(gfx.downloadable_fonts.enabled,0) skip-if(styloVsGecko) HTTP(..) == font-download.html font-default.html
+fails-if(!styloVsGecko) pref(gfx.downloadable_fonts.enabled,"foo") skip-if(styloVsGecko) HTTP(..) == font-download.html font-default.html
 # a non-existent pref
-fails pref(not.a.real.pref.name,1) == font-download.html font-default.html
+fails-if(!styloVsGecko) pref(not.a.real.pref.name,1) skip-if(styloVsGecko) == font-download.html font-default.html
 # an integer pref
 pref(font.size.variable.x-western,16) == font-size-16.html font-default.html
 pref(font.size.variable.x-western,16) != font-size-24.html font-default.html
 pref(font.size.variable.x-western,24) == font-size-24.html font-default.html
 pref(font.size.variable.x-western,24) != font-size-16.html font-default.html
-fails pref(font.size.variable.x-western,false) == font-size-16.html font-default.html
-fails pref(font.size.variable.x-western,"foo") == font-size-16.html font-default.html
+fails-if(!styloVsGecko) pref(font.size.variable.x-western,false) skip-if(styloVsGecko) == font-size-16.html font-default.html
+fails-if(!styloVsGecko) pref(font.size.variable.x-western,"foo") skip-if(styloVsGecko) == font-size-16.html font-default.html
 # a string pref
 pref(font.default.x-western,"serif") == font-serif.html font-default.html
 pref(font.default.x-western,"serif") != font-sans-serif.html font-default.html
 pref(font.default.x-western,"sans-serif") == font-sans-serif.html font-default.html
 pref(font.default.x-western,"sans-serif") != font-serif.html font-default.html
 fails pref(font.default.x-western,true) == font-serif.html font-default.html
 fails pref(font.default.x-western,0) == font-serif.html font-default.html
 # tests for ref-pref, and test-pref
 ref-pref(font.size.variable.x-western,16) skip-if(styloVsGecko) == font-size-16.html font-default.html
 ref-pref(font.size.variable.x-western,16) skip-if(styloVsGecko) != font-size-24.html font-default.html
 ref-pref(font.size.variable.x-western,24) skip-if(styloVsGecko) == font-size-24.html font-default.html
 ref-pref(font.size.variable.x-western,24) skip-if(styloVsGecko) != font-size-16.html font-default.html
-fails ref-pref(font.size.variable.x-western,false) == font-size-16.html font-default.html
-fails ref-pref(font.size.variable.x-western,"foo") == font-size-16.html font-default.html
+fails-if(!styloVsGecko) ref-pref(font.size.variable.x-western,false) skip-if(styloVsGecko) == font-size-16.html font-default.html
+fails-if(!styloVsGecko) ref-pref(font.size.variable.x-western,"foo") skip-if(styloVsGecko) == font-size-16.html font-default.html
 test-pref(font.size.variable.x-western,16) == font-default.html font-size-16.html
 test-pref(font.size.variable.x-western,16) != font-default.html font-size-24.html
 test-pref(font.size.variable.x-western,24) == font-default.html font-size-24.html
 test-pref(font.size.variable.x-western,24) != font-default.html font-size-16.html
 fails test-pref(font.size.variable.x-western,false) == font-default.html font-size-16.html
 fails test-pref(font.size.variable.x-western,"foo") == font-default.html font-size-16.html
 ref-pref(font.size.variable.x-western,16) test-pref(font.size.variable.x-western,24) skip-if(styloVsGecko) != font-default.html font-default.html
 ref-pref(font.size.variable.x-western,24) test-pref(font.size.variable.x-western,16) skip-if(styloVsGecko) != font-default.html font-default.html
@@ -158,17 +158,17 @@ fuzzy(1-10,1-250000) fuzzy-if(false,5-10
 fuzzy(0-0,250000) skip-if(styloVsGecko) != fuzzy.html fuzzy-ref.html
 fuzzy(1,0-2) skip-if(styloVsGecko) != fuzzy.html fuzzy-ref.html
 # If enabled, the following two should result in UNEXPECTED-PASS because
 # they are both overfuzzed
 # fuzzy(3-4,250000) == fuzzy.html fuzzy-ref.html
 # fuzzy(1,250001-250002) == fuzzy.html fuzzy-ref.html
 #
 # When using 565 fuzzy.html and fuzzy-ref.html will compare as equal
-fails fuzzy-if(false,2,1) random-if(Android) == fuzzy.html fuzzy-ref.html
+fails-if(!styloVsGecko) fuzzy-if(false,2,1) random-if(Android) == fuzzy.html fuzzy-ref.html
 
 # Test that reftest-no-paint fails correctly.
 # Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
 fails random-if(webrender) == reftest-no-paint.html reftest-no-paint-ref.html
 
 skip-if(!asyncPan||!browserIsRemote) == async-scroll-1a.html async-scroll-1-ref.html
 
 # Disable low-res painting for this test as it will cause more to
@@ -187,25 +187,25 @@ random-if(webrender) != reftest-opaque-l
 random-if(webrender) != about:blank reftest-opaque-layer-pass.html
 fails random-if(webrender) == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
 
 # If reftest-opaque-layer fails (no matter whether it fails in the test or in the reference),
 # it shouldn't matter whether the test matches the reference.
 # Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
 fails random-if(webrender) != reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
 fails random-if(webrender) == reftest-opaque-layer-fail.html about:blank
-fails random-if(webrender) == about:blank reftest-opaque-layer-fail.html
+fails-if(!styloVsGecko) random-if(webrender) == about:blank reftest-opaque-layer-fail.html
 fails random-if(webrender) != reftest-opaque-layer-fail.html about:blank
-fails random-if(webrender) != about:blank reftest-opaque-layer-fail.html
+fails-if(!styloVsGecko) random-if(webrender) != about:blank reftest-opaque-layer-fail.html
 
 # reftest-opaque-layer and reftest-wait
 # Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
 random-if(webrender) == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-pass.html
 random-if(webrender) != reftest-opaque-layer-wait-pass.html about:blank
-fails random-if(webrender) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
-fails random-if(webrender) != reftest-opaque-layer-wait-fail.html about:blank
+fails fails-if(styloVsGecko) random-if(webrender) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-opaque-layer-wait-fail.html about:blank
 
 # reftest-assigned-layer
 random-if(webrender) != reftest-assigned-layer-pass.html about:blank
-fails random-if(webrender) != reftest-assigned-layer-fail-1.html about:blank
-fails random-if(webrender) != reftest-assigned-layer-fail-2.html about:blank
-fails random-if(webrender) != reftest-assigned-layer-fail-3.html about:blank
-fails random-if(webrender) != reftest-assigned-layer-fail-4.html about:blank
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-assigned-layer-fail-1.html about:blank
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-assigned-layer-fail-2.html about:blank
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-assigned-layer-fail-3.html about:blank
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-assigned-layer-fail-4.html about:blank
--- a/layout/reftests/scoped-style/reftest.list
+++ b/layout/reftests/scoped-style/reftest.list
@@ -30,27 +30,27 @@ fails-if(styloVsGecko||stylo) == scoped-
 == scoped-style-important-004.html scoped-style-important-004-ref.html
 == scoped-style-important-005.html scoped-style-important-005-ref.html
 == scoped-style-important-006.html scoped-style-important-006-ref.html
 == scoped-style-important-007.html scoped-style-important-007-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-001.html scoped-style-dynamic-001-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-002.html scoped-style-dynamic-002-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-003.html scoped-style-dynamic-003-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-004.html scoped-style-dynamic-004-ref.html
-asserts-if(styloVsGecko,0-1) asserts-if(stylo,1) == scoped-style-dynamic-005.html scoped-style-dynamic-005-ref.html # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
+asserts-if(styloVsGecko,1) asserts-if(stylo,1) == scoped-style-dynamic-005.html scoped-style-dynamic-005-ref.html
 skip-if(styloVsGecko) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-006.html scoped-style-dynamic-006-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-007.html scoped-style-dynamic-007-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-008.html scoped-style-dynamic-008-ref.html
 skip-if(styloVsGecko) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-009.html scoped-style-dynamic-009-ref.html
-asserts-if(styloVsGecko,0-1) asserts-if(stylo,1) == scoped-style-dynamic-010.html scoped-style-dynamic-010-ref.html # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
+asserts-if(styloVsGecko,1) asserts-if(stylo,1) == scoped-style-dynamic-010.html scoped-style-dynamic-010-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-dynamic-011.html scoped-style-dynamic-011-ref.html
-asserts-if(styloVsGecko,0-1) asserts-if(stylo,1) == scoped-style-dynamic-012.svg scoped-style-dynamic-012-ref.svg # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
-fails-if(styloVsGecko) asserts-if(styloVsGecko,1) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-013.svg scoped-style-dynamic-013-ref.svg # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
-asserts-if(styloVsGecko,0-1) asserts-if(stylo,1) == scoped-style-dynamic-014.svg scoped-style-dynamic-014-ref.svg # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
-fails-if(styloVsGecko) asserts-if(styloVsGecko,0-1) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-015.svg scoped-style-dynamic-015-ref.svg # bug 1394603: 0-1 styloVsGecko asserts because there are 0 Gecko asserts and 1 Stylo assert.
+asserts-if(styloVsGecko,1) asserts-if(stylo,1) == scoped-style-dynamic-012.svg scoped-style-dynamic-012-ref.svg
+fails-if(styloVsGecko) asserts-if(styloVsGecko,1) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-013.svg scoped-style-dynamic-013-ref.svg
+asserts-if(styloVsGecko,1) asserts-if(stylo,1) == scoped-style-dynamic-014.svg scoped-style-dynamic-014-ref.svg
+fails-if(styloVsGecko) asserts-if(styloVsGecko,1) asserts-if(stylo,1) fails-if(stylo) == scoped-style-dynamic-015.svg scoped-style-dynamic-015-ref.svg
 fails-if(styloVsGecko||stylo) == scoped-style-import.html scoped-style-import-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-media.html scoped-style-media-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-namespace.html scoped-style-namespace-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-charset.html scoped-style-charset-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-document.html scoped-style-document-ref.html
 fails-if(styloVsGecko||stylo) HTTP(..) == scoped-style-font-face.html scoped-style-font-face-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-keyframes.html scoped-style-keyframes-ref.html
 fails-if(styloVsGecko||stylo) == scoped-style-supports.html scoped-style-supports-ref.html
--- a/layout/reftests/selection/reftest.list
+++ b/layout/reftests/selection/reftest.list
@@ -22,18 +22,18 @@ fuzzy-if(skiaContent,1,700) == extend-3f
 fuzzy-if(skiaContent,1,700) == extend-3g.html extend-3-ref.html
 fuzzy-if(skiaContent,1,700) == extend-3h.html extend-3-ref.html
 fuzzy-if(skiaContent,1,700) == extend-3i.html extend-3-ref.html
 == extend-4a.html extend-4-ref.html
 == extend-4b.html extend-4-ref.html
 # these 3 random-if(Android) are a difference of Native & Xul, see bug 739714
 random-if(Android) needs-focus != pseudo-element-of-native-anonymous.html pseudo-element-of-native-anonymous-ref.html # bug 676641
 # These tests uses Highlight and HighlightText color keywords, they are not same as text selection color on Mac.
-random-if(Android) fails-if(cocoaWidget) needs-focus == non-themed-widget.html non-themed-widget-ref.html
-random-if(Android) fails-if(cocoaWidget) needs-focus == themed-widget.html themed-widget-ref.html
+random-if(Android) fails-if(cocoaWidget&&!styloVsGecko) needs-focus == non-themed-widget.html non-themed-widget-ref.html
+random-if(Android) fails-if(cocoaWidget&&!styloVsGecko) needs-focus == themed-widget.html themed-widget-ref.html
 == addrange-1.html addrange-ref.html
 fuzzy-if(skiaContent,1,1200) == addrange-2.html addrange-ref.html
 == splitText-normalize.html splitText-normalize-ref.html
 == modify-range.html modify-range-ref.html
 == dom-mutations.html dom-mutations-ref.html
 fuzzy-if(OSX==1010,9,1) fuzzy-if(OSX&&skiaContent,6,1) fuzzy-if(skiaContent&&!OSX,1,2138) == trailing-space-1.html trailing-space-1-ref.html
 != invalidation-1-ref.html invalidation-2-ref.html
 == invalidation-1a.html invalidation-1-ref.html
--- a/layout/reftests/svg/filters/reftest.list
+++ b/layout/reftests/svg/filters/reftest.list
@@ -67,17 +67,17 @@ skip-if(d2d) == feGaussianBlur-cap-large
 
 == filter-clipped-rect-01.svg pass.svg
 == filter-in-pattern-01.svg pass.svg
 fuzzy(5,67) != filter-in-pattern-02.svg filter-in-pattern-02-ref.svg
 random-if(winWidget) == filter-in-mask.svg pass.svg # bug 1356139
 == filter-inner-svg-01.svg pass.svg
 == filter-inner-svg-02.svg pass.svg
 == filter-inner-svg-03.svg pass.svg
-fails == filter-marked-line-01.svg pass.svg # bug 477704
+fails-if(!styloVsGecko) == filter-marked-line-01.svg pass.svg # bug 477704
 == filter-kernelUnitLength-01.svg filter-kernelUnitLength-01-ref.svg
 == filter-marked-line-02.svg pass.svg
 == filter-marked-line-03.svg pass.svg
 == filter-marked-line-04.svg pass.svg
 == filter-marked-line-05.svg pass.svg
 == filter-marked-line-06.svg pass.svg
 == filter-marked-line-07.svg pass.svg
 == filter-marked-line-08.svg pass.svg
--- a/layout/reftests/svg/moz-only/reftest.list
+++ b/layout/reftests/svg/moz-only/reftest.list
@@ -1,18 +1,19 @@
+
 # XBL tests
 == xbl-basic-01.svg                             pass.svg
 == xbl-basic-02.svg                             pass.svg
 == xbl-basic-03.svg                             pass.svg
 == xbl-grad-ref--grad-in-binding-01.svg         pass.svg
 == xbl-grad-ref--grad-in-binding-02.svg         pass.svg
 == xbl-grad-ref--grad-in-bound-01.svg           pass.svg
-fails == xbl-grad-ref--grad-in-bound-02.svg     pass-black.svg
-fails == xbl-grad-ref--grad-in-resources-01.svg pass.svg
-fails == xbl-grad-ref--grad-in-resources-02.svg pass.svg
+fails-if(!styloVsGecko) == xbl-grad-ref--grad-in-bound-02.svg     pass-black.svg
+fails-if(!styloVsGecko) == xbl-grad-ref--grad-in-resources-01.svg pass.svg
+fails-if(!styloVsGecko) == xbl-grad-ref--grad-in-resources-02.svg pass.svg
 == xbl-grad-ref--grad-in-binding-03.svg         pass.svg
 == xbl-grad-ref--grad-in-bound-03.svg           pass.svg
 == xbl-grad-ref--grad-in-binding-04.svg         pass.svg
 == xbl-grad-ref--grad-in-bound-04.svg           pass.svg
 
 # Tests for zooming with the full page zoom UI
 random-if(d2d) == feImage-zoom-01a.svg          feImage-zoom-01-ref.svg
 random-if(d2d) == feImage-zoom-01b.svg          feImage-zoom-01-ref.svg
--- a/layout/reftests/svg/sizing/reftest.list
+++ b/layout/reftests/svg/sizing/reftest.list
@@ -302,10 +302,11 @@ random-if(Android) == object--auto-auto-
 # Here we have an assortment of different tests to check that updates occur
 # correctly when changes are made that should result in a change in the size
 # or position of the SVG.
 
 == dynamic--inline-css-height.xhtml             pass.svg
 == dynamic--inline-css-width.xhtml              pass.svg
 skip == dynamic--inline-resize-window-height.xhtml  pass.svg # XXX breaks the reftest run as the window height somehow is not restored
 skip == dynamic--inline-resize-window-width.xhtml    pass.svg # Fails way too much
-fails random-if(Android) == dynamic--object-svg-unloaded.xhtml     pass.svg
+fails-if(!styloVsGecko) random-if(Android) == dynamic--object-svg-unloaded.xhtml     pass.svg
 # == dynamic--object--auto-auto--pct-px.html 
+
--- a/layout/reftests/svg/smil/reftest.list
+++ b/layout/reftests/svg/smil/reftest.list
@@ -69,17 +69,17 @@ include event/reftest.list
 == anim-discrete-to-3.svg          anim-standard-ref.svg
 == anim-discrete-to-4.svg          anim-standard-ref.svg
 
 == anim-indefinite-to-1.svg        anim-standard-ref.svg
 == anim-indefinite-to-2.svg        anim-standard-ref.svg
 == anim-indefinite-to-3.svg        anim-standard-ref.svg
 == anim-indefinite-to-4.svg        anim-standard-ref.svg
 
-fails == anim-fillcolor-1.svg      anim-standard-ref.svg # bug 436296
+fails-if(!styloVsGecko) == anim-fillcolor-1.svg      anim-standard-ref.svg # bug 436296
 == anim-fillopacity-1none.svg anim-standard-ref.svg
 == anim-fillopacity-1css.svg  anim-standard-ref.svg
 == anim-fillopacity-1xml.svg  anim-standard-ref.svg
 
 fuzzy-if(skiaContent,1,3600) == anim-opacity-01.svg lime.svg
 
 == anim-height-done-1a.svg anim-standard-ref.svg
 == anim-height-done-1b.svg anim-standard-ref.svg
@@ -188,17 +188,17 @@ skip-if(styloVsGecko) == anim-view-01.sv
 == anim-retarget-2.svg anim-standard-ref.svg
 == anim-retarget-3.svg anim-standard-ref.svg
 == anim-retarget-4.svg anim-standard-ref.svg
 == anim-retarget-5.svg anim-standard-ref.svg
 == anim-retarget-6.svg anim-standard-ref.svg
 == anim-retarget-7.svg anim-standard-ref.svg
 == anim-retarget-8.svg anim-standard-ref.svg
 
-fails == anim-strokecolor-1.svg anim-standard-ref.svg # bug 436296
+fails-if(!styloVsGecko) == anim-strokecolor-1.svg anim-standard-ref.svg # bug 436296
 == anim-strokewidth-1xml.svg anim-standard-ref.svg
 
 == anim-targethref-1.svg anim-standard-ref.svg
 == anim-targethref-2.svg anim-standard-ref.svg
 == anim-targethref-3.svg anim-standard-ref.svg
 == anim-targethref-4.svg anim-standard-ref.svg
 == anim-targethref-5.svg anim-standard-ref.svg
 == anim-targethref-6.svg anim-standard-ref.svg
@@ -231,17 +231,17 @@ skip == anim-text-x-y-dx-dy-01.svg anim-
 == anim-y-interp-3.svg anim-y-interp-3-ref.svg
 == anim-y-interp-4.svg anim-y-interp-4-ref.svg
 == anim-y-interp-5.svg anim-y-interp-5-ref.svg
 == anim-y-interp-6.svg anim-y-interp-6-ref.svg
 
 # Test we don't rely on HasAttr to see if an attribute has been set
 == anim-rect-rxry-1.svg anim-rect-rxry-1-ref.svg
 == anim-pattern-attr-presence-01.svg anim-pattern-attr-presence-01-ref.svg
-fails == anim-pattern-attr-presence-02.svg anim-pattern-attr-presence-02-ref.svg
+fails-if(!styloVsGecko) == anim-pattern-attr-presence-02.svg anim-pattern-attr-presence-02-ref.svg
 # ^ bug 621651
 fuzzy-if(cocoaWidget&&layersGPUAccelerated,1,2) == anim-gradient-attr-presence-01.svg anim-gradient-attr-presence-01-ref.svg
 
 == api-sanity-1.svg lime.svg
 
 == freeze-applied-late-1.svg anim-standard-ref.svg
 == freeze-applied-late-2.svg anim-standard-ref.svg
 == freeze-applied-late-3.svg anim-standard-ref.svg
--- a/layout/reftests/svg/smil/style/reftest.list
+++ b/layout/reftests/svg/smil/style/reftest.list
@@ -92,17 +92,17 @@ fuzzy-if(skiaContent,1,365) == anim-css-
 == anim-css-fontsize-1-from-to-px-pct.svg   anim-css-fontsize-1-ref.svg
 
 # 'font-size' property, with negative addition
 == anim-css-fontsize-2-from-by-px-px.svg    anim-css-fontsize-2-ref.svg
 == anim-css-fontsize-2-from-by-px-em.svg    anim-css-fontsize-2-ref.svg
 == anim-css-fontsize-2-from-by-em-em.svg    anim-css-fontsize-2-ref.svg
 
 # 'stroke-dasharray' property, from/to with pixel values only
-fails == anim-css-strokedasharray-1.svg anim-css-strokedasharray-1-ref.svg # bug 474049
+skip-if(!styloVsGecko) == anim-css-strokedasharray-1.svg anim-css-strokedasharray-1-ref.svg
 
 # 'stroke-width' property, from/by/to with pixel values only
 == anim-css-strokewidth-1-by-px-px.svg        anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-by-px-px.svg   anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-to-px-px.svg   anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-to-px-px.svg        anim-css-strokewidth-1-ref.svg
 
 # 'stroke-width' property, from/by/to with unitless values only
@@ -112,27 +112,27 @@ fails == anim-css-strokedasharray-1.svg 
 == anim-css-strokewidth-1-to-no-no.svg        anim-css-strokewidth-1-ref.svg
 
 # 'stroke-width' property, from/by/to with percent values
 # XXXdholbert the mixed pct + px tests fail right now, because we need calc()
 # in order to interpolate between pct and non-pct values, and we don't yet
 # support calc() for stroke-width & other SVG-specific properties. (Bug 1258270
 # for gecko, Bug 1386967 for stylo)
 == anim-css-strokewidth-1-by-pct-pct.svg      anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-by-pct-px.svg       anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-by-px-pct.svg       anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-by-pct-px.svg       anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-by-px-pct.svg       anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-by-pct-pct.svg anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-from-by-pct-px.svg  anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-from-by-px-pct.svg  anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-from-by-pct-px.svg  anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-from-by-px-pct.svg  anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-to-pct-pct.svg anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-from-to-pct-px.svg  anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-from-to-px-pct.svg  anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-from-to-pct-px.svg  anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-from-to-px-pct.svg  anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-to-pct-pct.svg      anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-to-pct-px.svg       anim-css-strokewidth-1-ref.svg
-fails == anim-css-strokewidth-1-to-px-pct.svg       anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-to-pct-px.svg       anim-css-strokewidth-1-ref.svg
+fails-if(!styloVsGecko) == anim-css-strokewidth-1-to-px-pct.svg       anim-css-strokewidth-1-ref.svg
 
 # 'stroke-width' property, from/by/to with em values
 == anim-css-strokewidth-1-by-px-em.svg        anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-by-em-em.svg        anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-by-em-px.svg        anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-by-px-em.svg   anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-by-em-em.svg   anim-css-strokewidth-1-ref.svg
 == anim-css-strokewidth-1-from-by-em-px.svg   anim-css-strokewidth-1-ref.svg
--- a/layout/reftests/svg/svg-integration/reftest.list
+++ b/layout/reftests/svg/svg-integration/reftest.list
@@ -21,17 +21,17 @@ fuzzy-if(Android,255,30) == clipPath-htm
 == conditions-outer-svg-01.xhtml ../pass.svg
 == conditions-outer-svg-02.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-01.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-02.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-03.xhtml ../pass.svg
 == dynamic-conditions-outer-svg-04.xhtml ../pass.svg
 == filter-html-01.xhtml filter-html-01-ref.svg
 == filter-html-dynamic-01.xhtml filter-html-dynamic-01-ref.xhtml
-random-if(Android) skip-if(styloVsGecko) == filter-html-01-extref.xhtml filter-html-01-ref.svg # Android: bug 1198380. skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
+random-if(Android) random-if(styloVsGecko) == filter-html-01-extref.xhtml filter-html-01-ref.svg # Android: bug 1198380
 == filter-html-zoomed-01.xhtml filter-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-01.xhtml mask-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-01-extref-01.xhtml mask-html-01-ref.svg
 random == mask-html-01-extref-02.xhtml mask-html-01-ref.svg # random due to bug 877661
 fuzzy-if(webrender,1,125414) == mask-html-zoomed-01.xhtml mask-html-01-ref.svg
 fuzzy-if(webrender,1,125414) == mask-html-xbl-bound-01.html mask-html-01-ref.svg
 == mask-transformed-html-01.xhtml ../pass.svg
 == mask-transformed-html-02.xhtml ../pass.svg
--- a/layout/reftests/table-background/reftest.list
+++ b/layout/reftests/table-background/reftest.list
@@ -36,18 +36,18 @@ fuzzy-if(styloVsGecko&&cocoaWidget,1,567
 == border-separate-table.html border-separate-table-ref.html
 == border-collapse-table-cell.html border-collapse-table-cell-ref.html
 == border-collapse-table-column-group.html border-collapse-table-column-group-ref.html
 == border-collapse-table-column.html border-collapse-table-column-ref.html
 == border-collapse-table-row-group.html border-collapse-table-row-group-ref.html
 == border-collapse-table-row.html border-collapse-table-row-ref.html
 == border-collapse-table.html border-collapse-table-ref.html
 fuzzy-if(d2d,1,1083) fuzzy-if(skiaContent,1,2200) == border-collapse-opacity-table-cell.html border-collapse-opacity-table-cell-ref.html
-fails-if(!webrender) == border-collapse-opacity-table-column-group.html border-collapse-opacity-table-column-group-ref.html # bug 424274
-fails-if(!webrender) == border-collapse-opacity-table-column.html border-collapse-opacity-table-column-ref.html # bug 424274
+fails-if(!styloVsGecko&&!webrender) == border-collapse-opacity-table-column-group.html border-collapse-opacity-table-column-group-ref.html # bug 424274
+fails-if(!styloVsGecko&&!webrender) == border-collapse-opacity-table-column.html border-collapse-opacity-table-column-ref.html # bug 424274
 fuzzy-if(d2d,1,16359) fuzzy-if(skiaContent,1,17000) == border-collapse-opacity-table-row-group.html border-collapse-opacity-table-row-group-ref.html
 fuzzy-if(d2d,1,11000) fuzzy-if(skiaContent,1,11000) == border-collapse-opacity-table-row.html border-collapse-opacity-table-row-ref.html
 fuzzy-if(d2d||skiaContent,1,60000) == border-collapse-opacity-table.html border-collapse-opacity-table-ref.html
 fuzzy-if(d2d,1,2478) fuzzy-if(skiaContent,1,2500) == border-separate-opacity-table-cell.html border-separate-opacity-table-cell-ref.html
 fuzzy-if(d2d,1,38000) == border-separate-opacity-table-column-group.html border-separate-opacity-table-column-group-ref.html # bug 424274
 fuzzy-if(d2d,1,13000) == border-separate-opacity-table-column.html border-separate-opacity-table-column-ref.html # bug 424274
 fuzzy-if(d2d,1,37170) fuzzy-if(skiaContent,1,38000) == border-separate-opacity-table-row-group.html border-separate-opacity-table-row-group-ref.html
 fuzzy-if(d2d,1,12390) fuzzy-if(skiaContent,1,13000) == border-separate-opacity-table-row.html border-separate-opacity-table-row-ref.html
--- a/layout/reftests/table-width/reftest.list
+++ b/layout/reftests/table-width/reftest.list
@@ -37,18 +37,18 @@
 == percent-truncation-3.html percent-truncation-3-ref.html
 == balancing-1.html balancing-1-ref.html
 == balancing-2.html balancing-2-ref.html
 == cellpadding.html cellpadding-ref.html
 == cellspacing.html cellspacing-ref.html
 == percent-basis.html percent-basis-ref.html
 == default-box-sizing-separate-standards.html default-box-sizing-separate-standards-ref.html
 == default-box-sizing-separate-quirks.html default-box-sizing-separate-quirks-ref.html
-fails == default-box-sizing-collapse-standards.html default-box-sizing-collapse-standards-ref.html # bug 371180
-fails == default-box-sizing-collapse-quirks.html default-box-sizing-collapse-quirks-ref.html # bug 371180
+fails-if(!styloVsGecko) == default-box-sizing-collapse-standards.html default-box-sizing-collapse-standards-ref.html # bug 371180
+fails-if(!styloVsGecko) == default-box-sizing-collapse-quirks.html default-box-sizing-collapse-quirks-ref.html # bug 371180
 == colspan-percent-distribution-1.html colspan-percent-distribution-1-ref.html
 == colspan-percent-distribution-2.html colspan-percent-distribution-2-ref.html
 == spanning-cell-sort-1-small.html spanning-cell-sort-1-ref.html
 == spanning-cell-sort-1-large.html spanning-cell-sort-1-ref.html
 == spanning-cell-sort-1-small-fixed.html spanning-cell-sort-1-fixed-ref.html
 == spanning-cell-sort-1-large-fixed.html spanning-cell-sort-1-fixed-ref.html
 == spanning-cell-sort-2-small.html spanning-cell-sort-2-ref.html
 == spanning-cell-sort-2-large.html spanning-cell-sort-2-ref.html
--- a/layout/reftests/text-overflow/reftest.list
+++ b/layout/reftests/text-overflow/reftest.list
@@ -17,17 +17,17 @@ fuzzy-if(skiaContent,1,4200) HTTP(..) ==
 HTTP(..) == marker-shadow.html marker-shadow-ref.html
 == aligned-baseline.html aligned-baseline-ref.html
 skip-if(Android) fuzzy-if(skiaContent,1,5) == clipped-elements.html clipped-elements-ref.html
 HTTP(..) == theme-overflow.html theme-overflow-ref.html
 HTTP(..) == table-cell.html table-cell-ref.html
 fuzzy-if(gtkWidget,10,32) HTTP(..) == two-value-syntax.html two-value-syntax-ref.html
 HTTP(..) == single-value.html single-value-ref.html
 fuzzy-if(gtkWidget,10,2) HTTP(..) == atomic-under-marker.html atomic-under-marker-ref.html
-fuzzy(1,2616) skip-if(Android) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,12352) fails-if(gtkWidget) HTTP(..) == xulscroll.html xulscroll-ref.html # gtkWidget:bug 1309107, bug 1328771
+fuzzy(1,2616) skip-if(Android) fuzzy-if(asyncPan&&!layersGPUAccelerated,102,12352) fails-if(gtkWidget&&!styloVsGecko) HTTP(..) == xulscroll.html xulscroll-ref.html # gtkWidget:bug 1309107, bug 1328771
 HTTP(..) == combobox-zoom.html combobox-zoom-ref.html
 == dynamic-change-1.html dynamic-change-1-ref.html
 == float-edges-1-ref.html float-edges-1-ref.html
 
 # The vertical-text pref setting can be removed after bug 1138384 lands
 == vertical-decorations-1.html vertical-decorations-1-ref.html
 == vertical-decorations-2.html vertical-decorations-2-ref.html
 != vertical-decorations-1.html vertical-decorations-1-2-notref.html
--- a/layout/reftests/text-stroke/reftest.list
+++ b/layout/reftests/text-stroke/reftest.list
@@ -1,9 +1,9 @@
 # basic tests for webkit-text-stroke
 # fuzzy is needed here for platform dependent backends
 default-preferences pref(layout.css.prefixes.webkit,true)
 
-fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)) == webkit-text-stroke-property-001.html webkit-text-stroke-property-001-ref.html
-fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)) == webkit-text-stroke-property-002.html webkit-text-stroke-property-002-ref.html
-fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)) == webkit-text-stroke-property-003.html webkit-text-stroke-property-003-ref.html
-fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)) == webkit-text-stroke-property-004.html webkit-text-stroke-property-004-ref.html
-fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)) == webkit-text-stroke-property-005.html webkit-text-stroke-property-005-ref.html
+fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)&&!styloVsGecko) == webkit-text-stroke-property-001.html webkit-text-stroke-property-001-ref.html
+fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)&&!styloVsGecko) == webkit-text-stroke-property-002.html webkit-text-stroke-property-002-ref.html
+fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)&&!styloVsGecko) == webkit-text-stroke-property-003.html webkit-text-stroke-property-003-ref.html
+fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)&&!styloVsGecko) == webkit-text-stroke-property-004.html webkit-text-stroke-property-004-ref.html
+fuzzy-if(gtkWidget,255,20) fuzzy-if(winWidget,20,10) fails-if(skiaContent&&(gtkWidget||winWidget)&&!styloVsGecko) == webkit-text-stroke-property-005.html webkit-text-stroke-property-005-ref.html
--- a/layout/reftests/text/reftest.list
+++ b/layout/reftests/text/reftest.list
@@ -19,17 +19,17 @@ random-if(!cocoaWidget) == font-size-adj
 == justification-cjk-extension.html justification-cjk-extension-ref.html
 == justification-space-diacritic.html justification-space-diacritic-ref.html
 HTTP(..) load ligature-with-space-1.html
 == line-editing-1a.html line-editing-1-ref.html
 == line-editing-1b.html line-editing-1-ref.html
 == line-editing-1c.html line-editing-1-ref.html
 == line-editing-1d.html line-editing-1-ref.html
 == line-editing-1e.html line-editing-1-ref.html
-fails-if(cocoaWidget||(winWidget&&dwrite)) HTTP(..) == lineheight-metrics-1.html lineheight-metrics-1-ref.html # bug 657864
+fails-if((cocoaWidget||(winWidget&&dwrite))&&!styloVsGecko) HTTP(..) == lineheight-metrics-1.html lineheight-metrics-1-ref.html # bug 657864
 HTTP(..) == lineheight-metrics-2a.html lineheight-metrics-2-ref.html
 HTTP(..) == lineheight-metrics-2b.html lineheight-metrics-2-ref.html
 == lineheight-percentage-1.html lineheight-percentage-1-ref.html
 == long-1.html long-ref.html
 fuzzy-if(Android,255,325) == pre-line-1.html pre-line-1-ref.html
 == pre-line-2.html pre-line-2-ref.html
 == pre-line-3.html pre-line-3-ref.html
 == pre-line-4.html pre-line-4-ref.html
@@ -112,19 +112,19 @@ HTTP(..) == variation-selector-unsupport
 == white-space-1b.html white-space-1-ref.html
 == white-space-2.html white-space-2-ref.html
 == wordbreak-1.html wordbreak-1-ref.html
 == wordbreak-2.html wordbreak-2-ref.html
 == wordbreak-3.html wordbreak-3-ref.html
 skip-if(Android) == wordbreak-4a.html wordbreak-4a-ref.html
 == wordbreak-4b.html wordbreak-4b-ref.html
 == wordbreak-5.html wordbreak-5-ref.html
-fails-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == wordbreak-6.html wordbreak-6-ref.html # Bug 1258239
+fails-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)&&!styloVsGecko) == wordbreak-6.html wordbreak-6-ref.html # Bug 1258239
 HTTP(..) == wordbreak-7a.html wordbreak-7a-ref.html
-fails HTTP(..) == wordbreak-7b.html wordbreak-7b-ref.html # bug 479829
+fails-if(!styloVsGecko) HTTP(..) == wordbreak-7b.html wordbreak-7b-ref.html # bug 479829
 == wordbreak-8.html wordbreak-8-ref.html
 pref(gfx.font_rendering.graphite.enabled,true) HTTP(..) == wordbreak-9.html wordbreak-9-ref.html
 == wordbreak-dynamic-1.html wordbreak-dynamic-1-ref.html
 == wordwrap-01.html wordwrap-01-ref.html
 HTTP(..) == wordwrap-02.html wordwrap-02-ref.html
 fuzzy-if(gtkWidget,1,177) fuzzy-if(skiaContent,1,50) HTTP(..) == wordwrap-03.html wordwrap-03-ref.html # Fuzzy on Linux because the native textbox gradient is painted in a slightly different position depending on the invalid area.
 == wordwrap-04.html wordwrap-04-ref.html
 == overflowwrap-04.html wordwrap-04-ref.html
@@ -164,33 +164,33 @@ HTTP(..) != kerning-01.html kerning-01-n
 random-if(!cocoaWidget) == 577380.html 577380-ref.html
 # Test for OpenType Arabic shaping support
 HTTP(..) == arabic-shaping-1.html arabic-shaping-1-ref.html
 # check ligature in Arial Bold on Windows, for bug 644184; may fail on other platforms depending on fonts
 random-if(!winWidget) == arial-bold-lam-alef-1.html arial-bold-lam-alef-1-ref.html
 # Fallback (presentation-forms) shaping with a font that lacks GSUB/GPOS
 # These tests are not valid with Mac or FT2 font backends because our masking of complex-script ranges
 # in the 'cmap' will prevent the test font (without GSUB) being used.
-fails-if(cocoaWidget||Android) HTTP(..) == arabic-fallback-1.html arabic-fallback-1-ref.html
-fails-if(cocoaWidget||Android) HTTP(..) == arabic-fallback-2.html arabic-fallback-2-ref.html
-fails-if(cocoaWidget||Android) HTTP(..) == arabic-fallback-3.html arabic-fallback-3-ref.html
-fails-if(!cocoaWidget&&!Android) HTTP(..) != arabic-fallback-4.html arabic-fallback-4-notref.html
+fails-if((cocoaWidget||Android)&&!styloVsGecko) HTTP(..) == arabic-fallback-1.html arabic-fallback-1-ref.html
+fails-if((cocoaWidget||Android)&&!styloVsGecko) HTTP(..) == arabic-fallback-2.html arabic-fallback-2-ref.html
+fails-if((cocoaWidget||Android)&&!styloVsGecko) HTTP(..) == arabic-fallback-3.html arabic-fallback-3-ref.html
+fails-if(!cocoaWidget&&!Android&&!styloVsGecko) HTTP(..) != arabic-fallback-4.html arabic-fallback-4-notref.html
 == arabic-marks-1.html arabic-marks-1-ref.html
 == arabic-final-ligature-spacing.html arabic-final-ligature-spacing-ref.html
 # harfbuzz fallback mark stacking in the absence of GPOS:
 HTTP(..) != fallback-mark-stacking-1.html fallback-mark-stacking-1-notref.html
 
 == 726392-1.html 726392-1-ref.html
 == 726392-2.html 726392-2-ref.html
 == 726392-3.html 726392-3-ref.html
 == 745555-1.html 745555-1-ref.html
 == 745555-2.html 745555-2-ref.html
 == 820255.html 820255-ref.html
 HTTP(..) != 1170688.html 1170688-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!styloVsGecko) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
 HTTP(..) == 1331339-script-extensions-shaping-1.html 1331339-script-extensions-shaping-1-ref.html
 skip-if(!cocoaWidget) != 1349308-1.html 1349308-notref.html # macOS-specific test for -apple-system glyph metrics
 
 # ensure emoji chars don't render blank (bug 715798, bug 779042);
 # should at least render hexboxes if there's no font support
 != emoji-01.html emoji-01-notref.html
 != emoji-02.html emoji-02-notref.html
 
@@ -317,18 +317,18 @@ HTTP(..) == graphite-surrogate-selection
 
 == auto-hyphenation-transformed-1.html auto-hyphenation-transformed-1-ref.html
 
 == hyphenation-control-1.html hyphenation-control-1-ref.html
 == hyphenation-control-2.html hyphenation-control-2-ref.html
 == hyphenation-control-3.html hyphenation-control-3-ref.html
 
 # osx-font-smoothing - with and without subpixel AA, only under OSX
-fails-if(!cocoaWidget) != osx-font-smoothing.html osx-font-smoothing-ref.html
-fails-if(!cocoaWidget) != osx-font-smoothing-2.html osx-font-smoothing-2-notref.html
+fails-if(!cocoaWidget&&!styloVsGecko) != osx-font-smoothing.html osx-font-smoothing-ref.html
+fails-if(!cocoaWidget&&!styloVsGecko) != osx-font-smoothing-2.html osx-font-smoothing-2-notref.html
 == osx-font-smoothing-2.html osx-font-smoothing-2-ref.html
 
 pref(layout.css.text-align-unsafe-value.enabled,true) fails-if(styloVsGecko||stylo) == text-align-unsafe.html text-align-unsafe-ref.html
 
 # stray control chars should be visible by default, bug 1099557
 != control-chars-01a.html control-chars-01-notref.html
 != control-chars-01b.html control-chars-01-notref.html
 != control-chars-01c.html control-chars-01-notref.html
--- a/layout/reftests/transform-3d/reftest.list
+++ b/layout/reftests/transform-3d/reftest.list
@@ -56,17 +56,17 @@ fails-if(webrender) == sorting-3a.html g
 # Different, but equivalent (for the given transform) transform origins
 == rotatex-transformorigin-1a.html rotatex-transformorigin-1-ref.html
 fuzzy-if((gtkWidget&&layersOMTC)||(winWidget&&!layersGPUAccelerated),1,86) == overflow-hidden-1a.html overflow-hidden-1-ref.html
 fails-if(webrender) == transform-style-flat-1a.html transform-style-flat-1-ref.html
 == willchange-containing-block.html?willchange willchange-containing-block.html?ref
 != willchange-containing-block.html?willchange willchange-containing-block.html?noblock
 fuzzy-if(winWidget&&!layersGPUAccelerated,1,606) == scroll-perspective-1.html scroll-perspective-1-ref.html
 # Bugs
-fails-if(!layersGPUAccelerated) fails-if(webrender) == 1035611-1.html 1035611-1-ref.html # Bug 1072898 for !layersGPUAccelerated failures
+fails-if(!layersGPUAccelerated&&!styloVsGecko) fails-if(webrender) == 1035611-1.html 1035611-1-ref.html # Bug 1072898 for !layersGPUAccelerated failures
 != 1157984-1.html about:blank # Bug 1157984
 fuzzy(3,99) == animate-cube-radians.html animate-cube-radians-ref.html # subpixel AA
 fuzzy(3,99) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated,16,6) == animate-cube-radians-zoom.html animate-cube-radians-zoom-ref.html
 != animate-cube-radians-ref.html animate-cube-radians-zoom-ref.html
 fuzzy(3,99) == animate-cube-degrees.html animate-cube-degrees-ref.html # subpixel AA
 == animate-cube-degrees-zoom.html animate-cube-degrees-zoom-ref.html
 != animate-cube-degrees-ref.html animate-cube-degrees-zoom-ref.html
 fuzzy-if(gtkWidget,128,100) fuzzy-if(Android||OSX==1010||(gtkWidget&&layersGPUAccelerated),143,100) fuzzy-if(winWidget||OSX<1010,141,100) fails-if(webrender) == preserves3d-nested.html preserves3d-nested-ref.html
--- a/layout/reftests/view-source/reftest.list
+++ b/layout/reftests/view-source/reftest.list
@@ -1,1 +1,1 @@
-fails == view-source-image.html view-source-image-ref.html # security checks prevent loading view-source:
+fails-if(!styloVsGecko) random-if(styloVsGecko) == view-source-image.html view-source-image-ref.html # security checks prevent loading view-source:
--- a/layout/reftests/w3c-css/failures.list
+++ b/layout/reftests/w3c-css/failures.list
@@ -18,25 +18,25 @@
 needs-focus selectors4/focus-within-0??.html
 
 # Rely on Element.attachShadow which is not implemented yet
 skip selectors4/focus-within-shadow-*.html
 
 #### CSS Values 3 ####################################################
 
 # New failures need to be triged later
-fails css-values-3/ch-unit-003.html
+fails-if(!styloVsGecko) css-values-3/ch-unit-003.html
 
 # Fuzzy
 fuzzy-if(OSX||Android,78,197) css-values-3/ch-unit-001.html
 fuzzy(50,160) css-values-3/ch-unit-002.html
 fuzzy(78,197) css-values-3/ch-unit-004.html
 
 # Bug 435426
-fails css-values-3/attr-*.html
+fails-if(!styloVsGecko) css-values-3/attr-*.html
       css-values-3/attr-*-invalid-fallback.html
       css-values-3/attr-invalid-type-???.html
 
 # Bug 1256575
 fails-if(!stylo) css-values-3/calc-in-media-queries-???.html
 
 # because of dynamic change
 skip css-values-3/vh_not_refreshing_on_chrome.html
@@ -46,31 +46,31 @@ skip css-values-3/vh_not_refreshing_on_c
 skip css-values-3/vh-support-transform-origin.html
 skip css-values-3/vh-support-transform-translate.html
 
 css-values-3/calc-in-calc.html
 
 #### CSS Writing Modes 3 #############################################
 
 # New failures need to be triged later
-fails css-writing-modes-3/float-lft-orthog-htb-in-vlr-002.xht
-fails css-writing-modes-3/float-lft-orthog-htb-in-vrl-002.xht
-fails css-writing-modes-3/float-lft-orthog-vlr-in-htb-002.xht
-fails css-writing-modes-3/float-lft-orthog-vrl-in-htb-002.xht
-fails css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003.xht
-fails css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003.xht
-fails css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003.xht
-fails css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003.xht
-fails css-writing-modes-3/sizing-orthog-htb-in-vrl-001.xht
-fails css-writing-modes-3/sizing-orthog-htb-in-vrl-004.xht
-fails css-writing-modes-3/sizing-orthog-htb-in-vrl-013.xht
-fails-if(OSX||winWidget||Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-008.xht
-fails-if(OSX||winWidget||Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-020.xht
-fails-if(OSX||winWidget||Android) css-writing-modes-3/sizing-orthog-htb-in-vrl-008.xht
-fails-if(OSX||winWidget||Android) css-writing-modes-3/sizing-orthog-htb-in-vrl-020.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-lft-orthog-htb-in-vlr-002.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-lft-orthog-htb-in-vrl-002.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-lft-orthog-vlr-in-htb-002.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-lft-orthog-vrl-in-htb-002.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003.xht
+fails-if(!styloVsGecko) css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003.xht
+fails-if(!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vrl-001.xht
+fails-if(!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vrl-004.xht
+fails-if(!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vrl-013.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vlr-008.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vlr-020.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vrl-008.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) css-writing-modes-3/sizing-orthog-htb-in-vrl-020.xht
 css-writing-modes-3/sizing-orthog-vlr-in-htb-008.xht
 css-writing-modes-3/sizing-orthog-vlr-in-htb-020.xht
 css-writing-modes-3/sizing-orthog-vrl-in-htb-008.xht
 css-writing-modes-3/sizing-orthog-vrl-in-htb-020.xht
 fails-if(Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-003.xht
 fails-if(Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-009.xht
 fails-if(Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-015.xht
 fails-if(Android) css-writing-modes-3/sizing-orthog-htb-in-vlr-021.xht
@@ -119,198 +119,198 @@ fuzzy-if(OSX||winWidget,153,612)  css-wr
 fuzzy(255,960) css-writing-modes-3/text-combine-upright-value-all-00?.html
 fuzzy(255,960) css-writing-modes-3/text-combine-upright-value-all-001.html
 
 # Bug 1167911
 skip css-writing-modes-3/abs-pos-non-replaced-icb-vlr-021.xht
 skip css-writing-modes-3/abs-pos-non-replaced-icb-vrl-020.xht
 
 # Bug 1244601
-fails css-writing-modes-3/block-flow-direction-slr-058.xht
-fails css-writing-modes-3/block-flow-direction-srl-057.xht
-fails css-writing-modes-3/block-flow-direction-vlr-018.xht
-fails css-writing-modes-3/block-flow-direction-vrl-017.xht
+fails-if(!styloVsGecko) css-writing-modes-3/block-flow-direction-slr-058.xht
+fails-if(!styloVsGecko) css-writing-modes-3/block-flow-direction-srl-057.xht
+fails-if(!styloVsGecko) css-writing-modes-3/block-flow-direction-vlr-018.xht
+fails-if(!styloVsGecko) css-writing-modes-3/block-flow-direction-vrl-017.xht
 
 # Bug 1185430
-fails css-writing-modes-3/contiguous-floated-table-vlr-00?.xht
-fails css-writing-modes-3/contiguous-floated-table-vrl-00?.xht
-fails css-writing-modes-3/table-progression-slr-002.html
-fails css-writing-modes-3/table-progression-srl-002.html
-fails css-writing-modes-3/table-progression-vlr-00?.html
+fails-if(!styloVsGecko) css-writing-modes-3/contiguous-floated-table-vlr-00?.xht
+fails-if(!styloVsGecko) css-writing-modes-3/contiguous-floated-table-vrl-00?.xht
+fails-if(!styloVsGecko) css-writing-modes-3/table-progression-slr-002.html
+fails-if(!styloVsGecko) css-writing-modes-3/table-progression-srl-002.html
+fails-if(!styloVsGecko) css-writing-modes-3/table-progression-vlr-00?.html
       css-writing-modes-3/table-progression-vlr-001.html
-fails css-writing-modes-3/table-progression-vrl-00?.html
+fails-if(!styloVsGecko) css-writing-modes-3/table-progression-vrl-00?.html
       css-writing-modes-3/table-progression-vrl-001.html
 
-fails css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html
+fails-if(!styloVsGecko) css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html
 
 # Bug 1179952
-fails css-writing-modes-3/inline-block-alignment-00?.xht
+fails-if(!styloVsGecko) css-writing-modes-3/inline-block-alignment-00?.xht
 fuzzy-if(OSX||winWidget,111,960) css-writing-modes-3/inline-block-alignment-006.xht
-fails css-writing-modes-3/inline-table-alignment-00?.xht
+fails-if(!styloVsGecko) css-writing-modes-3/inline-table-alignment-00?.xht
 
 # Bug 1227616
 random css-writing-modes-3/line-box-direction-slr-056.xht
 random css-writing-modes-3/line-box-direction-srl-055.xht
 random css-writing-modes-3/line-box-direction-vlr-016.xht
 random css-writing-modes-3/line-box-direction-vrl-015.xht
 
 # Bug 1220352
-fails css-writing-modes-3/line-box-height-vlr-003.xht
-fails css-writing-modes-3/line-box-height-vlr-005.xht
-fails css-writing-modes-3/line-box-height-vlr-011.xht
-fails css-writing-modes-3/line-box-height-vlr-013.xht
-fails css-writing-modes-3/line-box-height-vlr-021.xht
-fails css-writing-modes-3/line-box-height-vlr-023.xht
-fails css-writing-modes-3/line-box-height-vrl-002.xht
-fails css-writing-modes-3/line-box-height-vrl-004.xht
-fails css-writing-modes-3/line-box-height-vrl-010.xht
-fails css-writing-modes-3/line-box-height-vrl-012.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-003.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-005.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-011.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-013.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-021.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vlr-023.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vrl-002.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vrl-004.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vrl-010.xht
+fails-if(!styloVsGecko) css-writing-modes-3/line-box-height-vrl-012.xht
 
 # Bug 1258635 - text-combine-upright: digits
 # Using skip because there are mismatch tests which would unexpectedly
 # pass with "fails-if(!stylo)".
 skip css-writing-modes-3/full-width-003.html
 skip css-writing-modes-3/text-combine-upright-value-digits?-001.html
 skip css-writing-modes-3/text-combine-upright-value-digits?-002.html
 
 # Bug 1220353
-fails css-writing-modes-3/vertical-alignment-vlr-023.xht
-fails css-writing-modes-3/vertical-alignment-vlr-025.xht
-fails css-writing-modes-3/vertical-alignment-vrl-022.xht
-fails css-writing-modes-3/vertical-alignment-vrl-024.xht
+fails-if(!styloVsGecko) css-writing-modes-3/vertical-alignment-vlr-023.xht
+fails-if(!styloVsGecko) css-writing-modes-3/vertical-alignment-vlr-025.xht
+fails-if(!styloVsGecko) css-writing-modes-3/vertical-alignment-vrl-022.xht
+fails-if(!styloVsGecko) css-writing-modes-3/vertical-alignment-vrl-024.xht
 
 # Bug 1102175
-fails css-writing-modes-3/wm-propagation-body-*.xht
+fails-if(!styloVsGecko) css-writing-modes-3/wm-propagation-body-*.xht
 
 css-writing-modes-3/text-combine-upright-layout-rules-001.html
 
 #### CSS Multi-column 1 ##############################################
 
 # Fuzzy annotations for multicol tests are due to AA differences.
 # fails-if(!stylo) annotations need to be triaged later. (Bug 1299006)
-fails-if(winWidget||OSX) css-multicol-1/multicol-block-no-clip-001.xht
-fails-if(winWidget||OSX) css-multicol-1/multicol-block-no-clip-002.xht
-fails css-multicol-1/multicol-br-inside-avoidcolumn-001.xht
-fails css-multicol-1/multicol-break-000.xht
-fails css-multicol-1/multicol-break-001.xht
+fails-if((winWidget||OSX)&&!styloVsGecko) css-multicol-1/multicol-block-no-clip-001.xht
+fails-if((winWidget||OSX)&&!styloVsGecko) css-multicol-1/multicol-block-no-clip-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-br-inside-avoidcolumn-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-break-000.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-break-001.xht
 fuzzy(135,1008) css-multicol-1/multicol-clip-001.xht
 fuzzy(135,770) css-multicol-1/multicol-clip-002.xht
 fuzzy(135,467) css-multicol-1/multicol-collapsing-001.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-001.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-002.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-003.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-004.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-005.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-006.xht
 fuzzy(87,180) css-multicol-1/multicol-columns-007.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-columns-invalid-001.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-columns-invalid-002.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-columns-invalid-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-columns-toolong-001.xht
 fuzzy(135,530) css-multicol-1/multicol-containing-001.xht
 fuzzy(215,241) css-multicol-1/multicol-containing-002.xht
 fuzzy(87,180) css-multicol-1/multicol-count-001.xht
-fails css-multicol-1/multicol-count-002.xht
-fails css-multicol-1/multicol-count-computed-001.xht
-fails css-multicol-1/multicol-count-computed-002.xht
-fails-if(winWidget||OSX||Android) css-multicol-1/multicol-count-computed-003.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-count-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-count-computed-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-count-computed-002.xht
+fails-if((winWidget||OSX||Android)&&!styloVsGecko) css-multicol-1/multicol-count-computed-003.xht
 fuzzy-if(winWidget||OSX||gtkWidget,112,861) fails-if(Android) css-multicol-1/multicol-count-computed-004.xht
-fails-if(winWidget||OSX||Android) css-multicol-1/multicol-count-computed-005.xht
-fails css-multicol-1/multicol-count-large-001.xht
+fails-if((winWidget||OSX||Android)&&!styloVsGecko) css-multicol-1/multicol-count-computed-005.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-count-large-001.xht
 fuzzy(255,132) css-multicol-1/multicol-count-large-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-count-negative-001.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-count-negative-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-count-non-integer-001.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-count-non-integer-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-count-non-integer-003.xht
 fuzzy(135,80) css-multicol-1/multicol-fill-auto-002.xht
 fuzzy(135,3270) css-multicol-1/multicol-fill-auto-003.xht
-fails css-multicol-1/multicol-fill-auto.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-fill-auto.xht
 fuzzy(135,80) css-multicol-1/multicol-fill-balance-001.xht
 fuzzy(135,821) css-multicol-1/multicol-gap-000.xht
 fuzzy(255,290) css-multicol-1/multicol-gap-001.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-gap-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-gap-003.xht
 fuzzy(107,1823) css-multicol-1/multicol-gap-fraction-001.xht
 fuzzy-if(winWidget||OSX||gtkWidget,204,1048) fuzzy-if(skiaContent,208,1048) fails-if(Android) css-multicol-1/multicol-gap-large-001.xht
 fuzzy(225,920) css-multicol-1/multicol-gap-large-002.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-gap-negative-001.xht
-fails css-multicol-1/multicol-height-block-child-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-height-block-child-001.xht
 fuzzy(255,3762) css-multicol-1/multicol-inherit-001.xht
 fuzzy(135,1893) css-multicol-1/multicol-inherit-002.xht
-fails css-multicol-1/multicol-inherit-003.xht
-fails css-multicol-1/multicol-inherit-004.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-inherit-003.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-inherit-004.xht
 fuzzy(96,264) css-multicol-1/multicol-list-item-001.xht
 fuzzy(73,1200) css-multicol-1/multicol-margin-001.xht
 fuzzy(73,1200) css-multicol-1/multicol-margin-002.xht
 fuzzy(243,3322) fuzzy-if(skiaContent,244,3322) css-multicol-1/multicol-margin-child-001.xht
 fuzzy(255,4008) css-multicol-1/multicol-nested-002.xht
 fuzzy(255,4109) css-multicol-1/multicol-nested-005.xht
 fuzzy(204,2463) fuzzy-if(skiaContent,208,2463) css-multicol-1/multicol-nested-margin-001.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-nested-margin-002.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-nested-margin-002.xht
 fuzzy(204,2371) fuzzy-if(skiaContent,208,2371) css-multicol-1/multicol-nested-margin-003.xht
 fuzzy(225,2529) css-multicol-1/multicol-nested-margin-004.xht
 fuzzy(225,2529) css-multicol-1/multicol-nested-margin-005.xht
 fuzzy(135,142) css-multicol-1/multicol-overflow-000.xht
 fuzzy(204,1844) fuzzy-if(skiaContent,208,1844) css-multicol-1/multicol-overflowing-001.xht
 fuzzy-if(OSX,61,2) fuzzy-if(skiaContent,64,2) css-multicol-1/multicol-reduce-000.xht
 fuzzy-if(OSX,8,20) css-multicol-1/multicol-rule-000.xht
 fuzzy(135,1584) css-multicol-1/multicol-rule-001.xht
-fails css-multicol-1/multicol-rule-002.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-rule-003.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-rule-color-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-rule-002.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-rule-003.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-rule-color-001.xht
 fuzzy(106,354) css-multicol-1/multicol-rule-dashed-000.xht
 fuzzy(106,354) css-multicol-1/multicol-rule-dotted-000.xht
 fuzzy(106,354) css-multicol-1/multicol-rule-double-000.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-rule-fraction-001.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-rule-fraction-002.xht
-fails css-multicol-1/multicol-rule-fraction-003.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-rule-fraction-001.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-rule-fraction-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-rule-fraction-003.xht
 fuzzy(127,500) css-multicol-1/multicol-rule-groove-000.xht
 fuzzy(94,256) css-multicol-1/multicol-rule-hidden-000.xht
 fuzzy(127,500) css-multicol-1/multicol-rule-inset-000.xht
 fuzzy(127,500) css-multicol-1/multicol-rule-outset-000.xht
-fails css-multicol-1/multicol-rule-px-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-rule-px-001.xht
 fuzzy(127,500) css-multicol-1/multicol-rule-ridge-000.xht
 fuzzy(106,354) css-multicol-1/multicol-rule-solid-000.xht
-fails css-multicol-1/multicol-rule-stacking-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-rule-stacking-001.xht
 fails-if(webrender) css-multicol-1/multicol-rule-style-groove-001.xht
 fails-if(webrender) css-multicol-1/multicol-rule-style-inset-001.xht
 fails-if(webrender) css-multicol-1/multicol-rule-style-outset-001.xht
 fails-if(webrender) css-multicol-1/multicol-rule-style-ridge-001.xht
-fails css-multicol-1/multicol-shorthand-001.xht
-fails css-multicol-1/multicol-span-000.xht
-fails css-multicol-1/multicol-span-all-001.xht
-fails css-multicol-1/multicol-span-all-002.xht
-fails css-multicol-1/multicol-span-all-003.xht
-fails css-multicol-1/multicol-span-all-child-001.xht
-fails-if(OSX||winWidget) css-multicol-1/multicol-span-all-child-002.xht
-fails css-multicol-1/multicol-span-all-margin-001.xht
-fails css-multicol-1/multicol-span-all-margin-002.xht
-fails css-multicol-1/multicol-span-all-margin-bottom-001.xht
-fails css-multicol-1/multicol-span-all-margin-nested-001.xht
-fails css-multicol-1/multicol-span-all-margin-nested-002.xht
-fails css-multicol-1/multicol-span-all-margin-nested-003.xht
-fails css-multicol-1/multicol-span-all-margin-nested-firstchild-001.xht
-fails css-multicol-1/multicol-span-float-001.xht
-fails css-multicol-1/multicol-span-none-001.xht
-fails css-multicol-1/multicol-table-cell-001.xht
-fails css-multicol-1/multicol-table-cell-height-001.xht
-fails css-multicol-1/multicol-table-cell-height-002.xht
-fails css-multicol-1/multicol-table-cell-vertical-align-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-shorthand-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-000.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-003.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-child-001.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) css-multicol-1/multicol-span-all-child-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-bottom-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-nested-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-nested-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-nested-003.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-margin-nested-firstchild-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-float-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-none-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-table-cell-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-table-cell-height-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-table-cell-height-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-table-cell-vertical-align-001.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) css-multicol-1/multicol-width-002.xht
-fails css-multicol-1/multicol-width-count-002.xht
-fails css-multicol-1/multicol-width-ems-001.xht
-fails css-multicol-1/multicol-width-negative-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-width-count-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-width-ems-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-width-negative-001.xht
 fuzzy(225,1060) css-multicol-1/multicol-width-large-001.xht
-fails css-multicol-1/multicol-width-small-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-width-small-001.xht
 fuzzy(225,1060) css-multicol-1/multicol-width-invalid-001.xht
 fuzzy(225,1060) css-multicol-1/multicol-width-large-002.xht
-fails css-multicol-1/multicol-zero-height-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-zero-height-001.xht
 fuzzy(225,13600) css-multicol-1/multicol-nested-column-rule-001.xht
 fuzzy(94,256) css-multicol-1/multicol-rule-none-000.xht
 
-#This test seems to pass only on Linux-opt build, on everything else
+#This test seems to pass only on Linux-opt build, fails-if(!stylo) on everything else
 #Therefore using fuzzy annotation as a catch all
 fuzzy(255,2808) css-multicol-1/multicol-rule-large-001.xht
 
-# fails because column-span property not implemented (Bug 616436)
-fails css-multicol-1/multicol-fill-auto-block-children-001.xht
-fails css-multicol-1/multicol-fill-auto-block-children-002.xht
-fails css-multicol-1/multicol-span-all-block-sibling-003.xht
+#fails-if(!stylo) because column-span property not implemented (Bug 616436)
+fails-if(!styloVsGecko) css-multicol-1/multicol-fill-auto-block-children-001.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-fill-auto-block-children-002.xht
+fails-if(!styloVsGecko) css-multicol-1/multicol-span-all-block-sibling-003.xht
--- a/layout/reftests/w3c-css/received/reftest.list
+++ b/layout/reftests/w3c-css/received/reftest.list
@@ -44,152 +44,152 @@
 == css-multicol-1/multicol-basic-001.html css-multicol-1/reference/multicol-basic-ref.html
 == css-multicol-1/multicol-basic-002.html css-multicol-1/reference/multicol-basic-ref.html
 == css-multicol-1/multicol-basic-003.html css-multicol-1/reference/multicol-basic-ref.html
 == css-multicol-1/multicol-basic-004.html css-multicol-1/reference/multicol-basic-ref.html
 == css-multicol-1/multicol-basic-005.xht css-multicol-1/reference/multicol-basic-005-ref.xht
 == css-multicol-1/multicol-basic-006.xht css-multicol-1/reference/multicol-basic-005-ref.xht
 == css-multicol-1/multicol-basic-007.xht css-multicol-1/reference/multicol-basic-005-ref.xht
 == css-multicol-1/multicol-basic-008.xht css-multicol-1/reference/multicol-basic-005-ref.xht
-fails-if(winWidget||OSX) == css-multicol-1/multicol-block-no-clip-001.xht css-multicol-1/multicol-block-no-clip-001-ref.xht
-fails-if(winWidget||OSX) == css-multicol-1/multicol-block-no-clip-002.xht css-multicol-1/multicol-block-no-clip-002-ref.xht
-fails == css-multicol-1/multicol-br-inside-avoidcolumn-001.xht css-multicol-1/multicol-br-inside-avoidcolumn-ref.xht
-fails == css-multicol-1/multicol-break-000.xht css-multicol-1/multicol-break-000-ref.xht
-fails == css-multicol-1/multicol-break-001.xht css-multicol-1/multicol-break-001-ref.xht
+fails-if((winWidget||OSX)&&!styloVsGecko) == css-multicol-1/multicol-block-no-clip-001.xht css-multicol-1/multicol-block-no-clip-001-ref.xht
+fails-if((winWidget||OSX)&&!styloVsGecko) == css-multicol-1/multicol-block-no-clip-002.xht css-multicol-1/multicol-block-no-clip-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-br-inside-avoidcolumn-001.xht css-multicol-1/multicol-br-inside-avoidcolumn-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-break-000.xht css-multicol-1/multicol-break-000-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-break-001.xht css-multicol-1/multicol-break-001-ref.xht
 fuzzy(135,1008) == css-multicol-1/multicol-clip-001.xht css-multicol-1/multicol-clip-001-ref.xht
 fuzzy(135,770) == css-multicol-1/multicol-clip-002.xht css-multicol-1/multicol-clip-002-ref.xht
 fuzzy(135,467) == css-multicol-1/multicol-collapsing-001.xht css-multicol-1/multicol-collapsing-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-001.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-002.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-003.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-004.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-005.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-006.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-columns-007.xht css-multicol-1/multicol-columns-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-columns-invalid-001.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-columns-invalid-002.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-columns-invalid-002.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-columns-toolong-001.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(135,530) == css-multicol-1/multicol-containing-001.xht css-multicol-1/multicol-containing-001-ref.xht
 fuzzy(215,241) == css-multicol-1/multicol-containing-002.xht css-multicol-1/multicol-containing-002-ref.xht
 fuzzy(87,180) == css-multicol-1/multicol-count-001.xht css-multicol-1/multicol-columns-001-ref.xht
-fails == css-multicol-1/multicol-count-002.xht css-multicol-1/multicol-count-002-ref.xht
-fails == css-multicol-1/multicol-count-computed-001.xht css-multicol-1/multicol-count-computed-ref.xht
-fails == css-multicol-1/multicol-count-computed-002.xht css-multicol-1/multicol-count-computed-2-ref.xht
-fails-if(winWidget||OSX||Android) == css-multicol-1/multicol-count-computed-003.xht css-multicol-1/multicol-count-computed-003-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-count-002.xht css-multicol-1/multicol-count-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-count-computed-001.xht css-multicol-1/multicol-count-computed-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-count-computed-002.xht css-multicol-1/multicol-count-computed-2-ref.xht
+fails-if((winWidget||OSX||Android)&&!styloVsGecko) == css-multicol-1/multicol-count-computed-003.xht css-multicol-1/multicol-count-computed-003-ref.xht
 fuzzy-if(winWidget||OSX||gtkWidget,112,861) fails-if(Android) == css-multicol-1/multicol-count-computed-004.xht css-multicol-1/multicol-count-computed-004-ref.xht
-fails-if(winWidget||OSX||Android) == css-multicol-1/multicol-count-computed-005.xht css-multicol-1/multicol-count-computed-003-ref.xht
-fails == css-multicol-1/multicol-count-large-001.xht css-multicol-1/multicol-count-large-ref.xht
+fails-if((winWidget||OSX||Android)&&!styloVsGecko) == css-multicol-1/multicol-count-computed-005.xht css-multicol-1/multicol-count-computed-003-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-count-large-001.xht css-multicol-1/multicol-count-large-ref.xht
 fuzzy(255,132) == css-multicol-1/multicol-count-large-002.xht css-multicol-1/multicol-count-large-2-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-count-negative-001.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-count-negative-002.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-count-non-integer-001.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-count-non-integer-002.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-count-non-integer-003.xht css-multicol-1/multicol-columns-invalid-001-ref.xht
 == css-multicol-1/multicol-fill-000.xht css-multicol-1/multicol-fill-000-ref.xht
 == css-multicol-1/multicol-fill-001.xht css-multicol-1/multicol-fill-001-ref.xht
 == css-multicol-1/multicol-fill-auto-001.xht css-multicol-1/multicol-fill-auto-001-ref.xht
 fuzzy(135,80) == css-multicol-1/multicol-fill-auto-002.xht css-multicol-1/multicol-fill-auto-002-ref.xht
 fuzzy(135,3270) == css-multicol-1/multicol-fill-auto-003.xht css-multicol-1/multicol-fill-auto-003-ref.xht
-fails == css-multicol-1/multicol-fill-auto-block-children-001.xht css-multicol-1/multicol-fill-auto-block-children-ref.xht
-fails == css-multicol-1/multicol-fill-auto-block-children-002.xht css-multicol-1/multicol-fill-auto-block-children-002-ref.xht
-fails == css-multicol-1/multicol-fill-auto.xht css-multicol-1/multicol-fill-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-fill-auto-block-children-001.xht css-multicol-1/multicol-fill-auto-block-children-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-fill-auto-block-children-002.xht css-multicol-1/multicol-fill-auto-block-children-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-fill-auto.xht css-multicol-1/multicol-fill-ref.xht
 fuzzy(135,80) == css-multicol-1/multicol-fill-balance-001.xht css-multicol-1/multicol-fill-balance-001-ref.xht
 fuzzy(135,821) == css-multicol-1/multicol-gap-000.xht css-multicol-1/multicol-gap-000-ref.xht
 fuzzy(255,290) == css-multicol-1/multicol-gap-001.xht css-multicol-1/multicol-gap-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-gap-002.xht css-multicol-1/multicol-gap-002-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-gap-003.xht css-multicol-1/multicol-gap-002-ref.xht
 fuzzy(107,1823) == css-multicol-1/multicol-gap-fraction-001.xht css-multicol-1/multicol-gap-fraction-001-ref.xht
 fuzzy-if(winWidget||OSX||gtkWidget,204,1048) fuzzy-if(skiaContent,208,1048) fails-if(Android) == css-multicol-1/multicol-gap-large-001.xht css-multicol-1/multicol-gap-large-001-ref.xht
 fuzzy(225,920) == css-multicol-1/multicol-gap-large-002.xht css-multicol-1/multicol-gap-large-002-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-gap-negative-001.xht css-multicol-1/multicol-gap-002-ref.xht
 == css-multicol-1/multicol-height-001.xht css-multicol-1/multicol-height-001-ref.xht
-fails == css-multicol-1/multicol-height-block-child-001.xht css-multicol-1/multicol-height-block-child-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-height-block-child-001.xht css-multicol-1/multicol-height-block-child-001-ref.xht
 fuzzy(255,3762) == css-multicol-1/multicol-inherit-001.xht css-multicol-1/multicol-inherit-001-ref.xht
 fuzzy(135,1893) == css-multicol-1/multicol-inherit-002.xht css-multicol-1/multicol-inherit-002-ref.xht
-fails == css-multicol-1/multicol-inherit-003.xht css-multicol-1/multicol-inherit-3-ref.xht
-fails == css-multicol-1/multicol-inherit-004.xht css-multicol-1/multicol-inherit-4-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-inherit-003.xht css-multicol-1/multicol-inherit-3-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-inherit-004.xht css-multicol-1/multicol-inherit-4-ref.xht
 fuzzy(96,264) == css-multicol-1/multicol-list-item-001.xht css-multicol-1/multicol-list-item-001-ref.xht
 fuzzy(73,1200) == css-multicol-1/multicol-margin-001.xht reference/ref-filled-green-100px-square.xht
 fuzzy(73,1200) == css-multicol-1/multicol-margin-002.xht reference/ref-filled-green-100px-square.xht
 fuzzy(243,3322) fuzzy-if(skiaContent,244,3322) == css-multicol-1/multicol-margin-child-001.xht css-multicol-1/multicol-margin-child-001-ref.xht
 fuzzy(255,4008) == css-multicol-1/multicol-nested-002.xht css-multicol-1/multicol-nested-002-ref.xht
 fuzzy(255,4109) == css-multicol-1/multicol-nested-005.xht css-multicol-1/multicol-nested-005-ref.xht
 fuzzy(225,13600) == css-multicol-1/multicol-nested-column-rule-001.xht css-multicol-1/multicol-nested-column-rule-001-ref.xht
 fuzzy(204,2463) fuzzy-if(skiaContent,208,2463) == css-multicol-1/multicol-nested-margin-001.xht css-multicol-1/multicol-nested-margin-001-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-nested-margin-002.xht css-multicol-1/multicol-nested-margin-002-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-nested-margin-002.xht css-multicol-1/multicol-nested-margin-002-ref.xht
 fuzzy(204,2371) fuzzy-if(skiaContent,208,2371) == css-multicol-1/multicol-nested-margin-003.xht css-multicol-1/multicol-nested-margin-003-ref.xht
 fuzzy(225,2529) == css-multicol-1/multicol-nested-margin-004.xht css-multicol-1/multicol-nested-margin-004-ref.xht
 fuzzy(225,2529) == css-multicol-1/multicol-nested-margin-005.xht css-multicol-1/multicol-nested-margin-004-ref.xht
 fuzzy(135,142) == css-multicol-1/multicol-overflow-000.xht css-multicol-1/multicol-overflow-000-ref.xht
 fuzzy(204,1844) fuzzy-if(skiaContent,208,1844) == css-multicol-1/multicol-overflowing-001.xht css-multicol-1/multicol-overflowing-001-ref.xht
 fuzzy-if(OSX,61,2) fuzzy-if(skiaContent,64,2) == css-multicol-1/multicol-reduce-000.xht css-multicol-1/multicol-reduce-000-ref.xht
 fuzzy-if(OSX,8,20) == css-multicol-1/multicol-rule-000.xht css-multicol-1/multicol-rule-000-ref.xht
 fuzzy(135,1584) == css-multicol-1/multicol-rule-001.xht css-multicol-1/multicol-rule-001-ref.xht
-fails == css-multicol-1/multicol-rule-002.xht css-multicol-1/multicol-rule-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-003.xht css-multicol-1/multicol-rule-003-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-002.xht css-multicol-1/multicol-rule-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-rule-003.xht css-multicol-1/multicol-rule-003-ref.xht
 == css-multicol-1/multicol-rule-004.xht css-multicol-1/multicol-rule-004-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-color-001.xht css-multicol-1/multicol-rule-color-001-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-rule-color-001.xht css-multicol-1/multicol-rule-color-001-ref.xht
 == css-multicol-1/multicol-rule-color-inherit-001.xht css-multicol-1/multicol-rule-color-inherit-001-ref.xht
 == css-multicol-1/multicol-rule-color-inherit-002.xht css-multicol-1/multicol-rule-color-inherit-001-ref.xht
 fuzzy(106,354) == css-multicol-1/multicol-rule-dashed-000.xht css-multicol-1/multicol-rule-dashed-000-ref.xht
 fuzzy(106,354) == css-multicol-1/multicol-rule-dotted-000.xht css-multicol-1/multicol-rule-dotted-000-ref.xht
 fuzzy(106,354) == css-multicol-1/multicol-rule-double-000.xht css-multicol-1/multicol-rule-double-000-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-fraction-001.xht css-multicol-1/multicol-rule-fraction-001-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-fraction-002.xht css-multicol-1/multicol-rule-fraction-002-ref.xht
-fails == css-multicol-1/multicol-rule-fraction-003.xht css-multicol-1/multicol-rule-fraction-3-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-rule-fraction-001.xht css-multicol-1/multicol-rule-fraction-001-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-rule-fraction-002.xht css-multicol-1/multicol-rule-fraction-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-fraction-003.xht css-multicol-1/multicol-rule-fraction-3-ref.xht
 fuzzy(127,500) == css-multicol-1/multicol-rule-groove-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
 fuzzy(94,256) == css-multicol-1/multicol-rule-hidden-000.xht css-multicol-1/multicol-rule-hidden-000-ref.xht
 fuzzy(127,500) == css-multicol-1/multicol-rule-inset-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
 fuzzy(255,2808) == css-multicol-1/multicol-rule-large-001.xht css-multicol-1/multicol-rule-large-001-ref.xht
 fuzzy(94,256) == css-multicol-1/multicol-rule-none-000.xht css-multicol-1/multicol-rule-hidden-000-ref.xht
 fuzzy(127,500) == css-multicol-1/multicol-rule-outset-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
 == css-multicol-1/multicol-rule-percent-001.xht css-multicol-1/multicol-containing-002-ref.xht
-fails == css-multicol-1/multicol-rule-px-001.xht css-multicol-1/multicol-rule-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-px-001.xht css-multicol-1/multicol-rule-ref.xht
 fuzzy(127,500) == css-multicol-1/multicol-rule-ridge-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
 == css-multicol-1/multicol-rule-samelength-001.xht css-multicol-1/multicol-rule-samelength-001-ref.xht
 == css-multicol-1/multicol-rule-shorthand-001.xht css-multicol-1/multicol-rule-samelength-001-ref.xht
 fuzzy(106,354) == css-multicol-1/multicol-rule-solid-000.xht css-multicol-1/multicol-rule-solid-000-ref.xht
-fails == css-multicol-1/multicol-rule-stacking-001.xht css-multicol-1/multicol-rule-stacking-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-stacking-001.xht css-multicol-1/multicol-rule-stacking-ref.xht
 fails-if(webrender) == css-multicol-1/multicol-rule-style-groove-001.xht css-multicol-1/multicol-rule-style-groove-001-ref.xht
 fails-if(webrender) == css-multicol-1/multicol-rule-style-inset-001.xht css-multicol-1/multicol-rule-style-ridge-001-ref.xht
 fails-if(webrender) == css-multicol-1/multicol-rule-style-outset-001.xht css-multicol-1/multicol-rule-style-groove-001-ref.xht
 fails-if(webrender) == css-multicol-1/multicol-rule-style-ridge-001.xht css-multicol-1/multicol-rule-style-ridge-001-ref.xht
-fails == css-multicol-1/multicol-shorthand-001.xht css-multicol-1/multicol-rule-ref.xht
-fails == css-multicol-1/multicol-span-000.xht css-multicol-1/multicol-span-000-ref.xht
-fails == css-multicol-1/multicol-span-all-001.xht css-multicol-1/multicol-span-all-001-ref.xht
-fails == css-multicol-1/multicol-span-all-002.xht css-multicol-1/multicol-span-all-002-ref.xht
-fails == css-multicol-1/multicol-span-all-003.xht css-multicol-1/multicol-count-002-ref.xht
-fails == css-multicol-1/multicol-span-all-block-sibling-003.xht css-multicol-1/multicol-span-all-block-sibling-3-ref.xht
-fails == css-multicol-1/multicol-span-all-child-001.xht css-multicol-1/multicol-span-all-child-001-ref.xht
-fails-if(OSX||winWidget) == css-multicol-1/multicol-span-all-child-002.xht css-multicol-1/multicol-span-all-child-002-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-001.xht css-multicol-1/multicol-span-all-margin-001-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-002.xht css-multicol-1/multicol-span-all-margin-002-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-bottom-001.xht css-multicol-1/multicol-span-all-margin-bottom-001-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-nested-001.xht css-multicol-1/multicol-span-all-margin-nested-001-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-nested-002.xht css-multicol-1/multicol-span-all-margin-nested-001-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-nested-003.xht css-multicol-1/multicol-span-all-margin-nested-3-ref.xht
-fails == css-multicol-1/multicol-span-all-margin-nested-firstchild-001.xht css-multicol-1/multicol-span-all-margin-nested-firstchild-ref.xht
-fails == css-multicol-1/multicol-span-float-001.xht css-multicol-1/multicol-span-float-001-ref.xht
-fails == css-multicol-1/multicol-span-none-001.xht css-multicol-1/multicol-span-none-001-ref.xht
-fails == css-multicol-1/multicol-table-cell-001.xht css-multicol-1/multicol-table-cell-001-ref.xht
-fails == css-multicol-1/multicol-table-cell-height-001.xht css-multicol-1/multicol-table-cell-height-001-ref.xht
-fails == css-multicol-1/multicol-table-cell-height-002.xht css-multicol-1/multicol-table-cell-height-001-ref.xht
-fails == css-multicol-1/multicol-table-cell-vertical-align-001.xht css-multicol-1/multicol-table-cell-vertical-align-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-shorthand-001.xht css-multicol-1/multicol-rule-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-000.xht css-multicol-1/multicol-span-000-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-001.xht css-multicol-1/multicol-span-all-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-002.xht css-multicol-1/multicol-span-all-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-003.xht css-multicol-1/multicol-count-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-block-sibling-003.xht css-multicol-1/multicol-span-all-block-sibling-3-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-child-001.xht css-multicol-1/multicol-span-all-child-001-ref.xht
+fails-if((OSX||winWidget)&&!styloVsGecko) == css-multicol-1/multicol-span-all-child-002.xht css-multicol-1/multicol-span-all-child-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-001.xht css-multicol-1/multicol-span-all-margin-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-002.xht css-multicol-1/multicol-span-all-margin-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-bottom-001.xht css-multicol-1/multicol-span-all-margin-bottom-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-nested-001.xht css-multicol-1/multicol-span-all-margin-nested-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-nested-002.xht css-multicol-1/multicol-span-all-margin-nested-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-nested-003.xht css-multicol-1/multicol-span-all-margin-nested-3-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-all-margin-nested-firstchild-001.xht css-multicol-1/multicol-span-all-margin-nested-firstchild-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-float-001.xht css-multicol-1/multicol-span-float-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-span-none-001.xht css-multicol-1/multicol-span-none-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-table-cell-001.xht css-multicol-1/multicol-table-cell-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-table-cell-height-001.xht css-multicol-1/multicol-table-cell-height-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-table-cell-height-002.xht css-multicol-1/multicol-table-cell-height-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-table-cell-vertical-align-001.xht css-multicol-1/multicol-table-cell-vertical-align-ref.xht
 == css-multicol-1/multicol-width-001.xht css-multicol-1/multicol-width-001-ref.xht
 fuzzy(204,930) fuzzy-if(skiaContent,208,930) == css-multicol-1/multicol-width-002.xht css-multicol-1/multicol-width-002-ref.xht
 == css-multicol-1/multicol-width-003.xht css-multicol-1/multicol-width-002-ref.xht
 == css-multicol-1/multicol-width-count-001.xht css-multicol-1/multicol-width-001-ref.xht
-fails == css-multicol-1/multicol-width-count-002.xht css-multicol-1/multicol-count-002-ref.xht
-fails == css-multicol-1/multicol-width-ems-001.xht css-multicol-1/multicol-width-ems-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-width-count-002.xht css-multicol-1/multicol-count-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-width-ems-001.xht css-multicol-1/multicol-width-ems-ref.xht
 fuzzy(225,1060) == css-multicol-1/multicol-width-invalid-001.xht css-multicol-1/multicol-width-invalid-001-ref.xht
 fuzzy(225,1060) == css-multicol-1/multicol-width-large-001.xht css-multicol-1/multicol-width-invalid-001-ref.xht
 fuzzy(225,1060) == css-multicol-1/multicol-width-large-002.xht css-multicol-1/multicol-width-invalid-001-ref.xht
-fails == css-multicol-1/multicol-width-negative-001.xht css-multicol-1/multicol-count-002-ref.xht
-fails == css-multicol-1/multicol-width-small-001.xht css-multicol-1/multicol-width-small-001-ref.xht
-fails == css-multicol-1/multicol-zero-height-001.xht css-multicol-1/multicol-zero-height-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-width-negative-001.xht css-multicol-1/multicol-count-002-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-width-small-001.xht css-multicol-1/multicol-width-small-001-ref.xht
+fails-if(!styloVsGecko) == css-multicol-1/multicol-zero-height-001.xht css-multicol-1/multicol-zero-height-001-ref.xht
 == css-namespaces-3/prefix-001.xml css-namespaces-3/reftest/ref-lime-1.xml
 == css-namespaces-3/prefix-002.xml css-namespaces-3/reftest/ref-lime-1.xml
 == css-namespaces-3/prefix-003.xml css-namespaces-3/reftest/ref-lime-1-generic.xml
 == css-namespaces-3/prefix-004.xml css-namespaces-3/reftest/ref-lime-2-generic.xml
 == css-namespaces-3/prefix-005.xml css-namespaces-3/reftest/ref-lime-2-generic.xml
 == css-namespaces-3/prefix-006.xml css-namespaces-3/reftest/ref-lime-2.xml
 == css-namespaces-3/scope-001.xml css-namespaces-3/reftest/ref-lime-1.xml
 == css-namespaces-3/scope-002.xml css-namespaces-3/reftest/ref-lime-1.xml
@@ -203,37 +203,37 @@ fails == css-multicol-1/multicol-zero-he
 == css-namespaces-3/syntax-008.xml css-namespaces-3/reftest/ref-lime-2.xml
 == css-namespaces-3/syntax-009.xml css-namespaces-3/reftest/ref-lime-1.xml
 == css-namespaces-3/syntax-010.xml css-namespaces-3/reftest/ref-lime-3.xml
 == css-namespaces-3/syntax-011.xml css-namespaces-3/reftest/ref-lime-6.xml
 == css-namespaces-3/syntax-012.xml css-namespaces-3/reftest/ref-lime-3.xml
 == css-namespaces-3/syntax-013.xml css-namespaces-3/reftest/ref-lime-5.xml
 == css-namespaces-3/syntax-014.xml css-namespaces-3/reftest/ref-lime-3.xml
 == css-namespaces-3/syntax-015.xml css-namespaces-3/reftest/ref-lime-1.xml
-fails == css-values-3/attr-color-invalid-cast.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-color-invalid-cast.html css-values-3/reference/200-200-green.html
 == css-values-3/attr-color-invalid-fallback.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-color-valid.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-color-valid.html css-values-3/reference/200-200-green.html
 == css-values-3/attr-invalid-type-001.html css-values-3/reference/200-200-green.html
 == css-values-3/attr-invalid-type-002.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-length-invalid-cast.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-length-invalid-cast.html css-values-3/reference/200-200-green.html
 == css-values-3/attr-length-invalid-fallback.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-length-valid-zero-nofallback.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-length-valid-zero.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-length-valid.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-px-invalid-cast.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-length-valid-zero-nofallback.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-length-valid-zero.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-length-valid.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-px-invalid-cast.html css-values-3/reference/200-200-green.html
 == css-values-3/attr-px-invalid-fallback.html css-values-3/reference/200-200-green.html
-fails == css-values-3/attr-px-valid.html css-values-3/reference/200-200-green.html
+fails-if(!styloVsGecko) == css-values-3/attr-px-valid.html css-values-3/reference/200-200-green.html
 == css-values-3/calc-in-calc.html css-values-3/reference/all-green.html
-fails == css-values-3/calc-in-media-queries-001.html css-values-3/reference/all-green.html
-fails == css-values-3/calc-in-media-queries-002.html css-values-3/reference/all-green.html
+fails-if(!styloVsGecko) == css-values-3/calc-in-media-queries-001.html css-values-3/reference/all-green.html
+fails-if(!styloVsGecko) == css-values-3/calc-in-media-queries-002.html css-values-3/reference/all-green.html
 == css-values-3/calc-invalid-range-clamping.html css-values-3/reference/200-200-green.html
 == css-values-3/calc-parenthesis-stack.html css-values-3/reference/all-green.html
 fuzzy-if(OSX||Android,78,197) == css-values-3/ch-unit-001.html css-values-3/reference/ch-unit-001-ref.html
 fuzzy(50,160) == css-values-3/ch-unit-002.html css-values-3/reference/ch-unit-002-ref.html
-fails == css-values-3/ch-unit-003.html css-values-3/reference/ch-unit-001-ref.html
+fails-if(!styloVsGecko) == css-values-3/ch-unit-003.html css-values-3/reference/ch-unit-001-ref.html
 fuzzy(78,197) == css-values-3/ch-unit-004.html css-values-3/reference/ch-unit-001-ref.html
 == css-values-3/initial-background-color.html css-values-3/reference/all-green.html
 == css-values-3/vh-calc-support-pct.html css-values-3/reference/all-green.html
 == css-values-3/vh-calc-support.html css-values-3/reference/all-green.html
 == css-values-3/vh-em-inherit.html css-values-3/reference/all-green.html
 == css-values-3/vh-inherit.html css-values-3/reference/all-green.html
 == css-values-3/vh-interpolate-pct.html css-values-3/reference/all-green.html
 == css-values-3/vh-interpolate-px.html css-values-3/reference/all-green.html
@@ -599,52 +599,52 @@ fuzzy-if(OSX||winWidget,93,600) == css-w
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-htb-001.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-043.xht css-writing-modes-3/block-flow-direction-043-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-047.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-048.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-050.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-054.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-055.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-056.xht css-writing-modes-3/block-flow-direction-001-ref.xht
-fails == css-writing-modes-3/block-flow-direction-slr-058.xht css-writing-modes-3/block-flow-direction-001-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/block-flow-direction-slr-058.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-060.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-062.xht css-writing-modes-3/block-flow-direction-043-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-063.xht css-writing-modes-3/block-flow-direction-043-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-slr-066.xht css-writing-modes-3/block-flow-direction-066-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-042.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-045.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-046.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-049.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-051.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-052.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-053.xht css-writing-modes-3/block-flow-direction-001-ref.xht
-fails == css-writing-modes-3/block-flow-direction-srl-057.xht css-writing-modes-3/block-flow-direction-001-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/block-flow-direction-srl-057.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-059.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-061.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-064.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-srl-065.xht css-writing-modes-3/block-flow-direction-025-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-003.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-007.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-008.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-010.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-014.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-015.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-016.xht css-writing-modes-3/block-flow-direction-001-ref.xht
-fails == css-writing-modes-3/block-flow-direction-vlr-018.xht css-writing-modes-3/block-flow-direction-001-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/block-flow-direction-vlr-018.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-020.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-022.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vlr-023.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-002.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-005.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-006.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-009.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-011.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-012.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-013.xht css-writing-modes-3/block-flow-direction-001-ref.xht
-fails == css-writing-modes-3/block-flow-direction-vrl-017.xht css-writing-modes-3/block-flow-direction-001-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/block-flow-direction-vrl-017.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-019.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-021.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-024.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-025.xht css-writing-modes-3/block-flow-direction-025-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/block-flow-direction-vrl-026.xht css-writing-modes-3/block-flow-direction-vrl-026-ref.xht
 == css-writing-modes-3/block-override-001.html css-writing-modes-3/reference/block-override-001.html
 == css-writing-modes-3/block-override-002.html css-writing-modes-3/reference/block-override-002.html
 == css-writing-modes-3/block-override-003.html css-writing-modes-3/reference/block-override-003.html
@@ -700,31 +700,31 @@ fuzzy-if(OSX||winWidget,215,780) == css-
 == css-writing-modes-3/clip-rect-vrl-002.xht css-writing-modes-3/clip-rect-vrl-002-ref.xht
 == css-writing-modes-3/clip-rect-vrl-004.xht css-writing-modes-3/clip-rect-vrl-004-ref.xht
 == css-writing-modes-3/clip-rect-vrl-006.xht css-writing-modes-3/clip-rect-vrl-006-ref.xht
 == css-writing-modes-3/clip-rect-vrl-008.xht css-writing-modes-3/clip-rect-vrl-008-ref.xht
 == css-writing-modes-3/clip-rect-vrl-010.xht css-writing-modes-3/clip-rect-vrl-010-ref.xht
 == css-writing-modes-3/clip-rect-vrl-012.xht css-writing-modes-3/clip-rect-vrl-012-ref.xht
 == css-writing-modes-3/clip-rect-vrl-014.xht css-writing-modes-3/clip-rect-vrl-014-ref.xht
 == css-writing-modes-3/clip-rect-vrl-016.xht css-writing-modes-3/clip-rect-vrl-016-ref.xht
-fails == css-writing-modes-3/contiguous-floated-table-vlr-003.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vlr-005.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vlr-007.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vlr-009.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vrl-002.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vrl-004.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vrl-006.xht reference/ref-filled-green-100px-square.xht
-fails == css-writing-modes-3/contiguous-floated-table-vrl-008.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vlr-003.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vlr-005.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vlr-007.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vlr-009.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vrl-002.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vrl-004.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vrl-006.xht reference/ref-filled-green-100px-square.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/contiguous-floated-table-vrl-008.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/different-block-flow-dir-001.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/different-block-flow-dir-002.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/direction-vlr-003.xht css-writing-modes-3/direction-vlr-003-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/direction-vlr-005.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/direction-vrl-002.xht css-writing-modes-3/direction-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/direction-vrl-004.xht css-writing-modes-3/direction-vrl-004-ref.xht
-fails == css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html css-writing-modes-3/flexbox_align-items-stretch-writing-modes-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html css-writing-modes-3/flexbox_align-items-stretch-writing-modes-ref.html
 == css-writing-modes-3/float-clear-vlr-003.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vlr-005.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vlr-007.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vlr-009.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vrl-002.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vrl-004.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vrl-006.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-clear-vrl-008.xht reference/ref-filled-green-100px-square.xht
@@ -735,24 +735,24 @@ fails == css-writing-modes-3/flexbox_ali
 fuzzy-if(OSX||winWidget,135,902) == css-writing-modes-3/float-contiguous-vlr-011.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,135,902) == css-writing-modes-3/float-contiguous-vlr-013.xht css-writing-modes-3/float-contiguous-vrl-012-ref.xht
 == css-writing-modes-3/float-contiguous-vrl-002.xht css-writing-modes-3/inline-replaced-vrl-004-ref.xht
 == css-writing-modes-3/float-contiguous-vrl-004.xht css-writing-modes-3/inline-replaced-vrl-004-ref.xht
 == css-writing-modes-3/float-contiguous-vrl-006.xht css-writing-modes-3/float-contiguous-vrl-006-ref.xht
 == css-writing-modes-3/float-contiguous-vrl-008.xht css-writing-modes-3/float-contiguous-vrl-008-ref.xht
 fuzzy-if(OSX||winWidget,135,902) == css-writing-modes-3/float-contiguous-vrl-010.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,135,902) == css-writing-modes-3/float-contiguous-vrl-012.xht css-writing-modes-3/float-contiguous-vrl-012-ref.xht
-fails == css-writing-modes-3/float-lft-orthog-htb-in-vlr-002.xht css-writing-modes-3/float-lft-orthog-htb-in-vlr-002-ref.xht
-fails == css-writing-modes-3/float-lft-orthog-htb-in-vrl-002.xht css-writing-modes-3/float-lft-orthog-htb-in-vrl-002-ref.xht
-fails == css-writing-modes-3/float-lft-orthog-vlr-in-htb-002.xht css-writing-modes-3/float-lft-orthog-vlr-in-htb-002-ref.xht
-fails == css-writing-modes-3/float-lft-orthog-vrl-in-htb-002.xht css-writing-modes-3/float-lft-orthog-vrl-in-htb-002-ref.xht
-fails == css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003.xht css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003-ref.xht
-fails == css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003.xht css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003-ref.xht
-fails == css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003.xht css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003-ref.xht
-fails == css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003.xht css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-lft-orthog-htb-in-vlr-002.xht css-writing-modes-3/float-lft-orthog-htb-in-vlr-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-lft-orthog-htb-in-vrl-002.xht css-writing-modes-3/float-lft-orthog-htb-in-vrl-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-lft-orthog-vlr-in-htb-002.xht css-writing-modes-3/float-lft-orthog-vlr-in-htb-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-lft-orthog-vrl-in-htb-002.xht css-writing-modes-3/float-lft-orthog-vrl-in-htb-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003.xht css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003.xht css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003.xht css-writing-modes-3/float-rgt-orthog-vlr-in-htb-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003.xht css-writing-modes-3/float-rgt-orthog-vrl-in-htb-003-ref.xht
 == css-writing-modes-3/float-shrink-to-fit-vlr-003.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-shrink-to-fit-vlr-005.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-shrink-to-fit-vlr-007.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,93,300) == css-writing-modes-3/float-shrink-to-fit-vlr-009.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-shrink-to-fit-vrl-002.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-shrink-to-fit-vrl-004.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/float-shrink-to-fit-vrl-006.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,93,300) == css-writing-modes-3/float-shrink-to-fit-vrl-008.xht reference/ref-filled-green-100px-square.xht
@@ -776,36 +776,36 @@ fuzzy-if(OSX||winWidget,93,300) == css-w
 skip != css-writing-modes-3/full-width-003.html css-writing-modes-3/reference/full-width-002-notcu-notref.html
 skip != css-writing-modes-3/full-width-003.html css-writing-modes-3/reference/full-width-002-horizontal-notref.html
 fuzzy-if(OSX||winWidget,62,404) == css-writing-modes-3/height-width-inline-non-replaced-vlr-003.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,62,404) == css-writing-modes-3/height-width-inline-non-replaced-vrl-002.xht css-writing-modes-3/abs-pos-non-replaced-icb-vrl-008-ref.xht
 == css-writing-modes-3/horizontal-rule-vlr-003.xht css-writing-modes-3/horizontal-rule-vlr-003-ref.xht
 == css-writing-modes-3/horizontal-rule-vlr-005.xht css-writing-modes-3/horizontal-rule-vrl-004-ref.xht
 == css-writing-modes-3/horizontal-rule-vrl-002.xht css-writing-modes-3/horizontal-rule-vrl-002-ref.xht
 == css-writing-modes-3/horizontal-rule-vrl-004.xht css-writing-modes-3/horizontal-rule-vrl-004-ref.xht
-fails == css-writing-modes-3/inline-block-alignment-002.xht css-writing-modes-3/inline-block-alignment-002-ref.xht
-fails == css-writing-modes-3/inline-block-alignment-003.xht css-writing-modes-3/inline-block-alignment-003-ref.xht
-fails == css-writing-modes-3/inline-block-alignment-004.xht css-writing-modes-3/inline-block-alignment-002-ref.xht
-fails == css-writing-modes-3/inline-block-alignment-005.xht css-writing-modes-3/inline-block-alignment-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-block-alignment-002.xht css-writing-modes-3/inline-block-alignment-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-block-alignment-003.xht css-writing-modes-3/inline-block-alignment-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-block-alignment-004.xht css-writing-modes-3/inline-block-alignment-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-block-alignment-005.xht css-writing-modes-3/inline-block-alignment-003-ref.xht
 fuzzy-if(OSX||winWidget,111,960) == css-writing-modes-3/inline-block-alignment-006.xht css-writing-modes-3/inline-block-alignment-006-ref.xht
-fails == css-writing-modes-3/inline-block-alignment-007.xht css-writing-modes-3/inline-block-alignment-006-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-block-alignment-007.xht css-writing-modes-3/inline-block-alignment-006-ref.xht
 fuzzy-if(OSX||winWidget,218,621) == css-writing-modes-3/inline-block-alignment-orthogonal-vlr-003.xht css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,218,621) == css-writing-modes-3/inline-block-alignment-orthogonal-vlr-005.xht css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,218,621) == css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002.xht css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,218,621) == css-writing-modes-3/inline-block-alignment-orthogonal-vrl-004.xht css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,135,1080) == css-writing-modes-3/inline-block-alignment-slr-009.xht css-writing-modes-3/inline-block-alignment-slr-009-ref.xht
 fuzzy-if(OSX||winWidget,111,960) == css-writing-modes-3/inline-block-alignment-srl-008.xht css-writing-modes-3/inline-block-alignment-006-ref.xht
 == css-writing-modes-3/inline-replaced-vlr-003.xht css-writing-modes-3/inline-replaced-vrl-002-ref.xht
 == css-writing-modes-3/inline-replaced-vlr-005.xht css-writing-modes-3/inline-replaced-vrl-004-ref.xht
 == css-writing-modes-3/inline-replaced-vrl-002.xht css-writing-modes-3/inline-replaced-vrl-002-ref.xht
 == css-writing-modes-3/inline-replaced-vrl-004.xht css-writing-modes-3/inline-replaced-vrl-004-ref.xht
-fails == css-writing-modes-3/inline-table-alignment-002.xht css-writing-modes-3/inline-table-alignment-002-ref.xht
-fails == css-writing-modes-3/inline-table-alignment-003.xht css-writing-modes-3/inline-table-alignment-003-ref.xht
-fails == css-writing-modes-3/inline-table-alignment-004.xht css-writing-modes-3/inline-table-alignment-002-ref.xht
-fails == css-writing-modes-3/inline-table-alignment-005.xht css-writing-modes-3/inline-table-alignment-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-table-alignment-002.xht css-writing-modes-3/inline-table-alignment-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-table-alignment-003.xht css-writing-modes-3/inline-table-alignment-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-table-alignment-004.xht css-writing-modes-3/inline-table-alignment-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/inline-table-alignment-005.xht css-writing-modes-3/inline-table-alignment-003-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-htb-001.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-043.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-047.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-048.xht css-writing-modes-3/block-flow-direction-002-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-050.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-053.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-slr-054.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 random == css-writing-modes-3/line-box-direction-slr-056.xht css-writing-modes-3/block-flow-direction-001-ref.xht
@@ -833,30 +833,30 @@ fuzzy-if(OSX||winWidget,213,1540) == css
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-005.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-006.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-009.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-011.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-012.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 random == css-writing-modes-3/line-box-direction-vrl-015.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-017.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,213,1540) == css-writing-modes-3/line-box-direction-vrl-019.xht css-writing-modes-3/block-flow-direction-001-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-003.xht css-writing-modes-3/line-box-height-vlr-003-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-005.xht css-writing-modes-3/line-box-height-vlr-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-003.xht css-writing-modes-3/line-box-height-vlr-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-005.xht css-writing-modes-3/line-box-height-vlr-003-ref.xht
 == css-writing-modes-3/line-box-height-vlr-007.xht css-writing-modes-3/line-box-height-vlr-007-ref.xht
 == css-writing-modes-3/line-box-height-vlr-009.xht css-writing-modes-3/line-box-height-vlr-007-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-011.xht css-writing-modes-3/line-box-height-vlr-011-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-013.xht css-writing-modes-3/line-box-height-vlr-011-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-021.xht css-writing-modes-3/line-box-height-vlr-021-ref.xht
-fails == css-writing-modes-3/line-box-height-vlr-023.xht css-writing-modes-3/line-box-height-vlr-023-ref.xht
-fails == css-writing-modes-3/line-box-height-vrl-002.xht css-writing-modes-3/line-box-height-vrl-002-ref.xht
-fails == css-writing-modes-3/line-box-height-vrl-004.xht css-writing-modes-3/line-box-height-vrl-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-011.xht css-writing-modes-3/line-box-height-vlr-011-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-013.xht css-writing-modes-3/line-box-height-vlr-011-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-021.xht css-writing-modes-3/line-box-height-vlr-021-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vlr-023.xht css-writing-modes-3/line-box-height-vlr-023-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vrl-002.xht css-writing-modes-3/line-box-height-vrl-002-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vrl-004.xht css-writing-modes-3/line-box-height-vrl-002-ref.xht
 == css-writing-modes-3/line-box-height-vrl-006.xht css-writing-modes-3/line-box-height-vrl-006-ref.xht
 == css-writing-modes-3/line-box-height-vrl-008.xht css-writing-modes-3/line-box-height-vrl-006-ref.xht
-fails == css-writing-modes-3/line-box-height-vrl-010.xht css-writing-modes-3/line-box-height-vrl-010-ref.xht
-fails == css-writing-modes-3/line-box-height-vrl-012.xht css-writing-modes-3/line-box-height-vrl-010-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vrl-010.xht css-writing-modes-3/line-box-height-vrl-010-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/line-box-height-vrl-012.xht css-writing-modes-3/line-box-height-vrl-010-ref.xht
 == css-writing-modes-3/margin-collapse-vlr-003.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-009.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-011.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-015.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-017.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-025.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-031.xht reference/ref-filled-green-100px-square.xht
 == css-writing-modes-3/margin-collapse-vlr-035.xht reference/ref-filled-green-100px-square.xht
@@ -917,47 +917,47 @@ fuzzy-if(OSX||winWidget,110,1200) == css
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/row-progression-vrl-004.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/row-progression-vrl-006.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/row-progression-vrl-008.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-001.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-001-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-003.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-003-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-004.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-004-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-006.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-006-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-007.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-007-ref.xht
-fails-if(OSX||winWidget||Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-008.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-008-ref.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vlr-008.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-008-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-009.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-003-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-010.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-010-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-011.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-011-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-012.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-006-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-013.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-013-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-015.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-015-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-016.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-016-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-018.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-018-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-019.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-019-ref.xht
-fails-if(OSX||winWidget||Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-020.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-020-ref.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vlr-020.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-020-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vlr-021.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-015-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-022.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-022-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-023.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-023-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vlr-024.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-018-ref.xht
-fails == css-writing-modes-3/sizing-orthog-htb-in-vrl-001.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-001-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vrl-001.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-001-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-003.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-003-ref.xht
-fails == css-writing-modes-3/sizing-orthog-htb-in-vrl-004.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-004-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vrl-004.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-004-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-006.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-006-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-007.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-007-ref.xht
-fails-if(OSX||winWidget||Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-008.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-008-ref.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vrl-008.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-008-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-009.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-003-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-010.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-010-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-011.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-011-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-012.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-006-ref.xht
-fails == css-writing-modes-3/sizing-orthog-htb-in-vrl-013.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-013-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vrl-013.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-013-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-015.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-015-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-016.xht css-writing-modes-3/sizing-orthog-htb-in-vlr-016-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-018.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-018-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-019.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-019-ref.xht
-fails-if(OSX||winWidget||Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-020.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-020-ref.xht
+fails-if((OSX||winWidget||Android)&&!styloVsGecko) == css-writing-modes-3/sizing-orthog-htb-in-vrl-020.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-020-ref.xht
 fails-if(Android) == css-writing-modes-3/sizing-orthog-htb-in-vrl-021.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-015-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-022.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-022-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-023.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-023-ref.xht
 == css-writing-modes-3/sizing-orthog-htb-in-vrl-024.xht css-writing-modes-3/sizing-orthog-htb-in-vrl-018-ref.xht
 == css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-001.xht css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-001-ref.xht
 == css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-002.xht css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-002-ref.xht
 == css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-003.xht css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-003-ref.xht
 == css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-004.xht css-writing-modes-3/sizing-orthog-prct-htb-in-vlr-004-ref.xht
@@ -1031,27 +1031,27 @@ fails-if(Android) == css-writing-modes-3
 == css-writing-modes-3/sizing-orthog-vrl-in-htb-024.xht css-writing-modes-3/sizing-orthog-vrl-in-htb-018-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/table-column-order-002.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/table-column-order-003.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/table-column-order-004.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/table-column-order-005.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(winWidget,110,1200) == css-writing-modes-3/table-column-order-slr-007.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 fuzzy-if(OSX||winWidget,110,1200) == css-writing-modes-3/table-column-order-srl-006.xht css-writing-modes-3/block-flow-direction-001-ref.xht
 == css-writing-modes-3/table-progression-slr-001.html css-writing-modes-3/table-progression-slr-001-ref.html
-fails == css-writing-modes-3/table-progression-slr-002.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-slr-002.html css-writing-modes-3/table-progression-002-ref.html
 == css-writing-modes-3/table-progression-srl-001.html css-writing-modes-3/table-progression-001-ref.html
-fails == css-writing-modes-3/table-progression-srl-002.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-srl-002.html css-writing-modes-3/table-progression-002-ref.html
 == css-writing-modes-3/table-progression-vlr-001.html css-writing-modes-3/table-progression-001-ref.html
-fails == css-writing-modes-3/table-progression-vlr-002.html css-writing-modes-3/table-progression-002-ref.html
-fails == css-writing-modes-3/table-progression-vlr-003.html css-writing-modes-3/table-progression-001-ref.html
-fails == css-writing-modes-3/table-progression-vlr-004.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vlr-002.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vlr-003.html css-writing-modes-3/table-progression-001-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vlr-004.html css-writing-modes-3/table-progression-002-ref.html
 == css-writing-modes-3/table-progression-vrl-001.html css-writing-modes-3/table-progression-001-ref.html
-fails == css-writing-modes-3/table-progression-vrl-002.html css-writing-modes-3/table-progression-002-ref.html
-fails == css-writing-modes-3/table-progression-vrl-003.html css-writing-modes-3/table-progression-001-ref.html
-fails == css-writing-modes-3/table-progression-vrl-004.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vrl-002.html css-writing-modes-3/table-progression-002-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vrl-003.html css-writing-modes-3/table-progression-001-ref.html
+fails-if(!styloVsGecko) == css-writing-modes-3/table-progression-vrl-004.html css-writing-modes-3/table-progression-002-ref.html
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-003.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-005.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-007.xht reference/ref-filled-green-100px-square.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-009.xht css-writing-modes-3/text-align-vlr-009-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-011.xht css-writing-modes-3/text-align-vlr-009-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-013.xht css-writing-modes-3/text-align-vlr-009-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-015.xht css-writing-modes-3/direction-vlr-003-ref.xht
 fuzzy-if(OSX||winWidget,75,404) == css-writing-modes-3/text-align-vlr-017.xht css-writing-modes-3/direction-vlr-003-ref.xht
@@ -1140,27 +1140,27 @@ fuzzy-if(OSX||winWidget,223,720) == css-
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-slr-033.xht css-writing-modes-3/vertical-alignment-004-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-slr-035.xht css-writing-modes-3/vertical-alignment-002-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-slr-041.xht css-writing-modes-3/vertical-alignment-slr-049-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-srl-028.xht css-writing-modes-3/vertical-alignment-002-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-srl-030.xht css-writing-modes-3/vertical-alignment-004-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-srl-032.xht css-writing-modes-3/vertical-alignment-006-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-srl-034.xht css-writing-modes-3/vertical-alignment-008-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-srl-040.xht css-writing-modes-3/vertical-alignment-vrl-026-ref.xht
-fails == css-writing-modes-3/vertical-alignment-vlr-023.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
-fails == css-writing-modes-3/vertical-alignment-vlr-025.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/vertical-alignment-vlr-023.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/vertical-alignment-vlr-025.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-vlr-027.xht css-writing-modes-3/vertical-alignment-vrl-026-ref.xht
-fails == css-writing-modes-3/vertical-alignment-vrl-022.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
-fails == css-writing-modes-3/vertical-alignment-vrl-024.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/vertical-alignment-vrl-022.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/vertical-alignment-vrl-024.xht css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
 fuzzy-if(OSX||winWidget,223,720) == css-writing-modes-3/vertical-alignment-vrl-026.xht css-writing-modes-3/vertical-alignment-vrl-026-ref.xht
-fails == css-writing-modes-3/wm-propagation-body-006.xht css-writing-modes-3/block-flow-direction-025-ref.xht
-fails == css-writing-modes-3/wm-propagation-body-008.xht css-writing-modes-3/block-flow-direction-025-ref.xht
-fails == css-writing-modes-3/wm-propagation-body-010.xht css-writing-modes-3/wm-propagation-body-003-ref.xht
-fails == css-writing-modes-3/wm-propagation-body-011.xht css-writing-modes-3/wm-propagation-body-003-ref.xht
-fails == css-writing-modes-3/wm-propagation-body-015.xht css-writing-modes-3/block-flow-direction-025-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/wm-propagation-body-006.xht css-writing-modes-3/block-flow-direction-025-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/wm-propagation-body-008.xht css-writing-modes-3/block-flow-direction-025-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/wm-propagation-body-010.xht css-writing-modes-3/wm-propagation-body-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/wm-propagation-body-011.xht css-writing-modes-3/wm-propagation-body-003-ref.xht
+fails-if(!styloVsGecko) == css-writing-modes-3/wm-propagation-body-015.xht css-writing-modes-3/block-flow-direction-025-ref.xht
 == css-writing-modes-3/writing-mode-horizontal-001l.html css-writing-modes-3/reference/writing-mode-horizontal-001l-ref.html
 == css-writing-modes-3/writing-mode-horizontal-001r.html css-writing-modes-3/reference/writing-mode-horizontal-001r-ref.html
 fuzzy-if(OSX||winWidget,153,612) == css-writing-modes-3/writing-mode-vertical-lr-002.xht css-writing-modes-3/reftest/writing-mode-vertical-lr-002-ref.xht
 fuzzy-if(OSX||winWidget,153,612) == css-writing-modes-3/writing-mode-vertical-rl-001.xht css-writing-modes-3/reftest/writing-mode-vertical-rl-001-ref.xht
 fuzzy-if(OSX||winWidget,153,612) == css-writing-modes-3/writing-mode-vertical-rl-002.xht css-writing-modes-3/reftest/writing-mode-vertical-rl-002-ref.xht
 fuzzy-if(OSX||winWidget,153,612) == css-writing-modes-3/writing-mode-vertical-rl-003.htm css-writing-modes-3/writing-mode-vertical-rl-003-ref.htm
 needs-focus == selectors4/focus-within-001.html selectors4/focus-within-001-ref.html
 needs-focus == selectors4/focus-within-002.html selectors4/focus-within-001-ref.html
--- a/layout/reftests/w3c-css/submitted/flexbox/reftest.list
+++ b/layout/reftests/w3c-css/submitted/flexbox/reftest.list
@@ -143,17 +143,17 @@ fuzzy-if(Android,158,32) == flexbox-alig
 == flexbox-mbp-horiz-002b.xhtml            flexbox-mbp-horiz-002-ref.xhtml
 == flexbox-mbp-horiz-003.xhtml             flexbox-mbp-horiz-003-ref.xhtml
 == flexbox-mbp-horiz-003-reverse.xhtml     flexbox-mbp-horiz-003-reverse-ref.xhtml
 == flexbox-mbp-horiz-004.xhtml             flexbox-mbp-horiz-004-ref.xhtml
 
 # Tests for min-height:auto / min-width:auto on flex items
 == flexbox-min-height-auto-001.html flexbox-min-height-auto-001-ref.html
 == flexbox-min-height-auto-002a.html flexbox-min-height-auto-002-ref.html
-fails == flexbox-min-height-auto-002b.html flexbox-min-height-auto-002-ref.html # bug 1055354
+fails-if(!styloVsGecko) == flexbox-min-height-auto-002b.html flexbox-min-height-auto-002-ref.html # bug 1055354
 == flexbox-min-height-auto-002c.html flexbox-min-height-auto-002-ref.html
 == flexbox-min-height-auto-003.html flexbox-min-height-auto-003-ref.html
 == flexbox-min-height-auto-004.html flexbox-min-height-auto-004-ref.html
 == flexbox-min-width-auto-001.html flexbox-min-width-auto-001-ref.html
 == flexbox-min-width-auto-002a.html flexbox-min-width-auto-002-ref.html
 == flexbox-min-width-auto-002b.html flexbox-min-width-auto-002-ref.html
 == flexbox-min-width-auto-002c.html flexbox-min-width-auto-002-ref.html
 == flexbox-min-width-auto-003.html flexbox-min-width-auto-003-ref.html
--- a/layout/reftests/w3c-css/submitted/images3/reftest.list
+++ b/layout/reftests/w3c-css/submitted/images3/reftest.list
@@ -62,24 +62,24 @@
 == object-fit-fill-svg-003e.html object-fit-fill-svg-003-ref.html
 == object-fit-fill-svg-003i.html object-fit-fill-svg-003-ref.html
 == object-fit-fill-svg-003o.html object-fit-fill-svg-003-ref.html
 == object-fit-fill-svg-003p.html object-fit-fill-svg-003-ref.html
 == object-fit-fill-svg-004e.html object-fit-fill-svg-004-ref.html
 == object-fit-fill-svg-004i.html object-fit-fill-svg-004-ref.html
 == object-fit-fill-svg-004o.html object-fit-fill-svg-004-ref.html
 == object-fit-fill-svg-004p.html object-fit-fill-svg-004-ref.html
-fails == object-fit-fill-svg-005e.html object-fit-fill-svg-005-ref.html # bug 1092436
-fails == object-fit-fill-svg-005i.html object-fit-fill-svg-005-ref.html # bug 1092436
-fails == object-fit-fill-svg-005o.html object-fit-fill-svg-005-ref.html # bug 1092436
-fails == object-fit-fill-svg-005p.html object-fit-fill-svg-005-ref.html # bug 1092436
-fails == object-fit-fill-svg-006e.html object-fit-fill-svg-006-ref.html # bug 1092436
-fails == object-fit-fill-svg-006i.html object-fit-fill-svg-006-ref.html # bug 1092436
-fails == object-fit-fill-svg-006o.html object-fit-fill-svg-006-ref.html # bug 1092436
-fails == object-fit-fill-svg-006p.html object-fit-fill-svg-006-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-005e.html object-fit-fill-svg-005-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-005i.html object-fit-fill-svg-005-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-005o.html object-fit-fill-svg-005-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-005p.html object-fit-fill-svg-005-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-006e.html object-fit-fill-svg-006-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-006i.html object-fit-fill-svg-006-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-006o.html object-fit-fill-svg-006-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-006p.html object-fit-fill-svg-006-ref.html # bug 1092436
 == object-fit-contain-svg-001e.html object-fit-contain-svg-001-ref.html
 == object-fit-contain-svg-001i.html object-fit-contain-svg-001-ref.html
 == object-fit-contain-svg-001o.html object-fit-contain-svg-001-ref.html
 == object-fit-contain-svg-001p.html object-fit-contain-svg-001-ref.html
 == object-fit-contain-svg-002e.html object-fit-contain-svg-002-ref.html
 == object-fit-contain-svg-002i.html object-fit-contain-svg-002-ref.html
 == object-fit-contain-svg-002o.html object-fit-contain-svg-002-ref.html
 == object-fit-contain-svg-002p.html object-fit-contain-svg-002-ref.html
@@ -166,26 +166,26 @@ fails == object-fit-fill-svg-006p.html o
 == object-fit-scale-down-svg-005e.html object-fit-scale-down-svg-005-ref.html
 == object-fit-scale-down-svg-005i.html object-fit-scale-down-svg-005-ref.html
 == object-fit-scale-down-svg-005o.html object-fit-scale-down-svg-005-ref.html
 == object-fit-scale-down-svg-005p.html object-fit-scale-down-svg-005-ref.html
 == object-fit-scale-down-svg-006e.html object-fit-scale-down-svg-006-ref.html
 == object-fit-scale-down-svg-006i.html object-fit-scale-down-svg-006-ref.html
 == object-fit-scale-down-svg-006o.html object-fit-scale-down-svg-006-ref.html
 == object-fit-scale-down-svg-006p.html object-fit-scale-down-svg-006-ref.html
-fails-if(!webrender) == object-position-png-001c.html object-position-png-001-ref.html # bug 1105150
+fails-if(!styloVsGecko&&!webrender) == object-position-png-001c.html object-position-png-001-ref.html # bug 1105150
 == object-position-png-001e.html object-position-png-001-ref.html
 == object-position-png-001i.html object-position-png-001-ref.html
 == object-position-png-001o.html object-position-png-001-ref.html
 == object-position-png-001p.html object-position-png-001-ref.html
-fails-if(!webrender) == object-position-png-002c.html object-position-png-002-ref.html # bug 1105150
+fails-if(!styloVsGecko&&!webrender) == object-position-png-002c.html object-position-png-002-ref.html # bug 1105150
 == object-position-png-002e.html object-position-png-002-ref.html
 == object-position-png-002i.html object-position-png-002-ref.html
 == object-position-png-002o.html object-position-png-002-ref.html
 == object-position-png-002p.html object-position-png-002-ref.html
-fails == object-position-svg-001e.html object-position-svg-001-ref.html # bug 1103286
+fails-if(!styloVsGecko) == object-position-svg-001e.html object-position-svg-001-ref.html # bug 1103286
 == object-position-svg-001i.html object-position-svg-001-ref.html
-fails == object-position-svg-001o.html object-position-svg-001-ref.html # bug 1103286
+fails-if(!styloVsGecko) == object-position-svg-001o.html object-position-svg-001-ref.html # bug 1103286
 == object-position-svg-001p.html object-position-svg-001-ref.html
-fails == object-position-svg-002e.html object-position-svg-002-ref.html # bug 1103286
+fails-if(!styloVsGecko) == object-position-svg-002e.html object-position-svg-002-ref.html # bug 1103286
 == object-position-svg-002i.html object-position-svg-002-ref.html
-fails == object-position-svg-002o.html object-position-svg-002-ref.html # bug 1103286
+fails-if(!styloVsGecko) == object-position-svg-002o.html object-position-svg-002-ref.html # bug 1103286
 == object-position-svg-002p.html object-position-svg-002-ref.html
--- a/layout/reftests/w3c-css/submitted/masking/reftest.list
+++ b/layout/reftests/w3c-css/submitted/masking/reftest.list
@@ -59,17 +59,17 @@ fuzzy-if(skiaContent,71,203) == mask-ima
 
 # mask-repeat test cases
 == mask-repeat-1.html mask-repeat-1-ref.html
 == mask-repeat-2.html mask-repeat-2-ref.html
 == mask-repeat-3.html mask-repeat-3-ref.html
 
 # mask-origin test cases
 == mask-origin-1.html mask-origin-1-ref.html
-fails == mask-origin-2.html mask-origin-2-ref.html # bug 1260094
+fails-if(!styloVsGecko) == mask-origin-2.html mask-origin-2-ref.html # bug 1260094
 == mask-origin-3.html mask-origin-3-ref.html
 
 # mask-size test cases
 == mask-size-auto.html mask-size-auto-ref.html
 == mask-size-auto-auto.html mask-size-auto-ref.html
 == mask-size-auto-length.html mask-size-auto-length-ref.html
 == mask-size-auto-percent.html mask-size-auto-length-ref.html
 == mask-size-contain-clip-border.html mask-size-contain-clip-border-ref.html
--- a/layout/reftests/w3c-css/submitted/shapes1/reftest.list
+++ b/layout/reftests/w3c-css/submitted/shapes1/reftest.list
@@ -7,27 +7,27 @@ default-preferences pref(layout.css.shap
 == shape-outside-border-box-002.html shape-outside-border-box-002-ref.html
 == shape-outside-padding-box-001.html shape-outside-padding-box-001-ref.html
 == shape-outside-padding-box-002.html shape-outside-padding-box-002-ref.html
 == shape-outside-content-box-001.html shape-outside-content-box-001-ref.html
 == shape-outside-content-box-002.html shape-outside-content-box-002-ref.html
 
 # <shape-box> with border-radius
 == shape-outside-margin-box-border-radius-001.html shape-outside-margin-box-border-radius-001-ref.html
-fails == shape-outside-margin-box-border-radius-002.html shape-outside-margin-box-border-radius-002-ref.html # Bug 1309830
+fails-if(!styloVsGecko) == shape-outside-margin-box-border-radius-002.html shape-outside-margin-box-border-radius-002-ref.html # Bug 1309830
 == shape-outside-margin-box-border-radius-003.html shape-outside-margin-box-border-radius-003-ref.html
-fails == shape-outside-margin-box-border-radius-004.html shape-outside-margin-box-border-radius-004-ref.html # Bug 1309830
+fails-if(!styloVsGecko) == shape-outside-margin-box-border-radius-004.html shape-outside-margin-box-border-radius-004-ref.html # Bug 1309830
 == shape-outside-margin-box-border-radius-005.html shape-outside-margin-box-border-radius-005-ref.html
 == shape-outside-margin-box-border-radius-006.html shape-outside-margin-box-border-radius-006-ref.html
 == shape-outside-margin-box-border-radius-007.html shape-outside-margin-box-border-radius-007-ref.html
 == shape-outside-margin-box-border-radius-008.html shape-outside-margin-box-border-radius-008-ref.html
 == shape-outside-border-box-border-radius-001.html shape-outside-border-box-border-radius-001-ref.html
-fails == shape-outside-border-box-border-radius-002.html shape-outside-border-box-border-radius-002-ref.html # Bug 1309830
+fails-if(!styloVsGecko) == shape-outside-border-box-border-radius-002.html shape-outside-border-box-border-radius-002-ref.html # Bug 1309830
 == shape-outside-border-box-border-radius-003.html shape-outside-border-box-border-radius-003-ref.html
-fails == shape-outside-border-box-border-radius-004.html shape-outside-border-box-border-radius-004-ref.html # Bug 1309830
+fails-if(!styloVsGecko) == shape-outside-border-box-border-radius-004.html shape-outside-border-box-border-radius-004-ref.html # Bug 1309830
 == shape-outside-border-box-border-radius-005.html shape-outside-border-box-border-radius-005-ref.html
 == shape-outside-border-box-border-radius-006.html shape-outside-border-box-border-radius-006-ref.html
 == shape-outside-border-box-border-radius-007.html shape-outside-border-box-border-radius-007-ref.html
 == shape-outside-border-box-border-radius-008.html shape-outside-border-box-border-radius-008-ref.html
 == shape-outside-border-box-border-radius-009.html shape-outside-border-box-border-radius-009-ref.html
 == shape-outside-border-box-border-radius-010.html shape-outside-border-box-border-radius-010-ref.html
 == shape-outside-border-box-border-radius-011.html shape-outside-border-box-border-radius-011-ref.html
 == shape-outside-border-box-border-radius-012.html shape-outside-border-box-border-radius-012-ref.html
--- a/layout/reftests/webkit-box/reftest.list
+++ b/layout/reftests/webkit-box/reftest.list
@@ -7,18 +7,18 @@ default-preferences pref(layout.css.pref
 
 # Tests for anonymous flex item formation inside of a "-webkit-box":
 # Note: some of these tests are marked as failing, because we don't match
 # WebKit/Blink on them.  (The reference case represents the WebKit/Blink
 # rendering.) We could probably make them pass by implementing some quirks, if
 # it turns out that the web depends on WebKit/Blink's behavior in these cases.
 == webkit-box-anon-flex-items-1a.html webkit-box-anon-flex-items-1-ref.html
 == webkit-box-anon-flex-items-1b.html webkit-box-anon-flex-items-1-ref.html
-fails == webkit-box-anon-flex-items-2.html webkit-box-anon-flex-items-2-ref.html
-fails == webkit-box-anon-flex-items-3.html webkit-box-anon-flex-items-3-ref.html
+fails-if(!styloVsGecko) == webkit-box-anon-flex-items-2.html webkit-box-anon-flex-items-2-ref.html
+fails-if(!styloVsGecko) == webkit-box-anon-flex-items-3.html webkit-box-anon-flex-items-3-ref.html
 
 # Tests for "-webkit-box" & "-webkit-inline-box" as display values:
 == webkit-display-values-1.html webkit-display-values-1-ref.html
 
 # Tests for "-webkit-box-align" (cross-axis alignment):
 == webkit-box-align-horiz-1a.html webkit-box-align-horiz-1-ref.html
 == webkit-box-align-horiz-1b.html webkit-box-align-horiz-1-ref.html
 == webkit-box-align-vert-1.html webkit-box-align-vert-1-ref.html
@@ -32,17 +32,17 @@ fails == webkit-box-anon-flex-items-3.ht
 
 # Tests for "-webkit-box-ordinal-group"
 == webkit-box-ordinal-group-1.html webkit-box-ordinal-group-1-ref.html
 # XXXdholbert The following test fails because we accept "0" as a valid value
 # for -webkit-box-ordinal-group (unlike Chrome/Blink), because that's simply
 # how its aliased property (-moz-box-ordinal-group) behaves. This shouldn't
 # matter in practice; it could only cause trouble if sites accidentally depend
 # on the "0" value being rejected.
-fails == webkit-box-ordinal-group-2.html webkit-box-ordinal-group-2-ref.html
+fails-if(!styloVsGecko) == webkit-box-ordinal-group-2.html webkit-box-ordinal-group-2-ref.html
 == webkit-box-ordinal-group-3.html webkit-box-ordinal-group-3-ref.html
 
 # Tests for "-webkit-box-pack" (main-axis alignment):
 == webkit-box-pack-horiz-1a.html webkit-box-pack-horiz-1-ref.html
 == webkit-box-pack-horiz-1b.html webkit-box-pack-horiz-1-ref.html
 == webkit-box-pack-vert-1.html webkit-box-pack-vert-1-ref.html
 
 # Tests for "display: -webkit-box" container mixed with modern flex properties
--- a/layout/reftests/writing-mode/abspos/reftest.list
+++ b/layout/reftests/writing-mode/abspos/reftest.list
@@ -8,17 +8,17 @@
 == 1183431-orthogonal-modes-3b.html 1183431-orthogonal-modes-3-ref.html
 == 1183431-orthogonal-modes-3c.html 1183431-orthogonal-modes-3-ref.html
 == 1183431-orthogonal-modes-4a.html 1183431-orthogonal-modes-4-ref.html
 == 1183431-orthogonal-modes-4b.html 1183431-orthogonal-modes-4-ref.html
 == 1183431-orthogonal-modes-4c.html 1183431-orthogonal-modes-4-ref.html
 == 1183431-orthogonal-modes-5a.html 1183431-orthogonal-modes-5-ref.html
 == 1183431-orthogonal-modes-5b.html 1183431-orthogonal-modes-5-ref.html
 == 1183431-orthogonal-modes-5c.html 1183431-orthogonal-modes-5-ref.html
-fails == 1183431-orthogonal-modes-6a.html 1183431-orthogonal-modes-6-ref.html # bug 1191801
+fails-if(!styloVsGecko) == 1183431-orthogonal-modes-6a.html 1183431-orthogonal-modes-6-ref.html # bug 1191801
 == 1183431-orthogonal-modes-6b.html 1183431-orthogonal-modes-6-ref.html
 == 1183431-orthogonal-modes-6c.html 1183431-orthogonal-modes-6-ref.html
 == 1183431-orthogonal-modes-7a.html 1183431-orthogonal-modes-7-ref.html
 == 1183431-orthogonal-modes-7b.html 1183431-orthogonal-modes-7-ref.html
 == 1183431-orthogonal-modes-7c.html 1183431-orthogonal-modes-7-ref.html
-fails == 1183431-orthogonal-modes-8a.html 1183431-orthogonal-modes-8-ref.html # bug 1191801
+fails-if(!styloVsGecko) == 1183431-orthogonal-modes-8a.html 1183431-orthogonal-modes-8-ref.html # bug 1191801
 == 1183431-orthogonal-modes-8b.html 1183431-orthogonal-modes-8-ref.html
 == 1183431-orthogonal-modes-8c.html 1183431-orthogonal-modes-8-ref.html
--- a/layout/reftests/writing-mode/reftest.list
+++ b/layout/reftests/writing-mode/reftest.list
@@ -19,17 +19,17 @@ fuzzy-if(gtkWidget,255,2) fuzzy-if(winWi
 fuzzy-if(azureSkia,255,2700) == 1090168-3.html 1090168-3-ref.html # bug 1230357 mark fuzzy for skia.
 == 1091058-1.html 1091058-1-ref.html
 == 1094434-1.html 1094434-1-ref.html
 == 1094434-2.html 1094434-2-ref.html
 == 1094914-1a.html 1094914-1-ref.html
 == 1094914-1b.html 1094914-1-ref.html
 == 1096224-1a.html 1096224-1-ref.html
 == 1096224-1b.html 1096224-1-ref.html
-fails == 1102175-1a.html 1102175-1-ref.html
+fails-if(!styloVsGecko) == 1102175-1a.html 1102175-1-ref.html
 == 1102175-1b.html 1102175-1-ref.html
 == 1103613-1.html 1103613-1-ref.html
 == 1105268-1-min-max-dimensions.html 1105268-1-min-max-dimensions-ref.html
 == 1105268-2-min-max-dimensions.html 1105268-2-min-max-dimensions-ref.html
 == 1106669-1-intrinsic-for-container.html 1106669-1-intrinsic-for-container-ref.html
 == 1108923-1-percentage-margins.html 1108923-1-percentage-margins-ref.html
 fails-if(webrender) == 1111944-1-list-marker.html 1111944-1-list-marker-ref.html
 fuzzy(116,94) fuzzy-if(winWidget,135,124) HTTP(..) == 1115916-1-vertical-metrics.html 1115916-1-vertical-metrics-ref.html
--- a/layout/reftests/writing-mode/tables/reftest.list
+++ b/layout/reftests/writing-mode/tables/reftest.list
@@ -2,17 +2,17 @@
 == vertical-table-1b.html vertical-table-1-ref.html
 == vertical-table-2a.html vertical-table-2-ref.html
 fuzzy-if(skiaContent,3,750) == vertical-table-2b.html vertical-table-2-ref.html
 == vertical-table-rowspan-1.html vertical-table-rowspan-1-ref.html
 == vertical-table-rowspan-2.html vertical-table-rowspan-2-ref.html
 == vertical-table-colspan-1.html vertical-table-colspan-1-ref.html
 == vertical-table-colspan-2.html vertical-table-colspan-2-ref.html
 == vertical-table-specified-width-1.html vertical-table-specified-width-1-ref.html
-asserts(1) == vertical-table-specified-width-2.html vertical-table-specified-width-2-ref.html # bug 1179741
+asserts(1) asserts-if(styloVsGecko,2) == vertical-table-specified-width-2.html vertical-table-specified-width-2-ref.html # bug 1179741
 fuzzy-if(cocoaWidget,141,24) fails-if(webrender) == vertical-border-collapse-1.html vertical-border-collapse-1-ref.html # bug 1393907 for webrender
 fuzzy-if(cocoaWidget,141,24) fails-if(webrender) == vertical-border-collapse-2.html vertical-border-collapse-2-ref.html # bug 1393907 for webrender
 
 == fixed-table-layout-002-vlr.html fixed-table-layout-002-ref.html
 == fixed-table-layout-003-vlr.html fixed-table-layout-002-ref.html
 == fixed-table-layout-004-vlr.html fixed-table-layout-004-ref.html
 == fixed-table-layout-005-vlr.html fixed-table-layout-005-ref.html
 == fixed-table-layout-006-vlr.html fixed-table-layout-006-ref.html
--- a/layout/reftests/xul/reftest.list
+++ b/layout/reftests/xul/reftest.list
@@ -1,18 +1,18 @@
 == css-flex-1.xul css-flex-1-ref.html
 
 == menuitem-key.xul menuitem-key-ref.xul
 # these random-if(Android) are due to differences between Android Native & Xul, see bug 732569
 random-if(Android) == menulist-shrinkwrap-1.xul menulist-shrinkwrap-1-ref.xul
-random-if(Android) fails-if(winWidget) == menulist-shrinkwrap-2.xul menulist-shrinkwrap-2-ref.xul
+random-if(Android) fails-if(winWidget&&!styloVsGecko) == menulist-shrinkwrap-2.xul menulist-shrinkwrap-2-ref.xul
 == textbox-overflow-1.xul textbox-overflow-1-ref.xul # for bug 749658
 # accesskeys are not normally displayed on Mac, so skip this test
 skip-if(cocoaWidget) == accesskey.xul accesskey-ref.xul
-fails-if(cocoaWidget) fuzzy-if(xulRuntime.widgetToolkit=="gtk3",1,11) == tree-row-outline-1.xul tree-row-outline-1-ref.xul # win8: bug 1254832
+fails-if(cocoaWidget&&!styloVsGecko) fuzzy-if(xulRuntime.widgetToolkit=="gtk3",1,11) == tree-row-outline-1.xul tree-row-outline-1-ref.xul # win8: bug 1254832
 skip-if(!cocoaWidget) == mac-tab-toolbar.xul mac-tab-toolbar-ref.xul
 != tree-row-outline-1.xul tree-row-outline-1-notref.xul
 == text-crop.xul text-crop-ref.xul
 == text-small-caps-1.xul text-small-caps-1-ref.xul
 fuzzy-if(skiaContent,1,60) fuzzy-if(cocoaWidget&&browserIsRemote&&!skiaContent,1,31) fuzzy-if(winWidget&&browserIsRemote&&layersGPUAccelerated,1,50) == inactive-fixed-bg-bug1205630.xul inactive-fixed-bg-bug1205630-ref.html
 fuzzy-if(skiaContent,1,60) fuzzy-if(cocoaWidget&&browserIsRemote&&!skiaContent,1,31) fuzzy-if(winWidget&&browserIsRemote&&layersGPUAccelerated,1,50) == inactive-fixed-bg-bug1272525.xul inactive-fixed-bg-bug1272525-ref.html
 
 # Tests for XUL <image> with 'object-fit' & 'object-position':
@@ -36,18 +36,18 @@ fuzzy-if(skiaContent,1,60) fuzzy-if(coco
 == object-fit-cover-svg-005.xul object-fit-cover-svg-005-ref.html
 == object-fit-cover-svg-006.xul object-fit-cover-svg-006-ref.html
 == object-fit-fill-png-001.xul object-fit-fill-png-001-ref.html
 == object-fit-fill-png-002.xul object-fit-fill-png-002-ref.html
 == object-fit-fill-svg-001.xul object-fit-fill-svg-001-ref.html
 == object-fit-fill-svg-002.xul object-fit-fill-svg-002-ref.html
 == object-fit-fill-svg-003.xul object-fit-fill-svg-003-ref.html
 == object-fit-fill-svg-004.xul object-fit-fill-svg-004-ref.html
-fails == object-fit-fill-svg-005.xul object-fit-fill-svg-005-ref.html # bug 1092436
-fails == object-fit-fill-svg-006.xul object-fit-fill-svg-006-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-005.xul object-fit-fill-svg-005-ref.html # bug 1092436
+fails-if(!styloVsGecko) == object-fit-fill-svg-006.xul object-fit-fill-svg-006-ref.html # bug 1092436
 == object-fit-none-png-001.xul object-fit-none-png-001-ref.html
 == object-fit-none-png-002.xul object-fit-none-png-002-ref.html
 == object-fit-none-svg-001.xul object-fit-none-svg-001-ref.html
 == object-fit-none-svg-002.xul object-fit-none-svg-002-ref.html
 == object-fit-none-svg-003.xul object-fit-none-svg-003-ref.html
 == object-fit-none-svg-004.xul object-fit-none-svg-004-ref.html
 == object-fit-none-svg-005.xul object-fit-none-svg-005-ref.html
 == object-fit-none-svg-006.xul object-fit-none-svg-006-ref.html
--- a/layout/tools/reftest/reftest.jsm
+++ b/layout/tools/reftest/reftest.jsm
@@ -1212,33 +1212,17 @@ function ReadManifest(aURL, inherited_st
             secMan.checkLoadURIWithPrincipal(principal, testURI,
                                              CI.nsIScriptSecurityManager.DISALLOW_SCRIPT);
             secMan.checkLoadURIWithPrincipal(principal, refURI,
                                              CI.nsIScriptSecurityManager.DISALLOW_SCRIPT);
             var type = items[0];
             if (gCompareStyloToGecko) {
                 type = TYPE_REFTEST_EQUAL;
                 refURI = testURI;
-
-                // We expect twice as many assertion failures when running in
-                // styloVsGecko mode because we run each test twice: once in
-                // Stylo mode and once in Gecko mode.
-                minAsserts *= 2;
-                maxAsserts *= 2;
-
-                // Skip the test if it is expected to fail in both Stylo and
-                // Gecko modes. It would unexpectedly "pass" in styloVsGecko
-                // mode when comparing the two failures, which is not a useful
-                // result.
-                if (expected_status === EXPECTED_FAIL ||
-                    expected_status === EXPECTED_RANDOM) {
-                    expected_status = EXPECTED_DEATH;
-                }
             }
-
             AddTestItem({ type: type,
                           expected: expected_status,
                           allowSilentFail: allow_silent_fail,
                           prettyPath: prettyPath,
                           minAsserts: minAsserts,
                           maxAsserts: maxAsserts,
                           needsFocus: needs_focus,
                           slow: slow,
--- a/layout/xul/grid/reftests/reftest.list
+++ b/layout/xul/grid/reftests/reftest.list
@@ -9,10 +9,10 @@ fuzzy-if(skiaContent,1,60000) == not-ful
 fuzzy-if(skiaContent,1,110000) == not-full-grid-pack-align.xul not-full-basic-ref.xhtml
 fuzzy-if(skiaContent,1,30000) == not-full-row-group-align.xul not-full-row-group-align-ref.xhtml # does anyone want/need this behavior?
 fuzzy-if(skiaContent,1,10000) == not-full-row-group-pack.xul not-full-row-group-pack-ref.xhtml
 fuzzy-if(skiaContent,1,50000) == not-full-row-group-direction.xul not-full-row-group-direction-ref.xhtml
 fuzzy-if(skiaContent,1,60000) == not-full-row-leaf-align.xul not-full-basic-ref.xhtml
 fuzzy-if(skiaContent,1,50000) == not-full-row-leaf-pack.xul not-full-row-leaf-pack-ref.xhtml
 fuzzy-if(skiaContent,1,80000) == not-full-row-leaf-direction.xul not-full-row-leaf-pack-ref.xhtml
 random-if(transparentScrollbars) fuzzy-if(OSX==1010,1,565) == scrollable-columns.xul scrollable-columns-ref.xhtml # bug 650597
-fails == scrollable-rows.xul scrollable-rows-ref.xhtml
+fails-if(!styloVsGecko) == scrollable-rows.xul scrollable-rows-ref.xhtml
 == sizing-2d.xul sizing-2d-ref.xul