PanelUI's temporary panel code closes panels when menulists inside those panels close
Categories
(Firefox :: Toolbars and Customization, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox122 | --- | fixed |
People
(Reporter: Gijs, Assigned: Gijs)
References
Details
Attachments
(1 file)
Turns out you can churn out close to 100 versions of Firefox with the same bug in them? At least, I'm fairly sure this has worked this way since Australis, back in 28/29 or thereabouts. :-)
Anyway, once you hit it it's reasonably straightforward to understand what's going on:
- when you open a panelview individually with PanelUI (the history, library, synced tabs and various other views allow doing this via their dedicated toolbar buttons, and we do it for add-ons!), we create a temporary panel and panelmultiview, all dedicated to that subview.
- This event listener code is in charge of tidying up temporary panels when they are hidden.
- menulists are also popups, like panels
- when menulists close, they fire popuphiding/popuphidden events, just like panels
- so when your
panelview
has amenulist
that closes, they hit thepopuphidden
event listener. - the popuphidden event listener is attached to the right
panel
but otherwise doesn't care where thepopuphidden
event has come from - including menus and other stuff inside that panel itself.
(5) is where the bug is, and that closes the containing panel when the user selects an item in the menulist, which is bad. We should fix it!
Assignee | ||
Comment 1•1 year ago
|
||
Comment 4•1 year ago
•
|
||
Backed out revision https://hg.mozilla.org/integration/autoland/rev/7c7a7ff170055b7a71acf914c1e6a3595742a32b for causing conflicts with backout of Bug 1866503.
Backed out changeset https://hg.mozilla.org/integration/autoland/rev/49b89e35b5f520e73600257f7e62f6ddd2cdafc7 for causing multiple bc failures related to panelUI.
Assignee | ||
Comment 5•1 year ago
|
||
Oops. https://treeherder.mozilla.org/jobs?repo=try&revision=423b5b67ccace31e567964bccbdf98c12e3130e0
Comment 7•1 year ago
|
||
bugherder |
Description
•