Context menus only open the first mouse click when using SW-WR
Categories
(Core :: Widget: Win32, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr128 | --- | unaffected |
| firefox136 | --- | unaffected |
| firefox137 | --- | verified |
| firefox138 | --- | verified |
People
(Reporter: cpeterson, Assigned: emilio)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files, 1 obsolete file)
|
22.23 KB,
image/png
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
Steps to reproduce
- Set pref
widget.windows.mica.popups= true and restart Firefox. - Right click on Firefox chrome or a web page to open a context menu.
- Right click a second time.
Expected result
The context menu should open again and it should list the menu items.
Actual result
The context menu opens again, but it is blank. See the attached screenshot.
If you switch to a different tab and right click there, the content menu will list the menu items as expected.
I'm running Nightly 137.0a1 (2025-02-21) on Windows 11 (24H2).
| Assignee | ||
Comment 1•1 year ago
|
||
Can you attach your about:support info? I can't repro this.
| Assignee | ||
Comment 2•1 year ago
|
||
Also is this mica specific? I'd be a bit surprised because regular context menus have been using a similar code-path since ~forever...
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 3•1 year ago
|
||
Chris, ping, can you still repro this? If so I need more info to make it actionable :)
Comment 4•1 year ago
|
||
I saw it once when the browser(maybe even the parent process) was very busy with something.
I right clicked, and the context menu was empty.
| Reporter | ||
Comment 5•1 year ago
•
|
||
Emilio, sorry for the late reply! I was out on PTO all last week.
I've identified a missing step to reproduce this bug: in addition to enabling the mica prefs, you need to enable Software WebRender (gfx.webrender.software pref = true and then restart Firefox).
| Reporter | ||
Comment 6•1 year ago
|
||
I see now that simply enabling gfx.webrender.software (SW-WR) without the mica prefs causes the context menu to not open at all after the second right click. I bisected that bug to this pushlog for your fix for transparent window popups bug 1948565:
I've reworded this bug to be about the bug 1948565 regression without Mica since that regression doesn't require any non-default prefs (like Mica) since some users will be using SW-WR because of their hardware configuration.
So:
- Transparent window popups bug 1948565 caused the context menu to only open once when using SW-WR
- And then Mica bug 1924741 allowed the context menu popup to be shown more than once, but the menu was empty.
| Assignee | ||
Comment 7•1 year ago
|
||
Thanks, I can repro that. Can you confirm that if you do that and hover over where the popup would be, it appears? That is what I see here.
| Assignee | ||
Updated•1 year ago
|
| Reporter | ||
Comment 8•1 year ago
|
||
Can you confirm that if you do that and hover over where the popup would be, it appears? That is what I see here.
Yes, I see that behavior, too.
This bug also affects opening (some?) bookmarks folders on the bookmarks toolbar.
| Assignee | ||
Comment 9•1 year ago
|
||
It is the right thing to do, and fixes this. Otherwise we need to
somehow invalidate SWGL after showing a window...
It's been 3 years since we last tried to do it and it is early in the
cycle. If intermittents show up we can fix them. We can fix this
regression in 137 by backout.
For reference, another thing that worked, was forcing a full render
in RendererOGL.cpp, but that's obviously not ok, generally.
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Comment 11•1 year ago
|
||
Backed out for causing crashes @ browser_multiselect_tabs_play.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/19d3e66835cbcf5dc6a6b46c3be63162e7657df0
| Assignee | ||
Comment 12•1 year ago
|
||
This fixes the assertions in comment 11.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 13•1 year ago
|
||
Ok, so I got this in pernosco and I see what's going on.
Basically, we build WR commands for a popup, and immediately after we close the popup, clearing the pipeline for the async canvas. I think subdocuments ignore missing pipelines and I think it's fine to do so here as well.
Updated•1 year ago
|
| Assignee | ||
Comment 14•1 year ago
|
||
Much like subdocuments do. See last comment in the bug for a pernosco
link which shows what's going on.
This only changes behavior in debug builds.
Comment 15•1 year ago
|
||
Comment 16•1 year ago
|
||
Comment 17•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/9ffee066755c
https://hg.mozilla.org/mozilla-central/rev/67edfa448024
Comment 18•1 year ago
|
||
The patch landed in nightly and beta is affected.
:emilio, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox137towontfix.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 19•1 year ago
|
||
Comment on attachment 9469841 [details]
Bug 1949914 - Clear all cached WR resources when hiding a popup. r=#gfx-reviewers
Beta/Release Uplift Approval Request
- User impact if declined/Reason for urgency: comment 5
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: comment 5
- List of other uplifts needed: none
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Relatively tiny change (two oneliners).
- String changes made/needed: none
- Is Android affected?: No
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 20•1 year ago
|
||
Comment on attachment 9469841 [details]
Bug 1949914 - Clear all cached WR resources when hiding a popup. r=#gfx-reviewers
(Not sure why the flag didn't get updated)
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 21•1 year ago
|
||
| uplift | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 22•1 year ago
•
|
||
Reproduced the issue with Firefox 137.0a1 (2025-02-21) on Windows 10x64 with gfx.webrender.software: true (steps from comment 5). The context menu is no longer opened a second time.
The issue is verified fixed with 137.0b4 and 138.0a1 (2025-03-10) on Windows 10x64, macOS 12 and Ubuntu 24. The context menu is correct opened a second time with gfx.webrender.software: true. On Windows 10x64 I have also verified that the context menu is correctly opened a second time while having widget.windows.mica.popups: true and gfx.webrender.software: true.
Description
•