[Wayland] Firefox UI freezes when we fail to show a popup
Categories
(Core :: Widget: Gtk, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox105 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(4 files, 5 obsolete files)
When we fail to show a popup (see https://bugzilla.mozilla.org/show_bug.cgi?id=1709254#c40) Firefox UI may freeze.
It's because popups created by chrome uses the same refresh driver/pres shell as main Firefox window and when rendering to popup is jammed (we can't create drawing target for it) whole UI is blocked.
Assignee | ||
Comment 1•2 years ago
|
||
Updated•2 years ago
|
Assignee | ||
Comment 2•2 years ago
|
||
Make RevokeTransactionIdAllocator() call part of nsBaseWidget::DestroyCompositor() so we don't need to do extra call.
Depends on D153768
Assignee | ||
Comment 3•2 years ago
|
||
As popups and Firefox main window can share refresh drivers we need to remove blocked compositing requests of hidden windows to make sure
we're not blocking other windows.
Depends on D153769
Assignee | ||
Comment 4•2 years ago
|
||
Depends on D153769
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D154000
Updated•2 years ago
|
Assignee | ||
Comment 6•2 years ago
|
||
Hm, I need to submit the patches again as I mixed the IDs. Sorry for the confusion.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 7•2 years ago
|
||
Assignee | ||
Comment 8•2 years ago
|
||
Make RevokeTransactionIdAllocator() call part of nsBaseWidget::DestroyCompositor() so we don't need to do extra call.
Depends on D154004
Assignee | ||
Comment 9•2 years ago
|
||
As popups and Firefox main window can share refresh drivers we need to remove blocked compositing requests of hidden windows to make sure
we're not blocking other windows.
Implement moz_container_wayland_clear_waiting_to_show_flag() to clear MozContainer::waiting_to_show flag.
Depends on D154005
Assignee | ||
Comment 10•2 years ago
|
||
Depends on D154006
Updated•2 years ago
|
Comment 11•2 years ago
|
||
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/5a601581119a [Wayland] Implement waiting_to_show flag at mozcontainer to indicate that mozcontainer is supposed to be visible but it isn't (yet) r=emilio https://hg.mozilla.org/integration/autoland/rev/fd1e0e18dd07 [Linux] Make RevokeTransactionIdAllocator() call part of nsBaseWidget::DestroyCompositor() r=emilio https://hg.mozilla.org/integration/autoland/rev/750eeb107b8e [Wayland] When we fail to show wayland popup, purge webrender queue and destroy compositor of the popup to make sure we're not blocking rendering of other windows r=emilio https://hg.mozilla.org/integration/autoland/rev/f29f4ba84621 [Wayland] Assert if MozContainer::waiting_to_show is accessed from different threads r=emilio
Comment 12•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5a601581119a
https://hg.mozilla.org/mozilla-central/rev/fd1e0e18dd07
https://hg.mozilla.org/mozilla-central/rev/750eeb107b8e
https://hg.mozilla.org/mozilla-central/rev/f29f4ba84621
Description
•