Improve panels in a number of ways. See XUL:Panel_Improvements for specifics of which features would be useful.
The following steps are implemented and require testing:
- Basic support for titlebars, moving and resizing and closing them as well as handling floating tool palettes, focus and different levels is now done. Minor changes due to review comments is almost complete. It is expected that this feature can be checked in soon.
- Followup bugs should or have been filed on additional issues.
- Support for normal versus thin titlebars is dependent on what the native platform provides, and is not yet implemented (bug 552982)
- Being able to retrieve popup coordinates within a popupshowing event is awaiting review. (bug 558072)
- basic arrow panel support (unstyled) has started and the arrow adjusts its location depending on the popup location.
- support for dragging the background of a popup to move it is implemented but needs to be updated for some recent gtk changes.
- thin and normal titlebars
- panel docking
- dock/undock button on titlebar (harder)
- dock/undock api (easy)
- dock events (easy)
- special titlebar when docked (harder)
- create a binding for arrow popups with an arrow pointing to the anchor (mostly theme work)
Bugs are pointed to by XUL:Panel_Improvements.
This is a tentative list of how we may use panels in Firefox's UI in the future:
- [currently in use] Bookmark properties
- [currently in use] Site identity
- Context menu on hyperlink > "Bookmark This Link"
- Context menu on bookmark > "Properties"
- Notification of site level events (password manager, geolocation, popups blocked, xpi install, etc.)
- Download progress (Limi is the main contact, he'll post details soon)
- Items on the extension bar, both jetpacks and converted traditional toolbars (Boriss is the main contact)
- Test pilot notifications from the extension bar, not technically part of Firefox but nonetheless a good example of extensions using panels for parts of their UI.
- Firebug would like to have some floating tool palette panels.