Closed Bug 1582679 Opened 3 years ago Closed 3 years ago

[wayland] Parent extension popup disappears when activating drop down

Categories

(Core :: Widget: Gtk, defect)

70 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- fixed
firefox71 --- fixed

People

(Reporter: luis.pabon, Assigned: jhorak, NeedInfo)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(5 files)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0

Steps to reproduce:

  1. Install bitwarden extension https://addons.mozilla.org/en-GB/firefox/addon/bitwarden-password-manager/
  2. Click on the top bar button
  3. Click "Add login" or the + button at the top right
  4. Click on the "Type" drop down at the top

Actual results:

The parent popup containing the drop down disappears while leaving the drop down contents floating

Expected results:

Parent popup remains so that adding a new thing can continue.

Attached image Step 1
Attached image Step 2
Attached image Step 3

Ubuntu 19.04
Firefox 70.0~b7+build1-0ubuntu0.19.04.1 (Mozilla's PPA)
Sway 1.2
wlroots 0.7.0

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Assignee: nobody → jhorak
Blocks: wayland
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Under Wayland it is possible to add only one popup window
to a parent window. If we try to attach another popup to the window,
the GTK refuses to do that. This can happen when the previous popup
has not yet been hidden while the new popup is showing (in some cases
the nsWindow::Show(false) for the previous popup is not called before
nsWindow::Show(true) for the new one).

We deal with it by hiding wayland popups which are no longer in the
XULPopupManager (PM) before showing a new one. We only do that for
the main menu popups or context (sub)menus. We cannot use PM to check
for the panel popup content like Folder dropdown in Edit Bookmark panel
or WebRTC microphone/video source dropdown. In that case we simply use
the last shown popup as a transient for the new one or the toplevel window.

Keywords: checkin-needed

Pushed by dvarga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/30310d7d693a
Rewrite popup hiding on wayland; r=stransky

Keywords: checkin-needed
Flags: needinfo?(jhorak)
Keywords: checkin-needed

Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/29d3b1f1b744
Rewrite popup hiding on wayland; r=stransky

Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

As per Bug 1583035 this was a regression caused by Bug 1567434.

Regressions: 1585918

Comment on attachment 9097364 [details]
Bug 1582679 - Rewrite popup hiding on wayland; r=stransky

Beta/Release Uplift Approval Request

  • User impact if declined: This patch fixes popup management on wayland by a generic way so app popups should work as expected.
    Without this patch some popups are broken (extensions, panels, etc..)
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Wayland/Linux only.
  • String changes made/needed: none
Attachment #9097364 - Flags: approval-mozilla-beta?

Superb

Comment on attachment 9097364 [details]
Bug 1582679 - Rewrite popup hiding on wayland; r=stransky

Big change but should only affect Wayland users; OK by me.
This should be in beta 13 next week.

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

I'll be sure to test and report back any issues as soon as I get the b13 update. Anything specific to look out for that could possibly be broken by this change?

(In reply to luis.pabon from comment #18)

I'll be sure to test and report back any issues as soon as I get the b13 update. Anything specific to look out for that could possibly be broken by this change?

All popup menus (history, bookmarks, panels etc.) should work as expected under Wayland. Also tooltips and so.

So far so good, the original issue is definitely fixed and after a few hours of usage I haven't noticed any funny business.

Ah, just found one, extension menues don't seem to open when they're behind the overflow (?) if FF window size is small.

(In reply to luis.pabon from comment #21)

Ah, just found one, extension menues don't seem to open when they're behind the overflow (?) if FF window size is small.

Thanks for testing! If you have a testcase please file a new bug for it. Thanks!

Ah, looks like someone already beat me to it:
https://bugzilla.mozilla.org/show_bug.cgi?id=1585918

Has Regression Range: --- → yes

Hello, sorry for necroing this bug, but I'm getting this exact same thing after switching to the wayland version of firefox for screen sharing purposes. I couldn't find a newer bug with these exact same symptoms, so I apologise if perhaps I should have filed a new bug rather than commenting here.

I am using Firefox 104.0.1 64 bit for NixOS and I'm using Sway. The repro steps are identical to that in the original report with bitwarden and any other extension with drop down menus or extra things that pop up (which is surprisingly a large amount of extensions for me). With bitwarden I can pop out the extension, but that's not the case for all of them. I thought this was only minor at first but it's heavily impacting my experience which is why I'm surprised that it's not been picked up on already.

If there's any additional information I can provide please let me know so I can contribute further, as right now I'm not sure what's relevant to the issue.

Typo - that's meant to be version 105.0.1 - not 104. My mistake.

(In reply to Ashe from comment #25)

Typo - that's meant to be version 105.0.1 - not 104. My mistake.

Please test latest nightly and report new bug if you see it.
Thanks.

Flags: needinfo?(bugzilla)

Unfortunately yes.

Firefox snap:

latest/edge: 109.0a1 2022-11-18 (2112) 193MB

Happens the same on bitwarden. No screen recording of that for obvious reasons.

The Nightly snap builds are slightly delayed, try testing the non-snap version or wait 24 hours, sudo snap refresh and try again.

Will do, cheers. Has there been a fix for this going in the last 24h?

Apologies it took me a few days to do. I have tested it with mutter and the issue does not occur. It still however happens on Sway and on wayfire.

Versions:

  • Mutter 43.0-1ubuntu4
  • Sway 1.7
  • Wayfire 0.7.4-2
  • Firefox 109.0a1 2022-11-23 (snap edge channel)
Flags: needinfo?(luis.pabon)

Please file that at Sway bug tracker.
Thanks.

You need to log in before you can comment on or make changes to this bug.