Firefox/Projects/PanelImprovements

From MozillaWiki
< Firefox‎ | Projects
Revision as of 19:28, 23 June 2010 by Enn (talk | contribs)
Jump to navigation Jump to search

Summary

Improve panels in a number of ways. See XUL:Panel_Improvements for specifics of which features would be useful.

Current Status

The following steps are implemented and require testing:

  • Basic titlebar support on all platforms is working OK, and moving the panel around works fine. Support for normal versus thin titlebars is dependent on what the native platform provides, and is still not fully investigated (bug 552982)
  • On Linux, we need to know what the size of the area the titlebar and borders occupy before the popup appears. Karl is investigating. I have come up with an alternative coordinate handling implementation which seems to work, but will need additional testing.
  • Being able to retrieve popup coordinates within a popup showing event is almost complete but I need to investigate how layout flushing affects this as commented in the bug. (bug 558072)
  • basic arrow panel support (unstyled) has started and the arrow adjusts its location depending on the popup location.
  • labels may now be displayed on popup titlebars and may be changed while the popup is open.
  • close buttons are now supported

Next Steps

  • create some cooridnate handling tests
  • fix up some tests which currently fail, mostly on Linux

Other tasks:

  • thin and normal titlebars (relatively easy)
  • panel docking
    • dock/undock button on titlebar (harder)
    • dock/undock api (easy)
    • dock events (easy)
  • special titlebar when docked (harder)
  • background drag to move (easy)
  • create a binding for arrow popups with an arrow pointing to the anchor (mostly theme work)

two are really

Related Bugs

Bugs are pointed to by XUL:Panel_Improvements.

Team

Enn

Designs

Goals/Use Cases

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.

Non Goals