Closed Bug 1636683 Opened 4 years ago Closed 4 years ago

Minimize / maximize / close buttons are not visible anymore with external Theme enabled after landing patch from bug #1636482

Categories

(Core :: Graphics: WebRender, defect)

78 Branch
x86_64
Windows 7
defect

Tracking

()

VERIFIED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 --- disabled
firefox78 --- verified

People

(Reporter: Virtual, Assigned: gw)

References

(Regression)

Details

(Keywords: nightly-community, regression, reproducible)

Attachments

(6 files)

STR:

  1. Install some Theme (in my case it's "Virtualfox" theme - https://addons.mozilla.org/en-US/firefox/addon/virtualfox/ )

and see that minimize / maximize / close buttons are not visible anymore after landing patch from bug #1636482

Workaround 1:

  1. Disable external Theme

or
Workaround 2:

  1. Open about:config / Advanced Preferences
  2. Set gfx.webrender.force-disabled preference to true value

Regression caused by:
Bug #1636482 - Allow WebRender on all versions of Windows.

Differential Revision:
https://phabricator.services.mozilla.com/D74409

Sotaro, can you take a look?

Flags: needinfo?(sotaro.ikeda.g)

Virtual_ManPL, do you think this is severe enough to require turning it back off?

Flags: needinfo?(Virtual)
Attached image hover.png β€”

If the window is not maximized, you can still see which button you are hovering.

bug 1479680 and bug 1415070 originally fixed Win7 window buttons (even for AMO themes).


First time (offtopic):
Install AMO theme. It's bad if window buttons are gone.
mozregression --good 2018-08-02 --bad 2020-05-08 --pref gfx.webrender.enabled:true -a https://addons.mozilla.org/en-US/firefox/addon/delicate-flower

12:10.09 INFO: Last good revision: 12df7898b0eee9b11ed6189769f2a6199d93d4e1
12:10.09 INFO: First bad revision: 4d9f24928383f3da9fe40a2900a403ceb76c5983
12:10.09 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=12df7898b0eee9b11ed6189769f2a6199d93d4e1&tochange=4d9f24928383f3da9fe40a2900a403ceb76c5983

4d9f24928383f3da9fe40a2900a403ceb76c5983 Markus Stange β€” Bug 1592739 - Stop using the vibrant region as the transparent region. r=mattwoodrow
1664ebaed4a6d805dbce75fe2d12a19f78d922f2 Markus Stange β€” Bug 1592739 - Make the sidebar non-vibrant when any lwtheme is in use. r=ntim
f4b92056ed05cb75bdba417d052743ba873990a9 Markus Stange β€” Bug 1592739 - Stop clearing the background behind vibrant -moz-appearance items. r=mattwoodrow
d5f51e8bbbcb6289f08c9859965da1ce8d0d079d Markus Stange β€” Bug 1592739 - Remove vibrancy code for sheet windows. r=spohl
fbdd3e1c6155234663ef1bd3fc8da44639803c77 Markus Stange β€” Bug 1592739 - Make -moz-appearance: dialog render nothing. r=spohl
8c02fa3fcc2260ffec72a7f04bec74137841f9d3 Markus Stange β€” Bug 1592739 - Style the browser window's root element with -moz-appearance: dialog on macOS (which is the default). r=ntim
fdbf0586295d3aa444d4cb54a183ee9ba3273011 Markus Stange β€” Bug 1592739 - Ignore the background-color CSS value on the window document's root element if that element has a -moz-appearance. r=tnikkel
d0cf63ab46162fdbfe258943aa3789693c3efb38 Markus Stange β€” Bug 1592739 - Make nsChildView::WidgetPaintsBackground() return true. r=tnikkel
6aaeed171a396f11c71185676596bf5edfac596e Markus Stange β€” Bug 1593339 - Remove now-unused vibrancy fill color methods. r=spohl
1975423d6915e495f40e592325e5d0e9894aecb9 Markus Stange β€” Bug 1593339 - Stop drawing vibrancy background colors. r=spohl
08e402640f7e00dcdf86b194c1eaa6c07b01626f Markus Stange β€” Bug 1593325 - Use NextSurfaceAsDrawTarget in nsChildView. r=mattwoodrow

bug 1599366 was about this originally. It was fixed by backout:

bug 1592739 comment 25 backed the regression out:
20200213035745 last without backout = bad,
20200213214257 first with backout = good.


Recent regression:
This regression was reintroduced a week ago by a different patch:
Install AMO theme. It's bad if window buttons are gone.
mozregression --good 2020-04-30 --bad 2020-05-01 --pref gfx.webrender.enabled:true -a https://addons.mozilla.org/en-US/firefox/addon/delicate-flower

4:45.22 INFO: Last good revision: ee3d0ac5d17f928a3bb146c49f8bf90af707f635
4:45.23 INFO: First bad revision: a3a03366bcdf5eac72d4ce26f955030a3469e70c
4:45.23 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=ee3d0ac5d17f928a3bb146c49f8bf90af707f635&tochange=a3a03366bcdf5eac72d4ce26f955030a3469e70c

a3a03366bcdf5eac72d4ce26f955030a3469e70c Glenn Watson β€” Bug 1632705 - Part 4 - Port clear prims to use rounded clip rect API. r=kats

Flags: needinfo?(gwatson)
Regressed by: 1632705

(In reply to Jeff Muizelaar [:jrmuizel] from comment #5)

Virtual_ManPL, do you think this is severe enough to require turning it back off?

No, Nightly is pre-alpha test build of Mozilla Firefox and workaround exists, further there is no crashing, memory leak or severe graphics artifacts, so let's "bake" WebRender enabled on Mozilla Firefox Nightly on older Windows'es systems to get more testing, feedback and maybe some reported bugs too, but it will be nice to get this fixed when WebRender will be enabled also on stable release build or even in beta.

Flags: needinfo?(Virtual)

I think I might know what's causing this.

If it's what I think it is, the regression range above should theoretically be an improvement (resulting in the close buttons getting the very small rounded rect clip drawn correctly, which was previously missing, though barely noticeable), but actually exposes a bug in how clear rect primitives that have a clip mask get handled.

I don't have a Win7 machine locally, but I'll try to create a similar repro case this week on Linux, which should be enough to allow me to fix the issue.

Flags: needinfo?(sotaro.ikeda.g)
Flags: needinfo?(gwatson)
Assignee: nobody → gwatson

I can repro this on a mac machine with a wrench reftest, and confirmed the issue. It should be easy enough to handle this case, I'll work on a patch this week.

Reverts part of a change from bug 1632705 to allow close buttons
to be shown in Win7 under certain themes with WR enabled.

If it turns out that we need to support the clear rect + rounded
clip case, that can be implemented as a follow up - this is an
improvement for now though.

Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e02018dfce9e
Fix close buttons on Win7 + WR + external theme. r=kats
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78

Verified fixed! :) Is it simple enough to uplift to Beta?

Status: RESOLVED → VERIFIED

It's a very simple uplift to beta, but I'm not sure it would be approved - since we don't support Win7 officially as a WR platform right now. What do you think Jessie?

Flags: needinfo?(jbonisteel)

Yeah Win7/8 is nightly only for now.

Flags: needinfo?(jbonisteel)

As OP, I'm also confirming that bug is fixed, starting in Mozilla Firefox Nightly 78.0a1 (2020-05-12).
Thank you very much! \o/

See Also: → 1718497
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: