[wayland] Mispositioned select popup in the new printing dialog
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox82 | --- | fixed |
People
(Reporter: emilio, Assigned: emilio)
References
(Blocks 2 open bugs)
Details
Attachments
(2 files)
The dropdown is in the top left of the screen. Haven't debugged this yet.
Comment 1•4 years ago
|
||
Emilio, can you post a screen please? Is that Wayland only? Is HiDPI involved?
Thanks.
Assignee | ||
Comment 2•4 years ago
|
||
Yes, wayland only. HiDPI is involved (window.devicePixelRatio = 2
), but the position is so off that it doesn't seem like a coordinate space confusion. See the top left of the screenshot.
STR should be just on this page for example do Ctrl+P
(or File > Print Preview
), then click on the "Save to PDF" dropdown.
Comment 3•4 years ago
|
||
I see. This may be caused by missing link between parent/child window so the dropdown is created as toplevel. We can't position toplevel windows on Wayland.
Assignee | ||
Comment 5•4 years ago
|
||
I cannot reproduce this anymore somehow?
Comment 6•4 years ago
|
||
Gnome Wayland, Debian Testing, 2560x1440
Steps seem unchanged for me: Still reproducible with a maximized window.
$ MOZ_ENABLE_WAYLAND=1 mozregression --launch 2020-08-27 --pref gfx.webrender.force-disabled:true -a https://example.com
Assignee | ||
Comment 7•4 years ago
|
||
Oh, indeed! I hadn't noticed this was maximized-screen only... That's odd.
Assignee | ||
Comment 8•4 years ago
|
||
What is going on is that nsComboboxControlFrame first positions the 0x0
widget, then sizes it. But when moving a 0x0 wayland popup, we just bail
out in NativeMoveResizeWaylandPopup().
So unless we also change the offset in some other way, and hit this
code:
when updating the view tree (which doesn't happen with the maximized
window, and actually it's a bit questionable that it happens without it,
there may be some pre-existing coordinate space confusion there) we'll
end up in a plain Resize() rather than MoveResize(), and never position
the widget at the right place.
This doesn't happen for regular web content because the new print dialog
lives in the parent process (which uses nsComboboxControlFrame) rather
than on the child (which uses nsMenuPopupFrame).
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
Description
•