Closed Bug 1923334 Opened 1 year ago Closed 1 year ago

Titlebar not following color scheme of theme dynamically.

Categories

(Core :: Widget: Win32, defect)

defect

Tracking

()

VERIFIED FIXED
133 Branch
Tracking Status
firefox133 --- verified
firefox134 --- verified

People

(Reporter: emilio, Assigned: emilio)

References

(Regressed 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(2 files)

STR:

  • Check "titlebar" checkbox in customize mode.
  • If you're on Light mode, switch to a dark firefox theme, or vice versa.

ER:

  • Titlebar updates to match the theme color.

AR: Titlebar gets stuck.

This is also important for the sidebar translucency, since otherwise the sidebar background wouldn't change color scheme dynamically.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

We sync window properties every time we reflow the viewport frame:

However that's not enough because some things that do affect the window
properties (like border-radius / background-color / color-scheme) don't
necessarily trigger reflow.

Do it whenever we set the root style, which is easier and catches all
those.

Bail out earlier in content processes because we can, puppet widgets
don't do any of that.

Keywords: leave-open
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a618db242979 Implement nsWindow::SetColorScheme on Windows. r=win-reviewers,rkraesig
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ae9869b408a6 Sync window properties when root element style changes. r=jwatt
Keywords: leave-open
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 133 Branch
Blocks: 1764822

(In reply to Pulsebot from comment #5)

Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ae9869b408a6
Sync window properties when root element style changes. r=jwatt

Perfherder has detected a talos performance change from push ae9869b408a6b0672affa759d10420d4704af2ac.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
11% tresize linux1804-64-shippable-qr e10s fission stylo webrender-sw 23.23 -> 20.60
11% tresize linux1804-64-shippable-qr e10s fission stylo webrender-sw 23.31 -> 20.71
8% tresize linux1804-64-shippable-qr e10s fission stylo webrender 23.17 -> 21.29
4% tart macosx1015-64-shippable-qr e10s fission stylo webrender-sw 1.88 -> 1.80

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 2477

For more information on performance sheriffing please see our FAQ.

I suspect the cause of this slowdown has been misidentified, but pinging :emilio anyway.

Flags: needinfo?(emilio)

It's not a slowdown tho, it's a speedup. Actually it's not impossible, since it was a cross-platform change, and tresize reflows the viewport, but doesn't change root styles. So we're actually doing less work.

Flags: needinfo?(emilio)
Flags: qe-verify+
Regressions: 1928881

I was able to reproduce the issue on Win10x64 using Firefox build 133.0a1 (2024-10-08).
Verified as fixed on Win10x64 and macOS 13.6 ARM using Firefox build 134.0a1 and 133.0b9.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Regressions: 1934112
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: