Closed Bug 1800992 Opened 2 years ago Closed 1 year ago

WebExtension browser action panels sometimes appear empty / blank when opening them

Categories

(Core :: Layout, defect)

Desktop
macOS
defect

Tracking

()

VERIFIED FIXED
109 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox107 --- unaffected
firefox108 + verified
firefox109 + verified

People

(Reporter: mconley, Assigned: emilio)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

I just noticed this today, and according to willdurand, he can reproduce it on Dev Edition (108). We cannot reproduce it on 106 or 107.

I also haven't tried reproducing it on Windows or Linux, so putting it in the macOS platform category for now.

STR:

  1. In a new profile, install a new add-on with a browser action and panel. The Firefox Relay one offered in about:addons is what I test with.
  2. Install the add-on.
  3. Click on the add-on button in the navbar repeatedly, opening and closing it's panel. Do this at least 10 or so times.

ER:

The panel contents should be visible each time the panel appears.

AR:

Sometimes, the panel is empty. See screenshot.

39:39.93 INFO: Narrowed integration regression window from [81082910, bd8ff70b] (3 builds) to [81082910, 73dd9b39] (2 builds) (~1 steps left)
39:39.93 INFO: No more integration revisions, bisection finished.
39:39.93 INFO: Last good revision: 8108291015f4419be14591ead2d59d6235e7e601
39:39.93 INFO: First bad revision: 73dd9b390b9a0712ea44b2345966c54ebc83c492
39:39.93 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=8108291015f4419be14591ead2d59d6235e7e601&tochange=73dd9b390b9a0712ea44b2345966c54ebc83c492

[Tracking Requested - why for this release]:

At least on macOS, this results in no UI showing up inside panels for (at least) WebExtensions. Considering how many users rely on WebExtensions, I suspect that's probably worth tracking.

Any idea what's going on here, emilio?

Flags: needinfo?(emilio)

So, I can repro to a lesser extent on Linux if I disable the panel animations, but on macOS it's very frequent indeed.

I've poked a little bit, and I see everything on the main thread working correctly. We send Webrender the right display list, the widget is correctly marked as remote, and indeed APZ and such are correctly aware of the content: you can see the mouse getting directed at the popup even if you don't see the popup contents. Stuff gets correctly

Glenn, Markus, do you know what might be going on / how to further debug this? It seems the remote iframe is just not getting composited, but the popup backgrounds and so on are... Or maybe the iframe is incorrectly z-ordered or somesuch? Any hint is appreciated. If I disable popup autohide, just moving focus away of the window or what not "fixes" it.

Flags: needinfo?(mstange.moz)
Flags: needinfo?(gwatson)
Flags: needinfo?(emilio)

Does setting gfx.webrender.software or gfx.webrender.debug.force-picture-invalidation (browser restart required for both) have any effect on reproducibility?

Flags: needinfo?(gwatson) → needinfo?(mconley)
See Also: → 1784760

Hi gw,

Setting gfx.webrender.software to true caused the issue to go away for me - at least for 20 or so panel opening attempts.

With gfx.webrender.debug.force-picture-invalidation set to true, I was still able to reproduce the problem after about 3 or 4 panel openings.

Flags: needinfo?(mconley)
Flags: needinfo?(gwatson)

I think for beta backing out https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=8108291015f4419be14591ead2d59d6235e7e601&tochange=73dd9b390b9a0712ea44b2345966c54ebc83c492 is the easiest path forward. Dianna, what's the best way to do that?

I'd like to keep the code in nightly tho, we should definitely figure out what's going on in here.

Flags: needinfo?(dsmith)

The best way is prob to submit a beta patch that reverts those 3 change sets and nominate it for uplift(I can update all the backed out tickets). because from what i can tell they don't backout cleanly.

Flags: needinfo?(dsmith)

If it doesn't happen with gfx.webrender.software enabled, it's tempting to say it's a mac/driver issue, but Emilio was able to repro on Linux too.

I haven't been able to repro here so far.

Another interesting test - what if you enable gfx.webrender.debug.picture-caching. When this is enabled, is there any obvious differences in the picture cache debug tile view between when it occurs vs. normal?

Flags: needinfo?(gwatson)
See Also: → 1547277

If all goes well this should also fix bug 1784760...

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6e14e185432d
Invalidate frame in nsView::WindowResized. r=tnikkel
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch

Comment on attachment 9304801 [details]
Bug 1800992 - Invalidate frame in nsView::WindowResized. r=tnikkel

Beta/Release Uplift Approval Request

  • User impact if declined: comment 0
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: comment 0
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): very simple fix
  • String changes made/needed: none
  • Is Android affected?: No
Attachment #9304801 - Flags: approval-mozilla-beta?
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

Verified as Fixed on the latest Nightly (109.0a1/20221124212638). Tested on Windows 10 x64, Ubuntu 16.04 LTS and macOS 11.3.1.

Tested with Firefox Relay. I clicked the extension toolbar button anywhere between 30 to 40 times repeatedly on each of the mentioned OSes and could not reproduce the issue, confirming the fix.

Status: RESOLVED → VERIFIED

Comment on attachment 9304801 [details]
Bug 1800992 - Invalidate frame in nsView::WindowResized. r=tnikkel

Approved for 108.0b7.

Attachment #9304801 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Verified as Fixed on the latest Beta (108.0b7/20221127190117). Tested on Windows 10 x64, Ubuntu 16.04 LTS and macOS 11.3.1.

Tested with Firefox Relay. I again clicked the extension toolbar button anywhere between 30 to 40 times repeatedly on each of the mentioned OSes and could not reproduce the issue, confirming the fix.

Flags: qe-verify+
Flags: needinfo?(mstange.moz)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: