[Wayland] Don't use move-to-rect to place popups in area of main window
Categories
(Core :: Widget: Gtk, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox100 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
We use move-to-rect positioning which is kind of broken due to Gtk3 bug https://gitlab.gnome.org/GNOME/gtk/-/issues/1986 (which is fixed in Gtk4).
As a workaround we can:
- don't use move-to-rect of we know the popup is placed inside Firefox toplevel window
- don't use move-to-rect for popup resizes
Assignee | ||
Comment 1•3 years ago
|
||
This may fix Bug 1754950 for some cases.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
Assignee | ||
Comment 3•3 years ago
|
||
Due to move-to-rect limitations (https://gitlab.gnome.org/GNOME/gtk/-/issues/1986) we try to avoid it when it's possible.
- Use plain popup resize/movement when popup is places inside of application toplevel window.
- Hide moved/scaled popup window only when move-to-rect is used.
- Clear mMoveToRectPopupRect before any move/resize and use Wayland compositor to place/size the window.
Depends on D141600
Assignee | ||
Comment 4•3 years ago
|
||
Use mMoveToRectPopupRect popup constrains in nsMenuPopupFrame::SetPopupPosition only and make it pernament.
In such setup works as screen size constraints.
Don't call SetPopupPosition from move-to-rect callback and let layout code to handle that.
Remove MoveToRectPopupRectClear() as it's not needed, we keep mMoveToRectPopupRect
in nsMenuPopupFrame as well as we keep screen sizes there.
Depends on D141601
Comment 6•3 years ago
|
||
Backed out for causing multiple build bustages on nsMenuPopupFrame.cpp and nsWindow.cpp
Failure log 1 // Failure log 2
Failure line: /builds/worker/checkouts/gecko/layout/xul/nsMenuPopupFrame.cpp:1574:9: error: expected expression
Failure line 2: /builds/worker/checkouts/gecko/widget/gtk/nsWindow.cpp:2041:14: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
Assignee | ||
Comment 7•3 years ago
|
||
Updated, Thanks.
try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5fcfa6cbdcc66e3ae296c888304d9265a2df41fe
Comment 9•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d62295e8fa9b
https://hg.mozilla.org/mozilla-central/rev/7757dfa7f893
https://hg.mozilla.org/mozilla-central/rev/8a83aa3ec309
Description
•