Bug 1620479 - Annotate reftests with native theme enabled. r=mstange
authorEmilio Cobos Álvarez <emilio@crisal.io>
Sat, 07 Mar 2020 10:07:59 +0000
changeset 517438 06602be6d7b323aa09a144c9b33f2803b3ef1b45
parent 517437 296cb55bfa55d21f23b07808eb2e1eea91d19a7d
child 517439 77b8ab8bef35f5d7942c7386495547ee74b497fb
push id37190
push useraciure@mozilla.com
push dateSat, 07 Mar 2020 21:33:39 +0000
treeherdermozilla-central@d2ac41047c10 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange
bugs1620479
milestone75.0a1
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
Bug 1620479 - Annotate reftests with native theme enabled. r=mstange Most of them are straight-forward. Some fuzziness due to Skia around rounded corners still. Some tests that already fail in other widgets as expected. This is enough to green up reftests (but not WPT, yet) on Android, both with and without WR enabled. Nothing too concerning, all-in-all. Differential Revision: https://phabricator.services.mozilla.com/D65667
layout/reftests/box-shadow/reftest.list
layout/reftests/bugs/reftest.list
layout/reftests/flexbox/reftest.list
layout/reftests/forms/button/reftest.list
layout/reftests/forms/input/checkbox/reftest.list
layout/reftests/forms/input/datetime/reftest.list
layout/reftests/forms/input/file/reftest.list
layout/reftests/forms/input/number/reftest.list
layout/reftests/forms/input/radio/reftest.list
layout/reftests/forms/input/range/reftest.list
layout/reftests/forms/placeholder/reftest.list
layout/reftests/high-contrast/reftest.list
layout/reftests/image-element/reftest.list
layout/reftests/writing-mode/reftest.list
--- a/layout/reftests/box-shadow/reftest.list
+++ b/layout/reftests/box-shadow/reftest.list
@@ -5,20 +5,20 @@ random == boxshadow-blur-2.html boxshado
 random != boxshadow-blur-2.html boxshadow-blur-2-notref.html # fixedpoint division in blur code makes this fail
 == boxshadow-multiple.html boxshadow-multiple-ref.html
 == boxshadow-spread.html boxshadow-spread-ref.html
 == tableboxshadow-basic.html tableboxshadow-basic-ref.html
 == tableboxshadow-trshadow.html tableboxshadow-trshadow-ref.html
 == tableboxshadow-tdshadow.html tableboxshadow-tdshadow-ref.html
 == boxshadow-rounding.html boxshadow-rounding-ref.html
 # One uses old path, one uses WR box shadow.
-fails-if(Android) == boxshadow-button.html boxshadow-button-ref.html
+fails-if(Android&&nativeThemePref) == boxshadow-button.html boxshadow-button-ref.html
 fuzzy-if(OSX==1010,0-1,0-24) fuzzy-if(d2d,0-16,0-999) fuzzy-if(skiaContent,0-14,0-179) == boxshadow-large-border-radius.html boxshadow-large-border-radius-ref.html # Bug 1209649
 
-fails-if(Android) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
+fails-if(Android&&nativeThemePref) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-98,0-152) fuzzy-if(skiaContent,0-13,0-28) fuzzy-if(webrender,19-19,47-47) == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
 fuzzy-if(skiaContent,0-1,0-17) random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
 fuzzy-if(skiaContent,0-1,0-17) == boxshadow-mixed-2.html boxshadow-mixed-2-ref.html
 random-if(d2d) fuzzy-if(skiaContent,0-1,0-212) fuzzy-if(webrender,0-127,0-3528) == boxshadow-rounded-spread.html boxshadow-rounded-spread-ref.html
 fuzzy-if(skiaContent,0-1,0-50) == chrome://reftest/content/box-shadow/boxshadow-dynamic.xhtml chrome://reftest/content/box-shadow/boxshadow-dynamic-ref.xhtml
 random-if(d2d) fuzzy-if(skiaContent,0-1,0-14) == boxshadow-onecorner.html boxshadow-onecorner-ref.html
 random-if(d2d) fuzzy-if(skiaContent,0-1,0-22) == boxshadow-twocorners.html boxshadow-twocorners-ref.html
 random-if(d2d) fuzzy-if(skiaContent,0-1,0-36) == boxshadow-threecorners.html boxshadow-threecorners-ref.html
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -523,17 +523,17 @@ random-if(cocoaWidget) == 350506-1.html 
 == 352980-3b.html 352980-3-ref.html
 == 352980-3c.html 352980-3-ref.html
 == 352980-3d.html 352980-3-ref.html
 == 352980-3e.html 352980-3-ref.html
 == 352980-3f.html 352980-3-ref.html
 == 356774-1.html 356774-1-ref.html
 == 356775-1.html 356775-1-ref.html
 == 359869-1.html 359869-1-ref.html
