Popup windows at screen edge misplaced
Categories
(Core :: Widget: Gtk, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox74 | --- | fixed |
People
(Reporter: heftig, Assigned: jhorak)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Crash Data
Attachments
(2 files)
Popup windows that need to evade the screen's edge get misplaced. For example, when the window is maximized:
- Opening the page's context menu near the bottom edge of the screen
- Displaying the hamburger menu button's tooltip (which reads "Open menu")
Most of the time the popup appears in the bottom right corner. Sometimes it does not appear at all. Sometimes the tooltip is placed in a random spot at the right edge.
GNOME Shell 3.34.3, scale 2, no scale-monitor-framebuffer
Here's a Widget:5
log from a single attempt at showing the hamburger's tooltip. It appears the initial position was (1284, 108) and it was relocated slightly leftwards to (1211, 108) in order to evade the right edge, which looks sensible. However, somehow a cascade of further moves is triggered.
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 1284.000000 108.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 1284 108
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 1284 aPosition y 108
[Parent 92430: Main Thread]: D/Widget rect.x 1284 rect.y 108
[Parent 92430: Main Thread]: D/Widget requested rect: x: 1284 y: 108 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget nsWindow::Show [0x7f55b84c6000] state 1
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget [0x7f55b84c6000] is already configured.
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x1 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x1 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=1284 y=108 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=108 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=2568 y=216 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=216 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 216.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 216
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget [0x7f55b84c6000] is already configured.
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 216
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 216
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 216 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=216 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=216 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=432 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=432 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 432.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 432
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 432
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 432
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 432 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=432 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=432 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=864 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=864 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 864.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 864
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 864
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 864
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 864 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=864 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=864 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=1728 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=1728 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 1728.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 1728
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 1728
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 1728
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 1728 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=1728 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=1129 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=3456 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=2258 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 2258.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 2258
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 2258 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget workarea for [0x7f55b84c6000], monitor 0x7f55df05e100: x0 y0 w3840 h2400
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=2258 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=1129 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=4516 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=2258 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 2258.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 2258
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 2258 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=2422 y=2258 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=1129 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=4844 y=4516 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=2258 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 2258.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 2422 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 2422 aPosition y 2258
[Parent 92430: Main Thread]: D/Widget rect.x 2422 rect.y 2258
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 2422 y: 2258 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 1211.000000 1129.000000
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMove [0x7f55b84c6000] 1211 1129
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f55b84c6000], frame 0x7f55c8a9f330 hasRemoteContent 0
[Parent 92430: Main Thread]: D/Widget nsMenuPopupFrame [0x7f55c8a9f330] type: 2 IsMenu: 0, IsMenuList: 0
[Parent 92430: Main Thread]: D/Widget Parent window for 0x7f55b84c6000: 0x7f55cb2efa60 [GtkWindow]
[Parent 92430: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f55cb2efa60
[Parent 92430: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 92430: Main Thread]: D/Widget aPosition x 1211 aPosition y 1129
[Parent 92430: Main Thread]: D/Widget rect.x 1211 rect.y 1129
[Parent 92430: Main Thread]: D/Widget nsWindow::HideWaylandWindow: popup [0x7f55b84c6000]
[Parent 92430: Main Thread]: D/Widget requested rect: x: 1211 y: 1129 width: 104 height: 46
[Parent 92430: Main Thread]: D/Widget aSize: x0 y0 w104 h46
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b86ab260 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 92430: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f55b84c6000] for 0x7f55b85fa0d0 changed 0x0 new_window_state 0x80
[Parent 92430: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=1211 y=1129 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=1129 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=2422 y=2258 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=2258 width=208 height=92
Reporter | ||
Comment 1•4 years ago
|
||
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 1284.000000 108.000000
...
[Parent 92430: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f55b84c6000] flipped_x 0 flipped_y 0
[Parent 92430: Main Thread]: D/Widget flipped_rect x=1284 y=108 width=104 height=46
[Parent 92430: Main Thread]: D/Widget final_rect x=1211 y=108 width=104 height=46
[Parent 92430: Main Thread]: D/Widget orig mBounds x=2568 y=216 width=208 height=92
[Parent 92430: Main Thread]: D/Widget new mBounds x=2422 y=216 width=208 height=92
[Parent 92430: Main Thread]: D/Widget nsWindow::Move [0x7f55b84c6000] 2422.000000 216.000000
I think we have scale confusion here; it should attempt to move to (1211, 108), not (2422, 216).
Comment 2•4 years ago
|
||
Jan, can you look at it please? Thanks.
Assignee | ||
Comment 3•4 years ago
|
||
The window position of the popup can be changed which does not mean that the
screen size changed. Only window dimmensions are relevant there. Also as part of this
fix, don't use HideWaylandWindow when calling gdk_window_move_to_rect because it removes
the popup from gVisibleWaylandPopupWindows which breaks popup hierarchy sometimes.
Pushed by shindli@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/691bd804c47d Ignore window position in the WindowSurfaceWayland::Lock; r=stransky
Comment 5•4 years ago
|
||
bugherder |
Reporter | ||
Comment 6•4 years ago
|
||
The change is not sufficient. Here's a new log from a context menu being moved into the corner:
[Parent 90580: Main Thread]: D/Widget Button 3 press on 0x7f7267cd3c00
[Parent 90580: Main Thread]: D/Widget CaptureRollupEvents 0x7f7257e77000 1
[Parent 90580: Main Thread]: D/Widget GrabPointer time=0x03f99e6a retry=0
[Parent 90580: Main Thread]: D/Widget GrabPointer: window not visible
[Parent 90580: Main Thread]: D/Widget workarea for [0x7f7257e77000], monitor 0x7f727cd5db60: x0 y0 w3840 h2400
[Parent 90580: Main Thread]: D/Widget workarea for [0x7f7257e77000], monitor 0x7f727cd5db60: x0 y0 w3840 h2400
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 1842.000000 236.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 1842 236
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget nsMenuPopupFrame [0x7f72648c85c0] type: 1 IsMenu: 1, IsMenuList: 0
[Parent 90580: Main Thread]: D/Widget nsWindow::CleanupWaylandPopups...
[Parent 90580: Main Thread]: D/Widget Setting parent from transient: 0x7f7267cd5660 [GtkWindow]
[Parent 90580: Main Thread]: D/Widget Parent window for 0x7f7257e77000: 0x7f7267cd5660 [GtkWindow]
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 1842 aPosition y 236
[Parent 90580: Main Thread]: D/Widget rect.x 1842 rect.y 236
[Parent 90580: Main Thread]: D/Widget requested rect: x: 1842 y: 236 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget nsWindow::Show [0x7f7257e77000] state 1
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget GrabPointer time=0x03f99e6a retry=1
[Parent 90580: Main Thread]: D/Widget GrabPointer: window not visible
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257e77660 changed 0x1 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257ff7d10 changed 0x1 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget GrabPointer time=0x03f99e6a retry=1
[Parent 90580: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 90580: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f7257e77000] flipped_x 0 flipped_y 0
[Parent 90580: Main Thread]: D/Widget flipped_rect x=1842 y=236 width=205 height=280
[Parent 90580: Main Thread]: D/Widget final_rect x=1715 y=236 width=205 height=280
[Parent 90580: Main Thread]: D/Widget orig mBounds x=3684 y=472 width=410 height=560
[Parent 90580: Main Thread]: D/Widget new mBounds x=3430 y=472 width=410 height=560
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 3430.000000 472.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 3430 472
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 3430 aPosition y 472
[Parent 90580: Main Thread]: D/Widget rect.x 3430 rect.y 472
[Parent 90580: Main Thread]: D/Widget requested rect: x: 3430 y: 472 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget workarea for [0x7f7257e77000], monitor 0x7f727cd5db60: x0 y0 w3840 h2400
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257e77660 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257ff7d10 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 90580: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f7257e77000] flipped_x 0 flipped_y 0
[Parent 90580: Main Thread]: D/Widget flipped_rect x=3430 y=472 width=205 height=280
[Parent 90580: Main Thread]: D/Widget final_rect x=1715 y=472 width=205 height=280
[Parent 90580: Main Thread]: D/Widget orig mBounds x=6860 y=944 width=410 height=560
[Parent 90580: Main Thread]: D/Widget new mBounds x=3430 y=944 width=410 height=560
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 3430.000000 944.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 3430 944
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 3430 aPosition y 944
[Parent 90580: Main Thread]: D/Widget rect.x 3430 rect.y 944
[Parent 90580: Main Thread]: D/Widget requested rect: x: 3430 y: 944 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget workarea for [0x7f7257e77000], monitor 0x7f727cd5db60: x0 y0 w3840 h2400
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257e77660 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257ff7d10 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 90580: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f7257e77000] flipped_x 0 flipped_y 0
[Parent 90580: Main Thread]: D/Widget flipped_rect x=3430 y=944 width=205 height=280
[Parent 90580: Main Thread]: D/Widget final_rect x=1715 y=893 width=205 height=280
[Parent 90580: Main Thread]: D/Widget orig mBounds x=6860 y=1888 width=410 height=560
[Parent 90580: Main Thread]: D/Widget new mBounds x=3430 y=1786 width=410 height=560
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 3430.000000 1786.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 3430 1786
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 3430 aPosition y 1786
[Parent 90580: Main Thread]: D/Widget rect.x 3430 rect.y 1786
[Parent 90580: Main Thread]: D/Widget requested rect: x: 3430 y: 1786 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget workarea for [0x7f7257e77000], monitor 0x7f727cd5db60: x0 y0 w3840 h2400
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257e77660 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257ff7d10 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 90580: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f7257e77000] flipped_x 0 flipped_y 0
[Parent 90580: Main Thread]: D/Widget flipped_rect x=3430 y=1786 width=205 height=280
[Parent 90580: Main Thread]: D/Widget final_rect x=1715 y=893 width=205 height=280
[Parent 90580: Main Thread]: D/Widget orig mBounds x=6860 y=3572 width=410 height=560
[Parent 90580: Main Thread]: D/Widget new mBounds x=3430 y=1786 width=410 height=560
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 3430.000000 1786.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 3430 1786
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 3430 aPosition y 1786
[Parent 90580: Main Thread]: D/Widget rect.x 3430 rect.y 1786
[Parent 90580: Main Thread]: D/Widget requested rect: x: 3430 y: 1786 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget nsWindow::Move [0x7f7257e77000] 1715.000000 893.000000
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMove [0x7f7257e77000] 1715 893
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup [0x7f7257e77000]
[Parent 90580: Main Thread]: D/Widget nsWindow::ConfigureWaylandPopupWindows [0x7f7257e77000], frame 0x7f72648c85c0 hasRemoteContent 0
[Parent 90580: Main Thread]: D/Widget [0x7f7257e77000] is already configured.
[Parent 90580: Main Thread]: D/Widget nsWindow::NativeMoveResizeWaylandPopup: Set popup parent 0x7f7267cd5660
[Parent 90580: Main Thread]: D/Widget x_parent 0 y_parent 0
[Parent 90580: Main Thread]: D/Widget aPosition x 1715 aPosition y 893
[Parent 90580: Main Thread]: D/Widget rect.x 1715 rect.y 893
[Parent 90580: Main Thread]: D/Widget requested rect: x: 1715 y: 893 width: 205 height: 280
[Parent 90580: Main Thread]: D/Widget aSize: x0 y0 w205 h280
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257e77660 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget early return because no interesting bits changed
[Parent 90580: Main Thread]: D/Widget nsWindow::OnWindowStateEvent [0x7f7257e77000] for 0x7f7257ff7d10 changed 0x0 new_window_state 0x80
[Parent 90580: Main Thread]: D/Widget quick return because IS_MOZ_CONTAINER(aWidget) is true
[Parent 90580: Main Thread]: D/Widget NativeMoveResizeWaylandPopupCallback [0x7f7257e77000] flipped_x 0 flipped_y 0
[Parent 90580: Main Thread]: D/Widget flipped_rect x=1715 y=893 width=205 height=280
[Parent 90580: Main Thread]: D/Widget final_rect x=1715 y=893 width=205 height=280
[Parent 90580: Main Thread]: D/Widget orig mBounds x=3430 y=1786 width=410 height=560
[Parent 90580: Main Thread]: D/Widget new mBounds x=3430 y=1786 width=410 height=560
[Parent 90580: Main Thread]: D/Widget Button 3 release on 0x7f7267cd3c00
Updated•4 years ago
|
Comment 7•4 years ago
|
||
With the current patch (identified with mozregression) I get a crash with Wayland+WebRender when I click on the NoScript icon, but not when I click on the icon of "uBlock Origin" and "HTTPS Everywhere". The crash report is bp-682e842d-dde2-4d1d-85cc-043b70200122 (I actually submitted another crash report directly after this), looks like I am the only one affected so far.
I didn't file another bug report since this bug has been reopened anyway. Unfortunately I am not able to add the crash signature here, so please do that. If you feel that the crash should be reported separately, I can file another bug of course.
Comment 8•4 years ago
|
||
If you think that the crash occurs because of a bug in the old r600 Mesa driver, I can report this to the Mesa people. Seems like there is no one except me who is using this old driver on Wayland with WebRender.
For completeness, the second crash report I submitted is bp-995bef75-715e-407a-bd5e-038bf0200122.
Assignee | ||
Comment 9•4 years ago
|
||
It's a bug introduced by this changeset, I'll attach a patch in a moment.
Assignee | ||
Comment 10•4 years ago
|
||
The missing popup in corner is mutter issue: https://gitlab.gnome.org/GNOME/mutter/issues/1013
Assignee | ||
Comment 11•4 years ago
|
||
...NativeMoveResizeWaylandPopup we don't call
Resize or Move anymore, we just update mBounds which is enough.
Updated•4 years ago
|
Comment 12•4 years ago
|
||
Pushed by aiakab@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/75315a8682b6 Pause renderer before hiding gtkwindow to avoid crashes in webrender; r=stransky
Comment 13•4 years ago
|
||
Backed out changeset 75315a8682b6 (bug 1609732) for causing build bustages on nsWindow.cpp.
Backout revision https://hg.mozilla.org/integration/autoland/rev/670ed75bfc105af1cc818c7acaa1ac9996f2bdd2
Failure log https://treeherder.mozilla.org/logviewer.html#?job_id=287323565&repo=autoland
Jan can you please take a look ?
Comment 14•4 years ago
|
||
Pushed by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/622f831dd3be Pause renderer before hiding gtkwindow to avoid crashes in webrender; r=stransky
Assignee | ||
Updated•4 years ago
|
Comment 15•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•4 years ago
|
Description
•