Bug 1340696 - stylo: Support system colors; r?heycam draft
authorManish Goregaokar <manishearth@gmail.com>
Wed, 15 Mar 2017 14:49:35 -0700
changeset 499734 45892fcd2ce4a9c5913d0e4d4a31bfdab46075ec
parent 499531 2924d1505e97b90c0e8c343a50ea43700791f502
child 549437 b307ea876cb31c8652f60a00740f8fc5260121a1
push id49500
push userbmo:manishearth@gmail.com
push dateThu, 16 Mar 2017 05:20:37 +0000
reviewersheycam
bugs1340696
milestone55.0a1
Bug 1340696 - stylo: Support system colors; r?heycam MozReview-Commit-ID: HUfTdcMRoEx
layout/reftests/bidi/reftest-stylo.list
layout/reftests/box-shadow/reftest-stylo.list
layout/reftests/bugs/reftest-stylo.list
layout/reftests/css-disabled/fieldset/reftest-stylo.list
layout/reftests/css-enabled/fieldset/reftest-stylo.list
layout/reftests/css-enabled/optgroup/reftest-stylo.list
layout/reftests/css-enabled/option/reftest-stylo.list
layout/reftests/css-invalid/default-style/reftest-stylo.list
layout/reftests/css-invalid/fieldset/reftest-stylo.list
layout/reftests/css-invalid/form/reftest-stylo.list
layout/reftests/css-optional/reftest-stylo.list
layout/reftests/css-required/reftest-stylo.list
layout/reftests/css-ui-invalid/default-style/reftest-stylo.list
layout/reftests/css-valid/fieldset/reftest-stylo.list
layout/reftests/forms/fieldset/reftest-stylo.list
layout/reftests/generated-content/reftest-stylo.list
layout/reftests/native-theme/reftest-stylo.list
layout/reftests/ogg-video/reftest-stylo.list
layout/reftests/svg/svg-integration/reftest-stylo.list
layout/reftests/webm-video/reftest-stylo.list
layout/reftests/writing-mode/reftest-stylo.list
layout/style/ServoBindings.cpp
layout/style/ServoBindings.h
layout/style/test/stylo-failures.md
--- a/layout/reftests/bidi/reftest-stylo.list
+++ b/layout/reftests/bidi/reftest-stylo.list
@@ -31,17 +31,17 @@ fuzzy-if(Android,9,134) random-if(layers
 == mixedChartype-00-j.html mixedChartype-00-j.html
 == mixedChartype-01.html mixedChartype-01.html
 == mixedChartype-01-j.html mixedChartype-01-j.html
 == mixedChartype-02.html mixedChartype-02.html
 == mixedChartype-02-j.html mixedChartype-02-j.html
 == mixedChartype-03.html mixedChartype-03.html
 == mixedChartype-03-j.html mixedChartype-03-j.html
 == unicode-bidi-anonymous-001.html unicode-bidi-anonymous-001.html
-fails == unicode-bidi-anonymous-002.html unicode-bidi-anonymous-002.html
+== unicode-bidi-anonymous-002.html unicode-bidi-anonymous-002.html
 == unicode-bidi-isolate-basic.html unicode-bidi-isolate-basic.html
 fails == unicode-bidi-isolate-aharon.html unicode-bidi-isolate-aharon.html
 fails == unicode-bidi-plaintext.html unicode-bidi-plaintext.html
 fails == unicode-bidi-plaintext-textarea-1.html unicode-bidi-plaintext-textarea-1.html
 fails == unicode-bidi-plaintext-textarea-2.html unicode-bidi-plaintext-textarea-2.html
 fails == unicode-bidi-plaintext-textarea-3.html unicode-bidi-plaintext-textarea-3.html
 fails == unicode-bidi-plaintext-textarea-4.html unicode-bidi-plaintext-textarea-4.html
 == with-first-letter-1a.html with-first-letter-1a.html
--- a/layout/reftests/box-shadow/reftest-stylo.list
+++ b/layout/reftests/box-shadow/reftest-stylo.list
@@ -19,17 +19,17 @@ fuzzy-if(skiaContent,1,50) HTTP(..) == b
 == boxshadow-onecorner.html boxshadow-onecorner.html
 == boxshadow-twocorners.html boxshadow-twocorners.html
 == boxshadow-threecorners.html boxshadow-threecorners.html
 fuzzy(2,440) == boxshadow-skiprect.html boxshadow-skiprect.html
 == boxshadow-opacity.html boxshadow-opacity.html
 == boxshadow-color-rounding.html boxshadow-color-rounding.html
 == boxshadow-color-rounding-middle.html boxshadow-color-rounding-middle.html
 fuzzy-if(OSX==1010,1,24) fuzzy-if(d2d,16,908) == boxshadow-large-border-radius.html boxshadow-large-border-radius.html
-fails == boxshadow-border-radius-int.html boxshadow-border-radius-int.html
+== boxshadow-border-radius-int.html boxshadow-border-radius-int.html
 == boxshadow-inset-neg-spread.html boxshadow-inset-neg-spread.html
 == boxshadow-inset-neg-spread2.html boxshadow-inset-neg-spread2.html
 fails == boxshadow-rotated.html boxshadow-rotated.html
 == boxshadow-inset-large-border-radius.html boxshadow-inset-large-border-radius.html
 
 # fuzzy due to blur going inside, but as long as it's essentially black instead of a light gray its ok.
 fuzzy(12,9445) fuzzy-if(d2d,13,10926) == boxshadow-inset-large-offset.html boxshadow-inset-large-offset.html
 
--- a/layout/reftests/bugs/reftest-stylo.list
+++ b/layout/reftests/bugs/reftest-stylo.list
@@ -85,17 +85,17 @@ fails == 40596-1j.html 40596-1j.html
 fails == 81947-1.html 81947-1.html
 fails == 82711-1.html 82711-1.html
 fails == 82711-2.html 82711-2.html
 fails == 82711-3.html 82711-3.html
 fails == 82711-1-ref.html 82711-1-ref.html # Bug 1341697, Bug 1341637
 fails == 82711-1-ref.html 82711-1-ref.html # Bug 1341697, Bug 1341637
 fails == 82711-2-ref.html 82711-2-ref.html
 fails == 84400-1.html 84400-1.html
-fails == 84400-2.html 84400-2.html
+== 84400-2.html 84400-2.html
 == 97777-1.html 97777-1.html
 == 97777-2.html 97777-2.html
 == 98223-1.html 98223-1.html
 == 98223-2.html 98223-2.html
 skip-if(stylo) == 99850-1a.html 99850-1a.html # bug 1337695
 skip-if(stylo) == 99850-1b.html 99850-1b.html # bug 1337695
 fails == 99850-1c.html 99850-1c.html
 skip-if(stylo) == 99850-1d.html 99850-1d.html # bug 1337695
@@ -191,20 +191,20 @@ fails == 200774-1.html 200774-1.html
 fails == 201293-1a.html 201293-1a.html
 fails == 201293-1b.html 201293-1b.html
 fails == 201293-1c.html 201293-1c.html
 fails == 201293-1d.html 201293-1d.html
 == 203727.html 203727.html
 == 206516-1.html 206516-1.html
 == 206631-1.html 206631-1.html
 == 206802.html 206802.html
-fails == 210094-1a.html 210094-1a.html
-fails == 210094-1b.html 210094-1b.html
-fails == 210094-1c.html 210094-1c.html
-fails == 210876-1.html 210876-1.html
+== 210094-1a.html 210094-1a.html
+== 210094-1b.html 210094-1b.html
+== 210094-1c.html 210094-1c.html
+== 210876-1.html 210876-1.html
 == 211931-1.html 211931-1.html
 fails == 212563-1.html 212563-1.html
 == 212563-2.html 212563-2.html
 fails == 213834-1.html 213834-1.html
 == 214077-1a.html 214077-1a.html
 == 214077-1b.html 214077-1b.html
 == 218473-1.html 218473-1.html
 fuzzy-if(skiaContent,1,4) == 220165-1.svg 220165-1.svg
@@ -279,21 +279,21 @@ fails == 243519-7.html 243519-7.html
 == 252920-1.html 252920-1.html
 == 253701-1.html 253701-1.html
 == 255820-1.html 255820-1.html
 fails == 260406-1.html 260406-1.html
 == 261826-1.xul 261826-1.xul
 == 262151-1.html 262151-1.html
 fails == 262998-1.html 262998-1.html
 == 267353-1.html 267353-1.html
-fails == 269908-1.html 269908-1.html
-fails == 269908-2.html 269908-2.html
-fails == 269908-3.html 269908-3.html
-fails == 269908-4.html 269908-4.html
-fails == 269908-5.html 269908-5.html
+== 269908-1.html 269908-1.html
+== 269908-2.html 269908-2.html
+== 269908-3.html 269908-3.html
+== 269908-4.html 269908-4.html
+== 269908-5.html 269908-5.html
 fails == 271747-1a.html 271747-1a.html
 fails == 271747-1b.html 271747-1b.html
 == 272646-1.xul 272646-1.xul
 == 272646-2a.xul 272646-2a.xul
 == 272646-2b.xul 272646-2b.xul
 == 272646-2c.xul 272646-2c.xul
 fails == 273681-1.html 273681-1.html
 == 278266-1a.html 278266-1a.html
@@ -447,17 +447,17 @@ fails == 335628-1.html 335628-1.html
 == 335628-2.xul 335628-2.xul
 == 336096-1.xul 336096-1.xul
 fails == 336147-1.html 336147-1.html
 fails == 336153-1.html 336153-1.html
 fails == 338251-p.html 338251-p.html
 fails == 338251-p-oh.html 338251-p-oh.html
 fails == 338251-pre.html 338251-pre.html
 fails == 338251-pre-oh.html 338251-pre-oh.html
-fails == 339289-1.html 339289-1.html
+== 339289-1.html 339289-1.html
 == 341043-1a.html 341043-1a.html
 == 341043-1b.html 341043-1b.html
 == 343538-1.html 343538-1.html
 == 343540-1.html 343540-1.html
 fails == 345267-1a.html 345267-1a.html
 fails == 345267-1b.html 345267-1b.html
 fails == 345267-1c.html 345267-1c.html
 fails == 345267-1d.html 345267-1d.html
@@ -523,33 +523,33 @@ fails == 352980-3e.html 352980-3e.html
 fails == 352980-3f.html 352980-3f.html
 == 355548-1.xml 355548-1.xml
 == 355548-2.xml 355548-2.xml
 == 355548-3.xml 355548-3.xml
 == 355548-4.xml 355548-4.xml
 == 355548-5.xml 355548-5.xml
 == 356774-1.html 356774-1.html
 == 356775-1.html 356775-1.html
-fails == 359869-1.html 359869-1.html
+== 359869-1.html 359869-1.html
 fails == 359903-1.html 359903-1.html
 fails == 359903-2.html 359903-2.html
 == 360065-1.html 360065-1.html
 asserts-if(stylo,1) == 360746-1.html 360746-1.html # Bug 1341721
 == 360757-1a.html 360757-1a.html
 == 360757-1b.html 360757-1b.html
 == 361091-1.html 361091-1.html
 == 362594-1a.html 362594-1a.html
 == 362594-1b.html 362594-1b.html
 == 362594-1c.html 362594-1c.html
 == 362594-2a.html 362594-2a.html
 == 362594-2a.html 362594-2a.html
 == 362594-2b.html 362594-2b.html
 == 362594-2b.html 362594-2b.html
 == 362594-2c.html 362594-2c.html
-fails == 362901-1.html 362901-1.html
+== 362901-1.html 362901-1.html
 == 363247-1.html 363247-1.html
 == 363329-1.html 363329-1.html
 fails == 363329-2.html 363329-2.html
 == 363370-1.html 363370-1.html
 == 363402-1.html 363402-1.html
 == 363637-1.html 363637-1.html
 fails == 363706-1.html 363706-1.html # Bug 1324348
 fails == 363706-1.html 363706-1.html # Bug 1324348
@@ -738,17 +738,17 @@ fails == 385823-1.html 385823-1.html
 fails == 385823-2a.html 385823-2a.html
 fails == 385823-2b.html 385823-2b.html
 fails == 385823-2c.html 385823-2c.html
 fails == 385870-1.html 385870-1.html
 fails == 385870-2.html 385870-2.html
 == 386014-1a.html 386014-1a.html
 == 386014-1b.html 386014-1b.html
 == 386014-1c.html 386014-1c.html
-fails == 386065-1.html 386065-1.html
+== 386065-1.html 386065-1.html
 == 386065-2.html 386065-2.html
 fails pref(layout.float-fragments-inside-column.enabled,false) == 386147-1.html 386147-1.html # Bug 1341095
 fails pref(layout.float-fragments-inside-column.enabled,true) == 386147-1.html 386147-1.html # Bug 1341095
 == 386310-1a.html 386310-1a.html
 == 386310-1b.html 386310-1b.html
 == 386310-1c.html 386310-1c.html
 == 386310-1d.html 386310-1d.html
 == 386401-1.html 386401-1.html
@@ -882,37 +882,37 @@ fails == 403455-1.html 403455-1.html
 fails == 403519-1.html 403519-1.html
 == 403519-2.html 403519-2.html
 == 403656-1.html 403656-1.html
 == 403656-2.html 403656-2.html
 fails == 403656-3.html 403656-3.html
 == 403656-4.html 403656-4.html
 == 403656-5.html 403656-5.html
 == 403657-1.html 403657-1.html
-fails == 403733-1.html 403733-1.html
+== 403733-1.html 403733-1.html
 fails == 403962-1.xhtml 403962-1.xhtml # Bug 1290276
 == 404030-1.html 404030-1.html
 == 404030-1-notref.html 404030-1-notref.html
 == 404030-1-notref2.html 404030-1-notref2.html
 fails == 404123-1.html 404123-1.html
 fails == 404123-2.html 404123-2.html
-fails == 404123-3.html 404123-3.html
+== 404123-3.html 404123-3.html
 # may fail "randomly" on OS X, doesn't seem to be rendering usefully anyhow - bug 602469
 random-if(cocoaWidget) HTTP(..) == 404149-1.xul 404149-1.xul
 == 404180-1.html 404180-1.html
 == 404301-1.html 404301-1.html
 fails == 404309-1a.html 404309-1a.html
 fails == 404309-1b.html 404309-1b.html
 # Disabled due to compartments for now.
 == data:application/xml,<foo/> data:application/xml,<foo/>
 fails == 404553-1.html 404553-1.html
 == 404666-1.html 404666-1.html
 == 404666-2.html 404666-2.html
 == 405186-1.xhtml 405186-1.xhtml
-fails == 405305-1.html 405305-1.html
+== 405305-1.html 405305-1.html
 == 405380-1.html 405380-1.html
 == 405517-1.xhtml 405517-1.xhtml
 == 405577-1.html 405577-1.html
 == 405584-1.html 405584-1.html
 fails == 405952-1.html 405952-1.html # Bug 1321769?
 == 406484-1.html 406484-1.html
 == 406568-1.html 406568-1.html
 fails == 407016-1-a.html 407016-1-a.html
@@ -990,17 +990,17 @@ fails == 416106-1.xhtml 416106-1.xhtml
 == 417246-1.html 417246-1.html
 == 417676.html 417676.html
 fails asserts(1) == 418574-1.html 418574-1.html
 fails asserts(1) == 418574-2.html 418574-2.html
 == 418766-1a.html 418766-1a.html
 == 418766-1b.html 418766-1b.html
 == 419060.html 419060.html
 == 419285-1.html 419285-1.html
-fails == 419531-1.html 419531-1.html
+== 419531-1.html 419531-1.html
 == 420069-1.html 420069-1.html
 == 420069-2.html 420069-2.html
 == 420351-1.html 420351-1.html
 == 420790-1.xhtml 420790-1.xhtml
 == 421069.html 421069.html
 == 421069.html 421069.html
 == 421069-ref.html 421069-ref.html
 == 421203-1.xul 421203-1.xul
@@ -1130,17 +1130,17 @@ fails == 428521-1c.html 428521-1c.html
 == 428810-3-rtl-insets-ref.html 428810-3-rtl-insets-ref.html
 == 428810-3-rtl-insets-ref.html 428810-3-rtl-insets-ref.html
 fails == 430412-1.html 430412-1.html
 == 430813-1.html 430813-1.html
 == 430813-2.html 430813-2.html
 == 430813-3.html 430813-3.html
 == 431341-1.html 431341-1.html
 == 431341-2.html 431341-2.html
-fails == 431520-1.html 431520-1.html
+== 431520-1.html 431520-1.html
 == 431948-1.html 431948-1.html
 == 433640-1.html 433640-1.html
 fails == 433700.html 433700.html
 fails == 436356-1.html 436356-1.html
 fails == 436356-2.html 436356-2.html
 == 438537-1.html 438537-1.html
 == 438981-1.xhtml 438981-1.xhtml
 == 438987-1.html 438987-1.html
@@ -1277,18 +1277,18 @@ fails == 474417-1.html 474417-1.html
 == 475986-2f.html 475986-2f.html
 == 475986-3a.html 475986-3a.html
 == 475986-3b.html 475986-3b.html
 == 475986-4.html 475986-4.html
 == 475986-1-ref.html 475986-1-ref.html
 == 475986-1-ref.html 475986-1-ref.html
 == 475986-2-ref.html 475986-2-ref.html
 == 476063-1.html 476063-1.html
-fails == 476063-2.html 476063-2.html
-fails == 476063-3.html 476063-3.html
+== 476063-2.html 476063-2.html
+== 476063-3.html 476063-3.html
 == 476063-4.xhtml 476063-4.xhtml
 == 476357-1.html 476357-1.html
 fails == 476598-1a.html 476598-1a.html # Bug 1341785
 fails == 476598-1a.html 476598-1a.html # Bug 1341785
 fails == 476598-1b.html 476598-1b.html # Bug 1341785
 fails == 476598-1b.html 476598-1b.html # Bug 1341785
 == 476598-1-ref.html 476598-1-ref.html
 == 476856-1.html 476856-1.html
@@ -1383,17 +1383,17 @@ fails == 495354-1b.xhtml 495354-1b.xhtml
 pref(dom.use_xbl_scopes_for_remote_xul,true) == 495385-2f.xhtml 495385-2f.xhtml
 == 495385-2g.html 495385-2g.html
 == 495385-2h.html 495385-2h.html
 == 495385-2i.html 495385-2i.html
 == 495385-3.html 495385-3.html
 == 495385-4.html 495385-4.html
 fails == 495385-5.html 495385-5.html
 fails == 496032-1.html 496032-1.html
-fails == 496840-1.html 496840-1.html
+== 496840-1.html 496840-1.html
 fuzzy-if(skiaContent,1,17000) == 498228-1.xul 498228-1.xul
 fails == 501037.html 501037.html
 == 501257-1a.html 501257-1a.html
 == 501257-1b.html 501257-1b.html
 == 501257-1.xhtml 501257-1.xhtml
 fails == 501627-1.html 501627-1.html
 == 502288-1.html 502288-1.html
 fails == 502447-1.html 502447-1.html
@@ -1429,17 +1429,17 @@ fails == 513153-2b.html 513153-2b.html
 fails-if(Android&&(!asyncPan)) == 513318-2.xul 513318-2.xul
 == 514917-1.html 514917-1.html
 fails HTTP(..) == 518172-1a.html 518172-1a.html
 fails == 518172-1b.html 518172-1b.html
 fails HTTP(..) == 518172-2a.html 518172-2a.html
 fails == 518172-2b.html 518172-2b.html
 == 520421-1.html 520421-1.html
 == 520563-1.xhtml 520563-1.xhtml
-fails == 521525-1.html 521525-1.html
+== 521525-1.html 521525-1.html
 == 521525-2.html 521525-2.html
 fails == 521539-1.html 521539-1.html
 == 521542-1.xhtml 521542-1.xhtml
 == 521602.html 521602.html
 == 521685-1.html 521685-1.html
 == 522632-1.html 522632-1.html
 fails == 523096-1.html 523096-1.html
 == 523468-1.html 523468-1.html
@@ -1591,17 +1591,17 @@ fails == 585598-2.xhtml 585598-2.xhtml
 fails == 586400-1.html 586400-1.html
 fails == 586683-1.html 586683-1.html
 fails == 589615-1a.xhtml 589615-1a.xhtml
 fails == 589615-1b.html 589615-1b.html
 == 589672-1.html 589672-1.html
 fails == 589682-1.html 589682-1.html
 == 593243-1.html 593243-1.html
 fails == 593243-2.html 593243-2.html
-fails == 593544-1.html 593544-1.html
+== 593544-1.html 593544-1.html
 == 594333-1.html 594333-1.html
 == 594624-1.html 594624-1.html
 fails == 594737-1.html 594737-1.html
 fails == 597721-1.html 597721-1.html
 skip-if(stylo) == 598726-1.html 598726-1.html # Bug 1302946
 == 599113-1.html 599113-1.html
 == 599476.html 599476.html
 == 599882-1a.html 599882-1a.html
@@ -1652,17 +1652,17 @@ fails == 622585-1.html 622585-1.html
 == 625409-1.html 625409-1.html
 == 627393-1.html 627393-1.html
 fuzzy-if(skiaContent,1,500) == 630835-1.html 630835-1.html
 == 631352-1.html 631352-1.html
 == 632423-1.html 632423-1.html
 skip-if(Android) random-if(winWidget||OSX==1010) == 632781-verybig.html 632781-verybig.html
 == 632781-normalsize.html 632781-normalsize.html
 == 633344-1.html 633344-1.html
-fails == 634232-1.html 634232-1.html
+== 634232-1.html 634232-1.html
 skip-if(stylo) == 635302-1.html 635302-1.html # Too intermittent.
 == 635373-1.html 635373-1.html
 == 635373-2.html 635373-2.html
 == 635373-3.html 635373-3.html
 fails HTTP(..) == 635639-1.html 635639-1.html
 fails HTTP(..) == 635639-2.html 635639-2.html
 fails random == 637597-1.html 637597-1.html
 fails == 637852-1.html 637852-1.html
@@ -1694,17 +1694,17 @@ fails == 665597-1.html 665597-1.html
 == 670442-1.html 670442-1.html
 == 670467-1.html 670467-1.html
 fails == 670467-2.html 670467-2.html
 == 690164-1.html 690164-1.html
 == 690643-1.html 690643-1.html
 == 691087-1.html 691087-1.html
 == 691571-1.html 691571-1.html
 == 696307-1.html 696307-1.html
-fails == 696739-1.html 696739-1.html
+== 696739-1.html 696739-1.html
 needs-focus == 703186-1.html 703186-1.html
 needs-focus == 703186-2.html 703186-2.html
 needs-focus == 703186-1.html 703186-1.html
 == 711359-1.html 711359-1.html
 == 712849-1.html 712849-1.html
 == 713856-static.html 713856-static.html
 == 713856-dynamic.html 713856-dynamic.html
 == 714519-1-as.html 714519-1-as.html
@@ -1778,26 +1778,26 @@ fails == 860370.html 860370.html
 == 871338-1.html 871338-1.html
 == 875060-1.html 875060-1.html
 fails == 883987-1a.html 883987-1a.html
 fails == 883987-1b.html 883987-1b.html
 fails == 883987-1c.html 883987-1c.html
 fails == 883987-1d.html 883987-1d.html
 fails == 883987-1e.html 883987-1e.html
 == 883987-1f.html 883987-1f.html
-fails == 890495-1.html 890495-1.html
+== 890495-1.html 890495-1.html
 == 894931-1.html 894931-1.html
 fails == 897491-1.html 897491-1.html
 fails == 897491-2.html 897491-2.html
 == 902330-1.html 902330-1.html
 == 906199-1.html 906199-1.html
 == 921716-1.html 921716-1.html
 == 926155-1.html 926155-1.html
 == 928607-1.html 928607-1.html
-fails == 931464-1.html 931464-1.html
+== 931464-1.html 931464-1.html
 == 931853.html 931853.html
 == 931853-quirks.html 931853-quirks.html
 fails == 933264-1.html 933264-1.html
 == 936670-1.svg 936670-1.svg
 fails == 941940-1.html 941940-1.html
 fails == 942017.html 942017.html
 fails == 942672-1.html 942672-1.html
 == 953334-win32-clipping.html 953334-win32-clipping.html
--- a/layout/reftests/css-disabled/fieldset/reftest-stylo.list
+++ b/layout/reftests/css-disabled/fieldset/reftest-stylo.list
@@ -1,12 +1,12 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-fails == fieldset-enabled.html fieldset-enabled.html
-fails == fieldset-disabled.html fieldset-disabled.html
-fails == fieldset-fieldset-1.html fieldset-fieldset-1.html
-fails == fieldset-fieldset-2.html fieldset-fieldset-2.html
-fails == fieldset-fieldset-3.html fieldset-fieldset-3.html
-fails == fieldset-fieldset-4.html fieldset-fieldset-4.html
-fails == fieldset-legend-1.html fieldset-legend-1.html
-fails == fieldset-legend-2.html fieldset-legend-2.html
-fails == fieldset-legend-3.html fieldset-legend-3.html
-fails == fieldset-legend-4.html fieldset-legend-4.html
-fails == fieldset-legend-5.html fieldset-legend-5.html
+== fieldset-enabled.html fieldset-enabled.html
+== fieldset-disabled.html fieldset-disabled.html
+== fieldset-fieldset-1.html fieldset-fieldset-1.html
+== fieldset-fieldset-2.html fieldset-fieldset-2.html
+== fieldset-fieldset-3.html fieldset-fieldset-3.html
+== fieldset-fieldset-4.html fieldset-fieldset-4.html
+== fieldset-legend-1.html fieldset-legend-1.html
+== fieldset-legend-2.html fieldset-legend-2.html
+== fieldset-legend-3.html fieldset-legend-3.html
+== fieldset-legend-4.html fieldset-legend-4.html
+== fieldset-legend-5.html fieldset-legend-5.html
--- a/layout/reftests/css-enabled/fieldset/reftest-stylo.list
+++ b/layout/reftests/css-enabled/fieldset/reftest-stylo.list
@@ -1,12 +1,12 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-fails == fieldset-enabled.html fieldset-enabled.html
-fails == fieldset-disabled.html fieldset-disabled.html
-fails == fieldset-fieldset-1.html fieldset-fieldset-1.html
-fails == fieldset-fieldset-2.html fieldset-fieldset-2.html
-fails == fieldset-fieldset-3.html fieldset-fieldset-3.html
-fails == fieldset-fieldset-4.html fieldset-fieldset-4.html
-fails == fieldset-legend-1.html fieldset-legend-1.html
-fails == fieldset-legend-2.html fieldset-legend-2.html
-fails == fieldset-legend-3.html fieldset-legend-3.html
-fails == fieldset-legend-4.html fieldset-legend-4.html
-fails == fieldset-legend-5.html fieldset-legend-5.html
+== fieldset-enabled.html fieldset-enabled.html
+== fieldset-disabled.html fieldset-disabled.html
+== fieldset-fieldset-1.html fieldset-fieldset-1.html
+== fieldset-fieldset-2.html fieldset-fieldset-2.html
+== fieldset-fieldset-3.html fieldset-fieldset-3.html
+== fieldset-fieldset-4.html fieldset-fieldset-4.html
+== fieldset-legend-1.html fieldset-legend-1.html
+== fieldset-legend-2.html fieldset-legend-2.html
+== fieldset-legend-3.html fieldset-legend-3.html
+== fieldset-legend-4.html fieldset-legend-4.html
+== fieldset-legend-5.html fieldset-legend-5.html
--- a/layout/reftests/css-enabled/optgroup/reftest-stylo.list
+++ b/layout/reftests/css-enabled/optgroup/reftest-stylo.list
@@ -1,2 +1,2 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-fails == optgroup-fieldset-1.html optgroup-fieldset-1.html
+== optgroup-fieldset-1.html optgroup-fieldset-1.html
--- a/layout/reftests/css-enabled/option/reftest-stylo.list
+++ b/layout/reftests/css-enabled/option/reftest-stylo.list
@@ -1,2 +1,2 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-fails == option-fieldset-1.html option-fieldset-1.html
+== option-fieldset-1.html option-fieldset-1.html
--- a/layout/reftests/css-invalid/default-style/reftest-stylo.list
+++ b/layout/reftests/css-invalid/default-style/reftest-stylo.list
@@ -1,6 +1,6 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
 fails == input.html input.html
 fails == button.html button.html
 fails == textarea.html textarea.html
 fails == select.html select.html
-fails == fieldset.html fieldset.html # Bug 1340696
+== fieldset.html fieldset.html # Bug 1340696
--- a/layout/reftests/css-invalid/fieldset/reftest-stylo.list
+++ b/layout/reftests/css-invalid/fieldset/reftest-stylo.list
@@ -1,30 +1,30 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-== fieldset-valid.html fieldset-valid.html
-== fieldset-invalid.html fieldset-invalid.html
-== fieldset-add-invalid-barred.html fieldset-add-invalid-barred.html
-== fieldset-add-invalid-element-dynamic.html fieldset-add-invalid-element-dynamic.html
+fails == fieldset-valid.html fieldset-valid.html
+fails == fieldset-invalid.html fieldset-invalid.html
+fails == fieldset-add-invalid-barred.html fieldset-add-invalid-barred.html
+fails == fieldset-add-invalid-element-dynamic.html fieldset-add-invalid-element-dynamic.html
 fails == fieldset-add-invalid-element.html fieldset-add-invalid-element.html
 fails == fieldset-add-invalid-with-valid-element.html fieldset-add-invalid-with-valid-element.html
 fails == fieldset-add-valid-element.html fieldset-add-valid-element.html
 fails == fieldset-add-valid-with-invalid-element.html fieldset-add-valid-with-invalid-element.html
 fails == fieldset-add-valid-with-no-element.html fieldset-add-valid-with-no-element.html
-== fieldset-dynamic-invalid-barred.html fieldset-dynamic-invalid-barred.html
-== fieldset-dynamic-invalid-not-barred.html fieldset-dynamic-invalid-not-barred.html
-== fieldset-dynamic-invalid.html fieldset-dynamic-invalid.html
+fails == fieldset-dynamic-invalid-barred.html fieldset-dynamic-invalid-barred.html
+fails == fieldset-dynamic-invalid-not-barred.html fieldset-dynamic-invalid-not-barred.html
+fails == fieldset-dynamic-invalid.html fieldset-dynamic-invalid.html
 fails == fieldset-dynamic-valid.html fieldset-dynamic-valid.html
-== fieldset-invalid-and-barred-remove-barred.html fieldset-invalid-and-barred-remove-barred.html
+fails == fieldset-invalid-and-barred-remove-barred.html fieldset-invalid-and-barred-remove-barred.html
 fails == fieldset-invalid-and-barred-remove-invalid.html fieldset-invalid-and-barred-remove-invalid.html
 fails == fieldset-invalid-and-barred.html fieldset-invalid-and-barred.html
-== fieldset-remove-invalid-element.html fieldset-remove-invalid-element.html
-== fieldset-static-invalid-barred.html fieldset-static-invalid-barred.html
-== fieldset-static-invalid.html fieldset-static-invalid.html
+fails == fieldset-remove-invalid-element.html fieldset-remove-invalid-element.html
+fails == fieldset-static-invalid-barred.html fieldset-static-invalid-barred.html
+fails == fieldset-static-invalid.html fieldset-static-invalid.html
 fails == fieldset-static-valid.html fieldset-static-valid.html
 fails == fieldset-valid-and-barred-remove-barred.html fieldset-valid-and-barred-remove-barred.html
 fails == fieldset-valid-and-barred.html fieldset-valid-and-barred.html
 fails == fieldset-with-invalid-element-add-barred-dynamic.html fieldset-with-invalid-element-add-barred-dynamic.html
 fails == fieldset-with-valid-and-invalid.html fieldset-with-valid-and-invalid.html
 fails == fieldset-with-valid-element-add-barred-dynamic.html fieldset-with-valid-element-add-barred-dynamic.html
-== fieldset-nested-invalid.html fieldset-nested-invalid.html
-== fieldset-div-invalid.html fieldset-div-invalid.html
+fails == fieldset-nested-invalid.html fieldset-nested-invalid.html
+fails == fieldset-div-invalid.html fieldset-div-invalid.html
 fails == fieldset-nested-valid-invalid.html fieldset-nested-valid-invalid.html
 fails == fieldset-nested-barred.html fieldset-nested-barred.html
--- a/layout/reftests/css-invalid/form/reftest-stylo.list
+++ b/layout/reftests/css-invalid/form/reftest-stylo.list
@@ -1,25 +1,25 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
 fails == form-static-valid.html form-static-valid.html
 fails == form-dynamic-valid.html form-dynamic-valid.html
 == form-remove-invalid-element.html form-remove-invalid-element.html
-== form-static-invalid.html form-static-invalid.html
-== form-dynamic-invalid.html form-dynamic-invalid.html
-== form-add-control.html form-add-control.html
-== form-dynamic-invalid-not-barred.html form-dynamic-invalid-not-barred.html
+fails == form-static-invalid.html form-static-invalid.html
+fails == form-dynamic-invalid.html form-dynamic-invalid.html
+fails == form-add-control.html form-add-control.html
+fails == form-dynamic-invalid-not-barred.html form-dynamic-invalid-not-barred.html
 == form-remove-invalid-element.html form-remove-invalid-element.html
 fails == form-dynamic-invalid-barred.html form-dynamic-invalid-barred.html
 fails == form-static-invalid-barred.html form-static-invalid-barred.html
 fails == form-add-invalid-element.html form-add-invalid-element.html
 fails == form-add-valid-with-invalid-element.html form-add-valid-with-invalid-element.html
 fails == form-invalid-barred.html form-invalid-barred.html
 fails == form-add-valid-element.html form-add-valid-element.html
 fails == form-add-valid-with-no-element.html form-add-valid-with-no-element.html
 fails == form-add-invalid-with-valid-element.html form-add-invalid-with-valid-element.html
 fails == form-with-valid-and-invalid.html form-with-valid-and-invalid.html
-== form-add-invalid-element-dynamic.html form-add-invalid-element-dynamic.html
+fails == form-add-invalid-element-dynamic.html form-add-invalid-element-dynamic.html
 fails == form-invalid-and-barred.html form-invalid-and-barred.html
-== form-invalid-and-barred-remove-barred.html form-invalid-and-barred-remove-barred.html
+fails == form-invalid-and-barred-remove-barred.html form-invalid-and-barred-remove-barred.html
 fails == form-valid-and-barred.html form-valid-and-barred.html
 fails == form-valid-and-barred-remove-barred.html form-valid-and-barred-remove-barred.html
 fails == form-with-invalid-element-add-barred-dynamic.html form-with-invalid-element-add-barred-dynamic.html
 fails == form-with-valid-element-add-barred-dynamic.html form-with-valid-element-add-barred-dynamic.html
--- a/layout/reftests/css-optional/reftest-stylo.list
+++ b/layout/reftests/css-optional/reftest-stylo.list
@@ -2,10 +2,10 @@
 # Checking if these elements support :optional.
 fails == css-optional-textarea.html css-optional-textarea.html
 fails == css-optional-input.html css-optional-input.html
 fails == css-optional-select.html css-optional-select.html
 == css-optional-button.html css-optional-button.html
 
 # Checking dynamic behavior.
 fails == css-optional-dyn-1.html css-optional-dyn-1.html
-== css-optional-dyn-2.html css-optional-dyn-2.html
+fails == css-optional-dyn-2.html css-optional-dyn-2.html
 
--- a/layout/reftests/css-required/reftest-stylo.list
+++ b/layout/reftests/css-required/reftest-stylo.list
@@ -9,22 +9,22 @@ fails == css-required-password.html css-
 fails == css-required-tel.html css-required-tel.html
 fails == css-required-search.html css-required-search.html
 fails == css-required-select.html css-required-select.html
 
 # Checking dynamic behavior with <input type='text'>
 fails == css-required-dyn-1.html css-required-dyn-1.html
 fails == css-required-dyn-2.html css-required-dyn-2.html
 fails == css-required-dyn-3.html css-required-dyn-3.html
-== css-required-dyn-4.html css-required-dyn-4.html
+fails == css-required-dyn-4.html css-required-dyn-4.html
 fails == css-required-dyn-5.html css-required-dyn-5.html
-== css-required-dyn-6.html css-required-dyn-6.html
+fails == css-required-dyn-6.html css-required-dyn-6.html
 
 # Following input types do not support :required
 == css-required-hidden.html css-required-hidden.html
-== css-required-button.html css-required-button.html
+fails == css-required-button.html css-required-button.html
 fails == css-required-submit.html css-required-submit.html
 == css-required-image.html css-required-image.html
 fails == css-required-reset.html css-required-reset.html
 
 # Following elements can be optional but can't be required
 == css-required-button-element.html css-required-button-element.html
 
--- a/layout/reftests/css-ui-invalid/default-style/reftest-stylo.list
+++ b/layout/reftests/css-ui-invalid/default-style/reftest-stylo.list
@@ -1,11 +1,11 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
 fails == input.html input.html
 fails == button.html button.html
 fails == textarea.html textarea.html
 fails == select.html select.html
-fails == fieldset.html fieldset.html # Bug 1340696
+== fieldset.html fieldset.html # Bug 1340696
 fails == output.html output.html # Bug 1341739
 fails == input-focus.html input-focus.html
 fails needs-focus == button-focus.html button-focus.html
 fails needs-focus == textarea-focus.html textarea-focus.html
 fails == select-focus.html select-focus.html
--- a/layout/reftests/css-valid/fieldset/reftest-stylo.list
+++ b/layout/reftests/css-valid/fieldset/reftest-stylo.list
@@ -1,3 +1,3 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-== fieldset-valid.html fieldset-valid.html
-== fieldset-invalid.html fieldset-invalid.html
+fails == fieldset-valid.html fieldset-valid.html
+fails == fieldset-invalid.html fieldset-invalid.html
--- a/layout/reftests/forms/fieldset/reftest-stylo.list
+++ b/layout/reftests/forms/fieldset/reftest-stylo.list
@@ -1,28 +1,28 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
-fails == dynamic-legend-scroll-1.html dynamic-legend-scroll-1.html
-fails == fieldset-hidden-1.html fieldset-hidden-1.html
-fails == fieldset-intrinsic-width-1.html fieldset-intrinsic-width-1.html
-fails == fieldset-percentage-padding-1.html fieldset-percentage-padding-1.html
+== dynamic-legend-scroll-1.html dynamic-legend-scroll-1.html
+== fieldset-hidden-1.html fieldset-hidden-1.html
+== fieldset-intrinsic-width-1.html fieldset-intrinsic-width-1.html
+== fieldset-percentage-padding-1.html fieldset-percentage-padding-1.html
 fails == fieldset-scroll-1.html fieldset-scroll-1.html
-fails == fieldset-scrolled-1.html fieldset-scrolled-1.html
+== fieldset-scrolled-1.html fieldset-scrolled-1.html
 fails == fieldset-overflow-auto-1.html fieldset-overflow-auto-1.html
-fails == positioned-container-1.html positioned-container-1.html
-fails == relpos-legend-1.html relpos-legend-1.html
-fails == relpos-legend-2.html relpos-legend-2.html
-fails == relpos-legend-3.html relpos-legend-3.html
-fails == relpos-legend-4.html relpos-legend-4.html
+== positioned-container-1.html positioned-container-1.html
+== relpos-legend-1.html relpos-legend-1.html
+== relpos-legend-2.html relpos-legend-2.html
+== relpos-legend-3.html relpos-legend-3.html
+== relpos-legend-4.html relpos-legend-4.html
 fails == sticky-legend-1.html sticky-legend-1.html
 fuzzy-if(skiaContent,1,40768) == abs-pos-child-sizing.html abs-pos-child-sizing.html
 fails == overflow-hidden.html overflow-hidden.html
-fails == legend-rtl.html legend-rtl.html # Bug 1340696
+== legend-rtl.html legend-rtl.html # Bug 1340696
 fails == fieldset-grid-001.html fieldset-grid-001.html
 fails == fieldset-flexbox-001.html fieldset-flexbox-001.html
 fails == fieldset-min-width-1a.html fieldset-min-width-1a.html
 fails == fieldset-min-width-1b.html fieldset-min-width-1b.html
-fails == fieldset-min-width-2a.html fieldset-min-width-2a.html
-fails == fieldset-min-width-2b.html fieldset-min-width-2b.html
-fails == legend-overlapping-right-border-1.html legend-overlapping-right-border-1.html # Bug 1340696
+== fieldset-min-width-2a.html fieldset-min-width-2a.html
+== fieldset-min-width-2b.html fieldset-min-width-2b.html
+== legend-overlapping-right-border-1.html legend-overlapping-right-border-1.html # Bug 1340696
 fails == fieldset-border-image-1a.html fieldset-border-image-1a.html
 fails == fieldset-border-image-1b.html fieldset-border-image-1b.html
 fails == fieldset-border-image-2a.html fieldset-border-image-2a.html
 fails == fieldset-border-image-2b.html fieldset-border-image-2b.html
--- a/layout/reftests/generated-content/reftest-stylo.list
+++ b/layout/reftests/generated-content/reftest-stylo.list
@@ -1,17 +1,17 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
 # All tests in this file have fuzz on OS X 10.10 due to bug 1220052.
 
 == display-types-01.html display-types-01.html
 == dynamic-attr-01.html dynamic-attr-01.html
 fails == dynamic-button-01a.html dynamic-button-01a.html
 fails == dynamic-button-01b.html dynamic-button-01b.html
-fails == dynamic-fieldset-01a.html dynamic-fieldset-01a.html
-fails == dynamic-fieldset-01b.html dynamic-fieldset-01b.html
+== dynamic-fieldset-01a.html dynamic-fieldset-01a.html
+== dynamic-fieldset-01b.html dynamic-fieldset-01b.html
 == dynamic-restyle-01.html dynamic-restyle-01.html
 == dynamic-table-cell-01a.html dynamic-table-cell-01a.html
 == dynamic-table-cell-01b.html dynamic-table-cell-01b.html
 == floated-01.html floated-01.html
 == images-01.html images-01.html
 == positioned-01.html positioned-01.html
 fuzzy-if(OSX==1010,1,10) == quotes-001.xml quotes-001.xml
 == table-ignoring-whitespace-01.html table-ignoring-whitespace-01.html
--- a/layout/reftests/native-theme/reftest-stylo.list
+++ b/layout/reftests/native-theme/reftest-stylo.list
@@ -1,14 +1,14 @@
 # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
 fails == button-html-not-blank.html button-html-not-blank.html
 fails == button-not-blank.html button-not-blank.html
 == checkbox-not-blank.html checkbox-not-blank.html
 fails == combobox-not-blank.html combobox-not-blank.html
-fails == fieldset-not-blank.html fieldset-not-blank.html
+== fieldset-not-blank.html fieldset-not-blank.html
 fails == file-not-blank.html file-not-blank.html
 fails == listbox-not-blank.html listbox-not-blank.html
 == radio-not-blank.html radio-not-blank.html
 fails == text-control-not-blank.html text-control-not-blank.html
 fails == textarea-not-blank.html textarea-not-blank.html
 
 # The following tests will fail if the platform does not have native
 # theme support (which all platforms should have).
--- a/layout/reftests/ogg-video/reftest-stylo.list
+++ b/layout/reftests/ogg-video/reftest-stylo.list
@@ -10,18 +10,18 @@ HTTP(..) == aspect-ratio-3b.xhtml aspect
 == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html
 == basic-1.xhtml basic-1.xhtml
 == canvas-1a.xhtml canvas-1a.xhtml
 == canvas-1b.xhtml canvas-1b.xhtml
 == clipping-1a.html clipping-1a.html
 == empty-1a.html empty-1a.html
 == empty-1b.html empty-1b.html
 #these is skipped because we hang on the htmlparser tests when this is ran
-fails == object-aspect-ratio-1a.xhtml object-aspect-ratio-1a.xhtml
-fails == object-aspect-ratio-1b.xhtml object-aspect-ratio-1b.xhtml
+== object-aspect-ratio-1a.xhtml object-aspect-ratio-1a.xhtml
+== object-aspect-ratio-1b.xhtml object-aspect-ratio-1b.xhtml
 == offset-1.xhtml offset-1.xhtml
 random == object-aspect-ratio-2a.xhtml object-aspect-ratio-2a.xhtml
 random == object-aspect-ratio-2b.xhtml object-aspect-ratio-2b.xhtml
 skip-if(Android) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1.xhtml
 == poster-1.html poster-1.html
 == poster-2.html poster-2.html
 skip-if(Android) == poster-3.html poster-3.html
 skip-if(Android) == poster-4.html poster-4.html
--- a/layout/reftests/svg/svg-integration/reftest-stylo.list
+++ b/layout/reftests/svg/svg-integration/reftest-stylo.list
@@ -16,18 +16,18 @@ include clip-path/reftest-stylo.list
 == clipPath-html-06-extref.xhtml clipPath-html-06-extref.xhtml
 == clipPath-html-07.xhtml clipPath-html-07.xhtml
 == clipPath-html-08.xhtml clipPath-html-08.xhtml
 == clipPath-html-zoomed-01.xhtml clipPath-html-zoomed-01.xhtml
 == clipPath-transformed-html-01.xhtml clipPath-transformed-html-01.xhtml
 == clipPath-transformed-html-02.xhtml clipPath-transformed-html-02.xhtml
 == conditions-outer-svg-01.xhtml conditions-outer-svg-01.xhtml
 == conditions-outer-svg-02.xhtml conditions-outer-svg-02.xhtml
-fails == dynamic-conditions-outer-svg-01.xhtml dynamic-conditions-outer-svg-01.xhtml
-fails == dynamic-conditions-outer-svg-02.xhtml dynamic-conditions-outer-svg-02.xhtml
+== dynamic-conditions-outer-svg-01.xhtml dynamic-conditions-outer-svg-01.xhtml
+== dynamic-conditions-outer-svg-02.xhtml dynamic-conditions-outer-svg-02.xhtml
 fails == dynamic-conditions-outer-svg-03.xhtml dynamic-conditions-outer-svg-03.xhtml
 == dynamic-conditions-outer-svg-04.xhtml dynamic-conditions-outer-svg-04.xhtml
 == filter-html-01.xhtml filter-html-01.xhtml
 random == filter-html-01-extref.xhtml filter-html-01-extref.xhtml
 == filter-html-zoomed-01.xhtml filter-html-zoomed-01.xhtml
 fails == mask-html-01.xhtml mask-html-01.xhtml
 fails == mask-html-01-extref-01.xhtml mask-html-01-extref-01.xhtml
 random == mask-html-01-extref-02.xhtml mask-html-01-extref-02.xhtml
--- a/layout/reftests/webm-video/reftest-stylo.list
+++ b/layout/reftests/webm-video/reftest-stylo.list
@@ -9,18 +9,18 @@ HTTP(..) == aspect-ratio-3b.xhtml aspect
 == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html
 == basic-1.xhtml basic-1.xhtml
 == canvas-1a.xhtml canvas-1a.xhtml
 == canvas-1b.xhtml canvas-1b.xhtml
 == clipping-1a.html clipping-1a.html
 == empty-1a.html empty-1a.html
 == empty-1b.html empty-1b.html
 #these is skipped because we hang on the htmlparser tests when this is ran
-fails == object-aspect-ratio-1a.xhtml object-aspect-ratio-1a.xhtml
-fails == object-aspect-ratio-1b.xhtml object-aspect-ratio-1b.xhtml
+== object-aspect-ratio-1a.xhtml object-aspect-ratio-1a.xhtml
+== object-aspect-ratio-1b.xhtml object-aspect-ratio-1b.xhtml
 == offset-1.xhtml offset-1.xhtml
 random == object-aspect-ratio-2a.xhtml object-aspect-ratio-2a.xhtml
 random == object-aspect-ratio-2b.xhtml object-aspect-ratio-2b.xhtml
 skip-if(Android) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1.xhtml
 == poster-1.html poster-1.html
 == poster-2.html poster-2.html
 skip-if(Android) == poster-3.html poster-3.html
 skip-if(Android) == poster-4.html poster-4.html
--- a/layout/reftests/writing-mode/reftest-stylo.list
+++ b/layout/reftests/writing-mode/reftest-stylo.list
@@ -57,17 +57,17 @@ fails == ua-style-sheet-margin-13.html u
 == ua-style-sheet-border-1.html ua-style-sheet-border-1.html
 == ua-style-sheet-border-2.html ua-style-sheet-border-2.html
 == ua-style-sheet-border-3.html ua-style-sheet-border-3.html
 == ua-style-sheet-border-4.html ua-style-sheet-border-4.html
 == ua-style-sheet-border-5.html ua-style-sheet-border-5.html
 fails == ua-style-sheet-size-1.html ua-style-sheet-size-1.html
 fails == ua-style-sheet-size-2.html ua-style-sheet-size-2.html
 
-fails == ua-style-sheet-fieldset-1.html ua-style-sheet-fieldset-1.html
+== ua-style-sheet-fieldset-1.html ua-style-sheet-fieldset-1.html
 fails == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1.html
 fails == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1.html
 fails == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1.html
 == ua-style-sheet-checkbox-radio-1.html ua-style-sheet-checkbox-radio-1.html
 fails == ua-style-sheet-button-1.html ua-style-sheet-button-1.html
 fails == ua-style-sheet-button-1.html ua-style-sheet-button-1.html
 fails == ua-style-sheet-input-color-1.html ua-style-sheet-input-color-1.html
 fuzzy-if(gtkWidget,1,15) skip-if(stylo) == ua-style-sheet-input-number-1.html ua-style-sheet-input-number-1.html # Bug 1341973
--- a/layout/style/ServoBindings.cpp
+++ b/layout/style/ServoBindings.cpp
@@ -40,16 +40,17 @@
 #include "mozilla/Keyframe.h"
 #include "mozilla/ServoAnimationRule.h"
 #include "mozilla/ServoElementSnapshot.h"
 #include "mozilla/ServoRestyleManager.h"
 #include "mozilla/StyleAnimationValue.h"
 #include "mozilla/DeclarationBlockInlines.h"
 #include "mozilla/dom/Element.h"
 #include "mozilla/dom/ElementInlines.h"
+#include "mozilla/LookAndFeel.h"
 
 using namespace mozilla;
 using namespace mozilla::dom;
 
 #define SERVO_ARC_TYPE(name_, type_) \
   already_AddRefed<type_>            \
   type_##Strong::Consume() {         \
     RefPtr<type_> result;            \
@@ -480,16 +481,26 @@ Gecko_FillAllBackgroundLists(nsStyleImag
 }
 
 void
 Gecko_FillAllMaskLists(nsStyleImageLayers* aLayers, uint32_t aMaxLen)
 {
   nsRuleNode::FillAllMaskLists(*aLayers, aMaxLen);
 }
 
+nscolor Gecko_GetLookAndFeelSystemColor(int32_t aId,
+                                        RawGeckoPresContextBorrowed aPresContext)
+{
+  bool useStandinsForNativeColors = aPresContext && !aPresContext->IsChrome();
+  nscolor result;
+  LookAndFeel::ColorID colorId = static_cast<LookAndFeel::ColorID>(aId);
+  LookAndFeel::GetColor(colorId, useStandinsForNativeColors, &result);
+  return result;
+}
+
 template <typename Implementor>
 static nsIAtom*
 AtomAttrValue(Implementor* aElement, nsIAtom* aName)
 {
   const nsAttrValue* attr = aElement->GetParsedAttr(aName);
   return attr ? attr->GetAtomValue() : nullptr;
 }
 
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -366,16 +366,21 @@ void Gecko_CSSValue_Drop(nsCSSValueBorro
 NS_DECL_THREADSAFE_FFI_REFCOUNTING(nsCSSValueSharedList, CSSValueSharedList);
 bool Gecko_PropertyId_IsPrefEnabled(nsCSSPropertyID id);
 
 void Gecko_nsStyleFont_SetLang(nsStyleFont* font, nsIAtom* atom);
 void Gecko_nsStyleFont_CopyLangFrom(nsStyleFont* aFont, const nsStyleFont* aSource);
 
 const nsMediaFeature* Gecko_GetMediaFeatures();
 
+// We use an int32_t here instead of a LookAndFeel::ColorID
+// because forward-declaring a nested enum/struct is impossible
+nscolor Gecko_GetLookAndFeelSystemColor(int32_t color_id,
+                                        RawGeckoPresContextBorrowed pres_context);
+
 // Style-struct management.
 #define STYLE_STRUCT(name, checkdata_cb)                                       \
   void Gecko_Construct_Default_nsStyle##name(                                  \
     nsStyle##name* ptr,                                                        \
     RawGeckoPresContextBorrowed pres_context);                                 \
   void Gecko_CopyConstruct_nsStyle##name(nsStyle##name* ptr,                   \
                                          const nsStyle##name* other);          \
   void Gecko_Destroy_nsStyle##name(nsStyle##name* ptr);
--- a/layout/style/test/stylo-failures.md
+++ b/layout/style/test/stylo-failures.md
@@ -336,17 +336,17 @@ Any line which doesn't follow the format
 * Unsupported values
   * SVG-only values of pointer-events not recognized
     * test_compute_data_with_start_struct.html `pointer-events` [2]
     * test_inherit_computation.html `pointer-events` [4]
     * test_initial_computation.html `pointer-events` [2]
     * test_pointer-events.html [2]
     * test_value_storage.html `pointer-events` [8]
   * new syntax of rgba?() and hsla?() functions servo/rust-cssparser#113
-    * test_value_storage.html `'color'` [36]
+    * test_value_storage.html `'color'` [35]
     * ... `rgb(100, 100.0, 100)` [1]
   * color interpolation hint not supported servo/servo#15166
     * test_value_storage.html `'linear-gradient` [50]
   * two-keyword form of background-repeat/mask-repeat servo/servo#14954
     * test_value_storage.html `background-repeat` [14]
     * ... `mask-repeat` [24]
   * lack glue for function values of content property bug 1296477
     * test_rule_insertion.html `decimal counter` [1]