-!= 359903-1.html 359903-1-ref.html # erosion of padding removed in bug 1010675
+fails-if(!nativeThemePref) != 359903-1.html 359903-1-ref.html # erosion of padding removed in bug 1010675
 != 359903-2.html 359903-2-ref.html # erosion of padding removed in bug 1010675
 == 360065-1.html 360065-1-ref.html
 == 360746-1.html 360746-1-ref.html
 == 360757-1a.html 360757-1-ref.html
 == 360757-1b.html 360757-1-ref.html
 == 361091-1.html 361091-1-ref.html
 == 362594-1a.html 362594-1-quirks-ref.html
 == 362594-1b.html 362594-1-quirks-ref.html
@@ -1000,17 +1000,17 @@ fuzzy-if(skiaContent,0-1,0-40) == 421632
 != 421710-1.html about:blank
 fails-if(Android) fuzzy-if(webrender,63-64,1024-1024) fails-if(usesRepeatResampling&&!(webrender&&winWidget)) == 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
+random-if(gtkWidget||!nativeThemePref) == 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
 == chrome://reftest/content/bugs/424074-1.xhtml chrome://reftest/content/bugs/424074-1-ref.xhtml
 fails-if(Android) != chrome://reftest/content/bugs/424074-1.xhtml chrome://reftest/content/bugs/424074-1-ref2.xhtml
 random-if(gtkWidget) == chrome://reftest/content/bugs/424074-1-ref2.xhtml chrome://reftest/content/bugs/424074-1-ref3.xhtml
 == 424236-1.html 424236-1-ref.html
 == 424236-2.html 424236-2-ref.html
 == 424236-3.html 424236-3-ref.html
@@ -1127,17 +1127,17 @@ fuzzy-if(skiaContent,0-4,0-2) == 438537-
 == 438987-1.html 438987-1-ref.html
 fuzzy-if(skiaContent,0-1,0-3280) == 438987-2a.html 438987-2-ref.html
 fuzzy-if(skiaContent,0-1,0-3280) == 438987-2b.html 438987-2-ref.html
 fuzzy-if(skiaContent,0-1,0-3280) == 438987-2c.html 438987-2-ref.html
 != about:blank 438987-2-ref.html # check that backgrounds work at all
 == 439004-1.html 439004-1-ref.html
 == 439639-1.html 439639-1-ref.html
 fuzzy-if(gtkWidget,0-255,0-6) == 439910.html 439910-ref.html
