Closed Bug 1695280 Opened 4 years ago Closed 6 months ago

[Win 7/8.1] Setting background-color on #navigator-toolbox hides minimize/maximize/close buttons

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

From 1694734 comment 10:

Bug 1594132 mostly changed macOS CSS styles. The only cross platform changes were to move a few background properties from :root :-moz-lwtheme to #navigator-toolbox :-moz-lwtheme. That bug also moves some background-image properties from :root:-moz-lwtheme[lwtheme-image] to :root[lwtheme-image] #navigator-toolbox. Alpenglow is a [lwtheme-image] theme, but it doesn't look like the theme in comment 5 is one, so I'm assuming it was the background-color change that broke this.
I spoke with mstange about this bug, and he pointed out that on Windows 7/8, WebRender erases the window-management buttons from its drawing for them to be visible. It does that by pushing a ClearRect item. That happens after all the other drawing items are pushed, so my CSS change shouldn't have been able to erase the window-management buttons. That makes this a likely bug in WebRender.
I'm going to submit a Band-Aid fix that resets background-color on :root only on Windows 7/8 and file a follow-up for the WebRender team.

Bug 1694734 found that the issue was not solved by just setting a bogus background-color: white on :root. The issue appears be to that background-colors on #navigator-toolbox are drawn in front of the window-management buttons on Windows 7/8.

The patch in bug 1694734 added workaround CSS media queries in browser/base/content/browser.css. Those should be removed when this fix lands, per the comments in that file. It also added a backgroundColorSetOnRoot helper to a few tests. I structured the test changes so this fix should just be able to remove those helpers and the assertions they gate.

Component: Graphics: WebRender → Widget
Blocks: gfx-triage
Component: Widget → Graphics: WebRender
Blocks: gfx-stalled
No longer blocks: gfx-triage
Severity: -- → S3

Win7/8.1 no longer supported.

Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.