Closed Bug 1687868 Opened 3 years ago Closed 3 years ago

many fuzzy reftest failures when enabling the non-native theme

Categories

(Core :: Widget, defect)

defect

Tracking

()

RESOLVED FIXED
86 Branch
Fission Milestone M7
Tracking Status
firefox86 --- fixed
firefox87 --- fixed

People

(Reporter: heycam, Assigned: emilio)

References

Details

Attachments

(2 files)

There are many reftests that fail in https://treeherder.mozilla.org/jobs?repo=try&group_state=expanded&searchStr=x64%2Cdebug&revision=b2799bc3c31417f42d3b994acc0798a9ae058f40 with slight pixel differences when the non-native theme is enabled.

These have fuzziness around rounded scrollbar thumb on Linux (e.g. the first in https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/SxZRiYd7RqapvG0YrQzgDA/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1):

layout/reftests/scrolling/iframe-scrolling-attr-1.html
layout/reftests/scrolling/iframe-scrolling-attr-2.html
layout/reftests/scrolling/frame-scrolling-attr-1.html
layout/reftests/async-scrolling/fixed-pos-scrollable-1.html

These have fuzziness near the <textarea> resizer, though seemingly only with WebRender disabled (e.g. the first in https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/JtjG4CtbRfqT8D5hY56amw/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1):

layout/reftests/forms/placeholder/placeholder-1-textarea.html
layout/reftests/css-placeholder/css-restrictions.html
layout/reftests/css-optional/css-optional-textarea.html
layout/reftests/font-inflation/textarea-1.html
layout/reftests/font-inflation/textarea-2.html
layout/reftests/font-inflation/textarea-3.html
layout/reftests/font-inflation/threshold-textarea-contents-under-1.html
layout/reftests/font-inflation/threshold-textarea-contents-under-2.html
layout/reftests/font-inflation/threshold-textarea-contents-at-2.html
editor/reftests/spellcheck-textarea-attr.html
editor/reftests/dynamic-overflow-change.html
layout/reftests/bidi/267459-2.html
layout/reftests/writing-mode/1094434-1.html
dom/html/reftests/41464-1a.html
dom/html/reftests/82711-1.html
layout/reftests/text/wordwrap-08.html
layout/reftests/text/wordwrap-09.html
layout/reftests/text/overflowwrap-09.html
layout/reftests/css-ui-invalid/default-style/textarea.html
layout/reftests/css-required/css-required-textarea.html
layout/reftests/css-placeholder/textarea/placeholder-simple.html
layout/reftests/floats/float-outside-block-push.html
layout/reftests/css-invalid/default-style/textarea.html
layout/reftests/bugs/82711-1.html
layout/reftests/bugs/82711-3.html
layout/reftests/bugs/600803-1.html
layout/reftests/bugs/1274368-1.html
/css/css-fonts/font-size-monospace-adjust.html
/css/CSS2/floats/floats-wrap-bfc-outside-001.xht
/css/css-scrollbars/textarea-scrollbar-width-none.html
/css/css-scoping/slotted-placeholder.html
/css/css-ui/appearance-auto-001.html
/css/css-ui/appearance-button-001.html
/css/css-ui/appearance-checkbox-001.html
/css/css-ui/appearance-listbox-001.html
/css/css-ui/appearance-menulist-001.html
/css/css-ui/appearance-menulist-button-001.html
/css/css-ui/appearance-menulist-button-002.tentative.html
/css/css-ui/appearance-meter-001.html
/css/css-ui/appearance-progress-bar-001.html
/css/css-ui/appearance-radio-001.html
/css/css-ui/appearance-revert-001.tentative.html
/css/css-ui/appearance-searchfield-001.html
/css/css-ui/appearance-textarea-001.html
/css/css-ui/appearance-textfield-001.html
/css/css-ui/webkit-appearance-auto-001.html
/css/css-ui/webkit-appearance-button-001.html
/css/css-ui/webkit-appearance-checkbox-001.html
/css/css-ui/webkit-appearance-listbox-001.html
/css/css-ui/webkit-appearance-menulist-001.html
/css/css-ui/webkit-appearance-menulist-button-001.html
/css/css-ui/webkit-appearance-menulist-button-002.tentative.html
/css/css-ui/webkit-appearance-meter-001.html
/css/css-ui/webkit-appearance-progress-bar-001.html
/css/css-ui/webkit-appearance-radio-001.html
/css/css-ui/webkit-appearance-searchfield-001.html
/css/css-ui/webkit-appearance-textarea-001.html
/css/css-ui/webkit-appearance-textfield-001.html
/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html
/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html
/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html
/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html
/html/rendering/bindings/the-textarea-element-0/cols-default.html
/html/rendering/bindings/the-textarea-element-0/cols-zero.html
/html/rendering/bindings/the-textarea-element-0/rows-default.html
/html/rendering/bindings/the-textarea-element-0/rows-zero.html
/html/semantics/forms/the-textarea-element/multiline-placeholder-cr.html
/html/semantics/forms/the-textarea-element/multiline-placeholder-crlf.html
/html/semantics/forms/the-textarea-element/multiline-placeholder.html
/html/semantics/forms/the-textarea-element/textarea-newline-bidi.html
/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html
/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html

These have fuzziness around rounded corners of <button>, <select>, <input>, <meter>, <textarea>, etc. (e.g. the first in https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/dmqbx8HwRnm92P9scnN3kg/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1):

layout/reftests/forms/input/file/simple.html
layout/reftests/forms/input/file/rtl.html
layout/reftests/forms/input/file/size.html
layout/reftests/forms/input/file/background.html
layout/reftests/forms/input/file/dynamic-max-width.html
layout/reftests/forms/input/file/button-height.html
layout/reftests/forms/overflow.html
widget/reftests/meter-native-style.html
layout/reftests/selection/disabled-1.html
layout/reftests/high-contrast/backplate-bg-image-006.html
layout/reftests/high-contrast/backplate-bg-image-008.html
dom/html/reftests/autofocus/autofocus-leaves-iframe.html
layout/reftests/bugs/28811-1a.html
layout/reftests/bugs/28811-2a.html
layout/reftests/bugs/440112.html
layout/reftests/bugs/513153-1a.html
layout/reftests/bugs/513153-1b.html
layout/reftests/bugs/751012-1a.html
layout/reftests/bugs/751012-1b.html
/css/selectors/selector-placeholder-shown-type-change-001.html
/css/selectors/selector-read-write-type-change-002.html
/css/selectors/selector-required-type-change-002.html
/css/css-grid/grid-items/grid-items-sizing-alignment-001.html
mozilla-central-reftests/contain/contain-size-select-elem-003.html

Fuzziness around <range> thumb shadow:

layout/reftests/forms/input/range/auto-size.html

Fuzziness around the round <range> thumb:

/css/css-sizing/range-percent-intrinsic-size-1.html

Not really sure what to do about these apart from just marking them fuzzy. The fact that the <textarea> resizer ones are so prevalent is perplexing. I spent a bit of time in Pernosco trying to work out what the difference was, but didn't get anywhere.

Tracking non-native theming test failures for Fission M7 Beta.

Fission Milestone: --- → M7

Emilio, would you have some input here? Should we mark these tests fuzzy?

Flags: needinfo?(emilio)

This is similar to what I had to do on Android to get the old non-native theme enabled:

https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/widget/android/nsNativeThemeAndroid.cpp#152-159

I think we should do the same for non-overflowing controls (so, stuff that isn't focused or focus outlines) and see where that gets us.

Flags: needinfo?(emilio)

The fact that this happens only with WR disabled, means that it is indeed probably the same issue.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

Cam, does this patch help? If so we should get it landed.

Flags: needinfo?(cam)

Great, that helped with most of the fuzziness issues:

https://treeherder.mozilla.org/jobs?repo=try&revision=1ba3935ae488018927ded126fffb50e4228f9e6a&group_state=expanded

Still a few left but much more manageable with reftest annotations.

Flags: needinfo?(cam)
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3b776181c922
Prevent skia fuzziness in nsNativeBasicTheme. r=heycam
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch

Re-opening for add a patch for most of the rest of the fuzziness.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Pushed by cmccormack@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6495f98f94e0
Annotate fuzziness in reftest with the non-native theme enabled. r=emilio
Flags: needinfo?(emilio)
Flags: needinfo?(emilio)
Flags: needinfo?(cam)
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6828233cec4f
Annotate fuzziness in reftest with the non-native theme enabled. r=emilio
Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED

Note: this bug's patch added a fuzzy annotation for reftest 1295466-1.xhtml ( https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/reftests/bugs/1295466-1.xhtml ), but that test doesn't have any form controls or theme-related stuff, as far as I can tell, so I suspect it got bundled in here by accident.

That test happens to have a frequent-intermittent failure on Win7 right now (see bug 1540635 comment 26), so I suspect it simply had its "normal" fuzzy-failure purely by coincidence on one of the Try runs that Cameron did here, which is why it ended up getting bundled into the patch.

I've posted a patch over in bug 1540635 to annotate this test accurately (I think) as fuzzy-on-Win7, replacing the nativeThemePref-specific annotation that was added here. If I misunderstanding somehow & this test really does have a nativeThemePref-specific failure, then please accept my apologies & let me know. :)

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: