[Wayland] Better popup dependency handling
Categories
(Core :: Widget: Gtk, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox90 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
We need better popup handling when there are different popup classes opened.
-
When a top level notification popup is opened (web notification, geolocation confirmation), we can't close this popup. When a new menu popup is opened, we can't use move_to_rect function to position it due to xgd_positioner limitation (popup surfaces must overlap). So use plain gtk_window_move() here.
-
When a top level notification popup is opened and another panel (hamburger menu) is opened, use the gtk_window_move(). We need to use gtk_window_move() any time when a popup is opened but its child popup (a) can't be closed (b) does not belong to popups parent from layout perspective.
-
When a popup (a) is opened (with auto-close enabled) and another popup (b) is opened from different popup hierarchy, close the popup (a) first and then open popup (b) with move_to_rect.
This should handle all possible popup scenarios.
| Assignee | ||
Comment 1•4 years ago
|
||
- Keep strong popup hierarchy for every toplevel nsWindow.
- Divide popups to tracked and non-tracked. Tracked popups are tracked in popup hierarchy for every toplevel window. Non-tracked popups are handled as X11 ones.
- Map non-tracked popups as wl_surfaces and use gtk_window_move() on them.
- Map tracked popups as xdg_popups and use gtk_window_move_to_rect() on them.
| Assignee | ||
Comment 2•4 years ago
|
||
Testcase:
- Keep the location popup open, try to open hamburger menu, content menus, extensions (remote) popups.
- Open popups from URL bar - permissions popups.
- Open Bookmark popup,Pocket popup, click away and open content menu
Comment 6•4 years ago
|
||
Backed out changeset 84818e46d11d (bug 1710436) for Mochitest failures in toolkit/content/tests/chrome/test_panel.xhtml. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer?job_id=340930403&repo=autoland&lineNumber=9017
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=84818e46d11dcbf435aed65951413dbd4b29ddf2
Backout:
https://hg.mozilla.org/integration/autoland/rev/b1d195d012a4af03c9cd001af57bc3d4d95396cd
| Assignee | ||
Updated•4 years ago
|
Comment 8•4 years ago
|
||
| bugherder | ||
Comment 9•4 years ago
|
||
This is another related regression/breakage
https://bugzilla.mozilla.org/show_bug.cgi?id=1710770
Description
•