-fuzzy-if(skiaContent,0-1,0-1) == 440112.html 440112-ref.html
+fuzzy-if(skiaContent,0-1,0-1) fuzzy-if(!nativeThemePref&&skiaContent,1-1,3-3) == 440112.html 440112-ref.html
 == 440149-1.html 440149-1-ref.html
 == 441259-1.html 441259-1-ref.html
 == 441259-2.html 441259-2-ref.html
 fuzzy-if(skiaContent,0-1,0-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
@@ -1282,19 +1282,19 @@ pref(layout.css.xul-display-values.conte
 == 480880-1a.html 480880-1-ref.html
 == 480880-1b.html 480880-1-ref.html
 == 480880-1c.html 480880-1-ref.html
 == 480880-1d.html 480880-1-ref.html
 == 480880-1e.html 480880-1-ref.html
 == 480880-2a.html about:blank
 == 480880-2b.html about:blank
 == 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
+fails-if(Android&&nativeThemePref) == 481024-1a.html 481024-1-ref.html
+fails-if(Android&&nativeThemePref) == 481024-1b.html 481024-1-ref.html
+fails-if(Android&&nativeThemePref) == 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||cocoaWidget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364
 == 482398-1.html 482398-1-ref.html
 random-if(d2d) == 482592-1a-shadow.xhtml 482592-1-ref.html # bug 586771
 random-if(d2d) == 482592-1b-shadow.xhtml 482592-1-ref.html # bug 586771
@@ -1380,18 +1380,18 @@ fuzzy-if(Android,0-5,0-2800) == 506481-1
 == 507762-3.html 507762-1-ref.html
 == 507762-4.html 507762-2-ref.html
 pref(layout.css.xul-box-display-values.content.enabled,true) == 508816-2.html 508816-2-ref.html
 skip-if(isDebugBuild) == chrome://reftest/content/bugs/508908-1.xhtml chrome://reftest/content/bugs/508908-1-ref.xhtml
 == 508919-1.xhtml 508919-1-ref.xhtml
 == 509155-1.xhtml 509155-1-ref.xhtml
 fuzzy-if(Android,0-5,0-1656) fuzzy-if(skiaContent,0-1,0-1200) == 512410.html 512410-ref.html
 == 512631-1.html 512631-1-ref.html
-== 513153-1a.html 513153-1-ref.html
-== 513153-1b.html 513153-1-ref.html
+fuzzy-if(!nativeThemePref&&skiaContent,1-1,2-2) == 513153-1a.html 513153-1-ref.html
+fuzzy-if(!nativeThemePref&&skiaContent,1-1,2-2) == 513153-1b.html 513153-1-ref.html
 fuzzy-if(webrender&&winWidget,82-82,76-76) == 513153-2a.html 513153-2-ref.html
 fuzzy-if(webrender&&OSX,34-34,138-138) == 513153-2b.html 513153-2-ref.html
 == chrome://reftest/content/bugs/513318-1.xhtml chrome://reftest/content/bugs/513318-1-ref.xhtml
 fails-if(Android&&(!asyncPan)) != chrome://reftest/content/bugs/513318-2.xhtml chrome://reftest/content/bugs/513318-2-ref.xhtml
 == 514917-1.html 514917-1-ref.html
 == 518172-1a.html 518172-a-ref.html
 fuzzy-if(winWidget,0-73,0-133) fuzzy-if(cocoaWidget,0-103,0-133) == 518172-1b.html 518172-b-ref.html
 == 518172-2a.html 518172-a-ref.html
--- a/layout/reftests/flexbox/reftest.list
+++ b/layout/reftests/flexbox/reftest.list
@@ -106,17 +106,17 @@ fails == flexbox-inlinecontent-horiz-1b.
 # Tests for flexbox in an iframe that gets resized.
 fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-1,0-16) fuzzy-if(skiaContent,0-1,0-5) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml
 fuzzy-if(skiaContent,0-1,0-5) == flexbox-resizeviewport-2.xhtml flexbox-resizeviewport-2-ref.xhtml
 
 # Tests for flexbox styling on things that don't support it
 == flexbox-styling-on-svg-1.svg flexbox-styling-on-svg-1-ref.svg
 
 # Tests with widgets as flex items
-fuzzy-if(gtkWidget,0-1,0-66) == flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
+fuzzy-if(gtkWidget,0-1,0-66) fuzzy-if(!nativeThemePref,0-1,0-1) == flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
 fuzzy-if(gtkWidget,0-1,0-74) fuzzy-if(webrender&&winWidget,0-1,0-5) == flexbox-widget-flex-items-2.html flexbox-widget-flex-items-2-ref.html
 skip-if(gtkWidget) == flexbox-widget-flex-items-3.html flexbox-widget-flex-items-3-ref.html # bug 1260965
 fuzzy-if(gtkWidget,0-1,0-31) == flexbox-widget-flex-items-4.html flexbox-widget-flex-items-4-ref.html
 
 # Tests for table flex items
 == flexbox-table-flex-items-1.html flexbox-table-flex-items-1-ref.html
 == flexbox-table-flex-items-2.html flexbox-table-flex-items-2-ref.html
 == flexbox-table-flex-items-3.html flexbox-table-flex-items-3-ref.html
--- a/layout/reftests/forms/button/reftest.list
+++ b/layout/reftests/forms/button/reftest.list
@@ -22,17 +22,17 @@ fuzzy-if(Android,0-125,0-20) == percent-
 
 != line-height-button-0.5.html line-height-button-1.0.html
 != line-height-button-1.5.html line-height-button-1.0.html
 != line-height-input-0.5.html line-height-input-1.0.html
 != line-height-input-1.5.html line-height-input-1.0.html
 
 # Looks like Android changes the text color, but to something slightly
 # different from ColorGray
-fails-if(Android) == disabled-1.html disabled-1-ref.html
+fails-if(Android&&nativeThemePref) == disabled-1.html disabled-1-ref.html
 == disabled-2.html disabled-2-ref.html
 
 != disabled-3.html disabled-3-notref.html
 != disabled-4.html disabled-4-notref.html
 != disabled-5.html disabled-5-notref.html
 != disabled-6.html disabled-6-notref.html
 
 == width-auto-size-em-ltr.html width-auto-size-em-ltr-ref.html
--- a/layout/reftests/forms/input/checkbox/reftest.list
+++ b/layout/reftests/forms/input/checkbox/reftest.list
@@ -9,11 +9,11 @@
 == indeterminate-checked-notref.html about:blank
 == indeterminate-unchecked.html about:blank
 != indeterminate-native-checked.html indeterminate-native-checked-notref.html
 != indeterminate-native-unchecked.html indeterminate-native-unchecked-notref.html
 == indeterminate-selector.html indeterminate-selector-ref.html
 skip-if(!gtkWidget) == gtk-theme-width-height.html gtk-theme-width-height-ref.html
 == checkbox-baseline.html checkbox-baseline-ref.html
 == checkbox-radio-color.html checkbox-radio-color-ref.html
-skip-if(gtkWidget) fails-if(geckoview&&webrender) == checkbox-clamp-01.html checkbox-clamp-01-ref.html
-skip-if(OSX||winWidget) fails-if(geckoview&&webrender) fuzzy-if(gtkWidget,25-25,32-32) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
+skip-if(gtkWidget) fails-if(geckoview&&webrender) fails-if(!nativeThemePref) == checkbox-clamp-01.html checkbox-clamp-01-ref.html
+skip-if(OSX||winWidget) fails-if(geckoview&&webrender) fuzzy-if(gtkWidget,25-25,32-32) fails-if(!nativeThemePref) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
 fails-if(OSX) == checkbox-minimum-size.html checkbox-minimum-size-ref.html
--- a/layout/reftests/forms/input/datetime/reftest.list
+++ b/layout/reftests/forms/input/datetime/reftest.list
@@ -6,17 +6,17 @@ defaults pref(dom.forms.datetime,true)
 != time-border.html time-basic.html
 
 # type change
 == to-time-from-other-type-unthemed.html time-simple-unthemed.html
 == from-time-to-other-type-unthemed.html from-time-to-other-type-unthemed-ref.html
 
 # content should not overflow on small width/height
 == time-small-width.html time-small-width-ref.html
-== time-small-height.html time-small-height-ref.html
+fuzzy-if(!nativeThemePref,25-25,2-2) == time-small-height.html time-small-height-ref.html # Minor outline 1px shift
 == time-small-width-height.html time-small-width-height-ref.html
 
 # content (text) should be left aligned
 fuzzy-if(Android,0-4,0-8) == time-content-left-aligned.html time-content-left-aligned-ref.html
 
 # reset button should be right aligned
 skip-if(Android) == time-reset-button-right-aligned.html time-reset-button-right-aligned-ref.html # bug 1372062
 == reset-button-visibility-hidden.html reset-button-visibility-hidden-ref.html
--- a/layout/reftests/forms/input/file/reftest.list
+++ b/layout/reftests/forms/input/file/reftest.list
@@ -1,12 +1,12 @@
-fuzzy-if(gtkWidget||webrender,0-1,0-34) fails-if(Android) == simple.html chrome://reftest/content/forms/input/file/simple-ref.xhtml
-fuzzy-if(gtkWidget||webrender,0-1,0-17) fails-if(Android) == rtl.html chrome://reftest/content/forms/input/file/rtl-ref.xhtml
-fuzzy-if(gtkWidget||webrender,0-1,0-34) fails-if(Android) == size.html chrome://reftest/content/forms/input/file/simple-ref.xhtml
-fuzzy-if(gtkWidget||webrender,0-1,0-10) fails-if(Android) == background.html chrome://reftest/content/forms/input/file/background-ref.xhtml
-fuzzy-if(gtkWidget,0-1,0-10) fails-if(Android) == style.html chrome://reftest/content/forms/input/file/style-ref.xhtml
+fuzzy-if(gtkWidget||webrender,0-1,0-34) fails-if(Android&&nativeThemePref) == simple.html chrome://reftest/content/forms/input/file/simple-ref.xhtml
+fuzzy-if(gtkWidget||webrender,0-1,0-17) fails-if(Android&&nativeThemePref) == rtl.html chrome://reftest/content/forms/input/file/rtl-ref.xhtml
+fuzzy-if(gtkWidget||webrender,0-1,0-34) fails-if(Android&&nativeThemePref) == size.html chrome://reftest/content/forms/input/file/simple-ref.xhtml
+fuzzy-if(gtkWidget||webrender,0-1,0-10) fails-if(Android&&nativeThemePref) == background.html chrome://reftest/content/forms/input/file/background-ref.xhtml
+fuzzy-if(gtkWidget,0-1,0-10) fails-if(Android&&nativeThemePref) == style.html chrome://reftest/content/forms/input/file/style-ref.xhtml
 != width-clip.html width-clip-ref.html
-fails-if(Android) == color-inherit.html color-inherit-ref.html
+fails-if(Android&&nativeThemePref) == color-inherit.html color-inherit-ref.html
 fuzzy-if(Android,0-2,0-2) fuzzy-if(OSX,0-34,0-134) fails-if(webrender&&!(cocoaWidget||geckoview)) == dynamic-max-width.html dynamic-max-width-ref.html # bug 1496542 for webrender.
 == label-min-inline-size.html label-min-inline-size-ref.html
 == css-overflow.html css-overflow-ref.html
 == css-display.html css-display-ref.html
 == button-height.html button-height-ref.html
--- a/layout/reftests/forms/input/number/reftest.list
+++ b/layout/reftests/forms/input/number/reftest.list
@@ -1,14 +1,14 @@
 # sanity checks:
 # not valid on Android where type=number looks like type=text
-skip-if(Android) != not-other-type-unthemed-1.html not-other-type-unthemed-1a-notref.html
-skip-if(Android) != not-other-type-unthemed-1.html not-other-type-unthemed-1b-notref.html
+skip-if(Android&&nativeThemePref) != not-other-type-unthemed-1.html not-other-type-unthemed-1a-notref.html
+skip-if(Android&&nativeThemePref) != not-other-type-unthemed-1.html not-other-type-unthemed-1b-notref.html
 # only valid on Android where type=number looks the same as type=text
-skip-if(!Android) == number-same-as-text-unthemed.html number-same-as-text-unthemed-ref.html
+skip-if(!(Android&&nativeThemePref)) == number-same-as-text-unthemed.html number-same-as-text-unthemed-ref.html
 
 # should look the same as type=text, except for the spin box
 == number-similar-to-text-unthemed.html number-similar-to-text-unthemed-ref.html
 == number-similar-to-text-unthemed-rtl.html number-similar-to-text-unthemed-rtl-ref.html
 == number-similar-to-text-unthemed-vertical-lr.html number-similar-to-text-unthemed-vertical-lr-ref.html
 == number-similar-to-text-unthemed-vertical-rl.html number-similar-to-text-unthemed-vertical-rl-ref.html
 
 # dynamic type changes:
@@ -27,17 +27,17 @@ fuzzy-if(skiaContent,0-2,0-13) == show-v
 
 # min-height/max-height tests:
 skip-if(Android) == number-min-height-1.html number-min-height-1-ref.html
 skip-if(Android) == number-min-height-2.html number-min-height-2-ref.html
 skip-if(Android) == number-max-height-1.html number-max-height-1-ref.html
 skip-if(Android) == number-max-height-2.html number-max-height-2-ref.html
 
 # number of significant fractional digits:
-== number-significant-fractional-digits.html number-significant-fractional-digits-ref.html
+fuzzy-if(!nativeThemePref,0-1,0-1) == number-significant-fractional-digits.html number-significant-fractional-digits-ref.html
 
 # focus
 fuzzy-if(skiaContent,0-2,0-5) needs-focus == focus-handling.html focus-handling-ref.html
 
 # select
 fuzzy-if(skiaContent,0-1,0-1) == number-selected.html number-selected-ref.html
 
 # pseudo-elements not usable from content:
--- a/layout/reftests/forms/input/radio/reftest.list
+++ b/layout/reftests/forms/input/radio/reftest.list
@@ -1,10 +1,10 @@
 == label-dynamic.html label-dynamic-ref.html
 != checked-native.html checked-native-notref.html
 == checked-appearance-none.html about:blank
 == unchecked-appearance-none.html about:blank
 != checked-native.html about:blank
 != checked-native-notref.html about:blank
 skip-if(!gtkWidget) == gtk-theme-width-height.html gtk-theme-width-height-ref.html
-skip-if(gtkWidget) fails-if(geckoview&&webrender) == radio-clamp-01.html radio-clamp-01-ref.html
-skip-if(OSX||winWidget) fuzzy-if(gtkWidget,24-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
+skip-if(gtkWidget) fails-if(geckoview&&webrender) fails-if(!nativeThemePref) == radio-clamp-01.html radio-clamp-01-ref.html
+skip-if(OSX||winWidget||!nativeThemePref) fuzzy-if(gtkWidget,24-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
 fails-if(OSX) == radio-minimum-size.html radio-minimum-size-ref.html
--- a/layout/reftests/forms/input/range/reftest.list
+++ b/layout/reftests/forms/input/range/reftest.list
@@ -51,11 +51,11 @@ fuzzy-if(skiaContent,0-1,0-40) == stepUp
 skip-if(Android) == range-border-background.html range-border-background-ref.html # Android doesn't have a native theme for -webkit-appearance:range
 
 # Other range-percent-intrinsic-size-*.html tests lives in
 # testing/web-platform/tests/css/css-sizing/.  Vertical layout with
 # -webkit-appearance:none isn't supported in other UAs so this test
 # is an internal reftest for now.
 == range-percent-intrinsic-size-2b.html range-percent-intrinsic-size-2b-ref.html
 
-== auto-size.html auto-size-ref.html
+fails-if(!nativeThemePref) == auto-size.html auto-size-ref.html # bug 1620297
 == range-track-bg.html range-track-bg-ref.html
 != track-default-rendering.html track-default-rendering-ref.html
--- a/layout/reftests/forms/placeholder/reftest.list
+++ b/layout/reftests/forms/placeholder/reftest.list
@@ -11,17 +11,20 @@
 == placeholder-1-text.html placeholder-visible-ref.html
 == placeholder-1-password.html placeholder-visible-ref.html
 == placeholder-1-textarea.html placeholder-visible-textarea-ref.html
 == placeholder-2.html placeholder-visible-ref.html
 == placeholder-2-textarea.html placeholder-visible-textarea-ref.html
 == placeholder-3.html placeholder-overridden-ref.html
 == placeholder-4.html placeholder-overridden-ref.html
 == placeholder-5.html placeholder-visible-ref.html
-fuzzy-if(winWidget,0-160,0-10) fuzzy-if(Android,0-1,0-1) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-146,0-317) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
+
+# This tests assumes that the overflowing placeholder won't eat the padding, which is just not true in some platforms...
+fuzzy-if(winWidget,0-160,0-10) fuzzy-if(!nativeThemePref,0-160,0-41) fuzzy-if(Android&&nativeThemePref,0-1,0-1) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-146,0-317) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
+
 skip-if(Android&&asyncPan) == placeholder-6-textarea.html placeholder-overflow-textarea-ref.html
 # needs-focus == placeholder-7.html placeholder-focus-ref.html
 # needs-focus == placeholder-8.html placeholder-focus-ref.html
 # needs-focus == placeholder-9.html placeholder-focus-ref.html
 needs-focus == placeholder-10.html placeholder-visible-ref.html
 == placeholder-11.html placeholder-visible-ref.html
 == placeholder-12.html placeholder-visible-ref.html
 == placeholder-13.html placeholder-visible-ref.html
--- a/layout/reftests/high-contrast/reftest.list
+++ b/layout/reftests/high-contrast/reftest.list
@@ -1,23 +1,29 @@
 # This pref enables high-contrast mode in the testcases here:
 defaults test-pref(browser.display.document_color_use,2) test-pref(browser.display.permit_backplate,true)
 
 # There are several platform-specific fuzzy-if notations below due to
 # anti-aliasing, extra visual overflow, and slightly inacurate reftest
 # mocking. You can read more about the annotations and their specifics here:
 # https://bugzilla.mozilla.org/show_bug.cgi?id=1539212#c25
 
-== backplate-select-001.html backplate-select-001-ref.html
+# non-native-theme uses non-white background, so the white backplate shows up
+# as a difference with the reference.
+fails-if(!nativeThemePref) == backplate-select-001.html backplate-select-001-ref.html
+
 fuzzy-if(cocoaWidget,255-255,20-20) == backplate-bg-image-001.html backplate-bg-image-001-ref.html # bug 1577028
 fuzzy-if(cocoaWidget,255-255,20-20) == backplate-bg-image-002.html backplate-bg-image-002-ref.html
 fuzzy-if(cocoaWidget,255-255,4-4) == backplate-bg-image-003.html backplate-bg-image-003-ref.html
 fuzzy-if(cocoaWidget,255-255,20-20) == backplate-bg-image-004.html backplate-bg-image-004-ref.html
 fuzzy-if(cocoaWidget,255-255,80-80) == backplate-bg-image-005.html backplate-bg-image-005-ref.html
-fuzzy-if(cocoaWidget,255-255,2912-2912) fuzzy-if(gtkWidget,13-13,3200-3200) fuzzy-if(winWidget,15-26,3000-3200) == backplate-bg-image-006.html backplate-bg-image-006-ref.html
+
+# Seems like this test should probably be rewritten...
+fuzzy-if(cocoaWidget,255-255,2912-2912) fuzzy-if(gtkWidget,13-13,3200-3200) fuzzy-if(winWidget,15-26,3000-3200) fuzzy-if(!nativeThemePref,24-24,3200-3200) == backplate-bg-image-006.html backplate-bg-image-006-ref.html
+
 fuzzy-if(cocoaWidget,255-255,40-40) == backplate-bg-image-007.html backplate-bg-image-007-ref.html
 fuzzy-if(cocoaWidget,255-255,20-20) == backplate-bg-image-008.html backplate-bg-image-008-ref.html
 fuzzy-if(cocoaWidget,255-255,20-20) == backplate-bg-image-009.html backplate-bg-image-009-ref.html
 fuzzy-if(cocoaWidget,255-255,1495-1495) fuzzy-if(winWidget,255-255,353-353) fuzzy-if(Android,255-255,700-700) == backplate-bg-image-010.html backplate-bg-image-010-ref.html
 fuzzy-if(cocoaWidget,255-255,284-320) == backplate-bg-image-011.html backplate-bg-image-011-ref.html
 fuzzy-if(cocoaWidget,255-255,16-16) == backplate-bg-image-012.html backplate-bg-image-012-ref.html
 
 test-pref(browser.display.suppress_canvas_background_image_on_forced_colors,true) == bg-image-root-001.html bg-image-root-001-ref.html
--- a/layout/reftests/image-element/reftest.list
+++ b/layout/reftests/image-element/reftest.list
@@ -12,17 +12,17 @@ fuzzy-if(webrender&&winWidget,117-129,47
 == element-paint-recursion.html element-paint-recursion-ref.html
 == element-paint-continuation.html element-paint-continuation-ref.html
 == element-paint-transform-01.html element-paint-transform-01-ref.html
 random-if(d2d) fuzzy-if(webrender,255-255,39-39) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133
 fuzzy-if(d2d&&/^Windows\x20NT\x206\.1/.test(http.oscpu),0-16,0-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,0-255,0-4) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html # Bug 1475907
 fuzzy-if(d2d,0-255,0-24) fuzzy-if(webrender,255-255,56-56) == element-paint-transform-03.html element-paint-transform-03-ref.html
-fuzzy-if(asyncPan,0-2,0-140) fuzzy-if(skiaContent,0-3,0-106) fuzzy-if(webrender&&winWidget,134-222,1197-1588) fuzzy-if(geckoview&&webrender,7-7,22-1321) == element-paint-native-widget.html element-paint-native-widget-ref.html   # in -ref the scrollframe is active and layerized differently with APZ
+fuzzy-if(asyncPan,0-2,0-140) fuzzy-if(skiaContent,0-3,0-106) fuzzy-if(webrender&&winWidget,134-222,1197-1588) fuzzy-if(geckoview&&webrender,0-7,0-1321) == 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&&!(webrender&&winWidget)) == element-paint-subimage-sampling-restriction.html about:blank
 == element-paint-clippath.html element-paint-clippath-ref.html
 fuzzy-if(webrender,36-36,712-738) == element-paint-sharpness-01a.html element-paint-sharpness-01b.html
 fuzzy-if(skiaContent,0-1,0-326) == element-paint-sharpness-01b.html element-paint-sharpness-01c.html
 fuzzy-if(webrender,36-36,712-738) == 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
--- a/layout/reftests/writing-mode/reftest.list
+++ b/layout/reftests/writing-mode/reftest.list
@@ -57,23 +57,31 @@ fuzzy(0-116,0-94) fuzzy-if(winWidget,0-1
 == ua-style-sheet-border-2.html ua-style-sheet-border-2-ref.html
 == ua-style-sheet-border-3.html ua-style-sheet-border-3-ref.html
 == ua-style-sheet-border-4.html ua-style-sheet-border-4-ref.html
 == ua-style-sheet-border-5.html ua-style-sheet-border-5-ref.html
 == ua-style-sheet-size-1.html ua-style-sheet-size-1-ref.html
 == ua-style-sheet-size-2.html ua-style-sheet-size-2-ref.html
 
 == ua-style-sheet-fieldset-1.html ua-style-sheet-fieldset-1-ref.html
-skip-if(Android||winWidget) == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1a-ref.html
-skip-if(!(Android)) == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1b-ref.html
+
+# These don't like padding on textareas by default different to the UA stylesheet ones.
+# FIXME(emilio): Maybe these should be rewritten to use -moz-appearance: none?
+skip-if(Android||winWidget||!nativeThemePref) == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1a-ref.html
+skip-if(!(Android&&nativeThemePref)) == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1b-ref.html
 skip-if(!winWidget) == ua-style-sheet-textarea-1.html ua-style-sheet-textarea-1c-ref.html
+
 fuzzy-if(Android,0-1,0-18) == ua-style-sheet-checkbox-radio-1.html ua-style-sheet-checkbox-radio-1-ref.html
 # Android uses different margins for buttons compared to the ref.
 skip-if(Android) fuzzy-if(skiaContent&&!Android,0-2,0-6) == ua-style-sheet-button-1.html ua-style-sheet-button-1a-ref.html
-skip-if(!(Android)) == ua-style-sheet-button-1.html ua-style-sheet-button-1b-ref.html
+
+# These don't like padding on buttons by default different to the UA stylesheet ones.
+# FIXME(emilio): Maybe these should be rewritten to use -moz-appearance: none?
+skip-if(!(Android&&nativeThemePref)) == ua-style-sheet-button-1.html ua-style-sheet-button-1b-ref.html
+
 # Android uses different margins for buttons compared to the ref.
 skip-if(Android) == ua-style-sheet-input-color-1.html ua-style-sheet-input-color-1-ref.html
 fuzzy-if(gtkWidget,0-1,0-15) == ua-style-sheet-input-number-1.html ua-style-sheet-input-number-1-ref.html
 
 == 1127488-align-default-horizontal-tb-ltr.html 1127488-align-top-left-ref.html
 == 1127488-align-start-horizontal-tb-ltr.html 1127488-align-top-left-ref.html
 == 1127488-align-end-horizontal-tb-ltr.html 1127488-align-top-right-ref.html
 == 1127488-align-left-horizontal-tb-ltr.html 1127488-align-top-left-ref.html