More exciting progress this week! Here’s Photon update #6!
Work on the new Photon menus has reached the point where we’re ready to turn them on by default (for Nightly). Bug 1372309 is tracking the last remaining work (mostly test fixes), and you should see this happen in tomorrow’s Nightly. Up until now you’ve needed to manually enable the “browser.photon.structure.enabled” pref to play with the new menus – you’ll no longer need to flip that pref as it will already be enabled.
The biggest change you’ll notice is that the application menu (a.k.a. the “hamburger menu”) contents look different. Instead of a grid of icons, it’s a linear list of commands. Opening the menu and entering submenus is much snappier than before. Here’s the new look on Windows 10 (left) and macOS (right):
The overflow menu (under the “>>” icon) has existed for a long time now, normally it’s only shown when the window is so narrow that we run out of space to show all the toolbar icons. You can now pin items to it permanently, as the new destination for commands you want easily accessible without taking up toolbar space. (Previously you could do this by adding items to the hamburger menu. That’s no longer customizable.)
There are also some minor related changes to Customization Mode, which now shows the overflow menu as a customization target instead of the old hamburger menu.
- Enabling the new menus, as mentioned above.
- The sidebar toolbar button no longer has a panel dropdown, instead it just toggles the display of the sidebar (you can change which sidebar is shown from inside the sidebar itself).
- Various smaller styling/polish fixes to the different panels and toolbar items have landed and will continue to land this week.
- WebExtension browser actions will now be pinned to the overflow panel instead of the hamburger menu (though we are aware of at least one remaining issue with this).
- The Photon-themed download icon landed, this was spun out of the main download animation bug to start landing pieces as they’re ready.
- Work continues on animations for downloads toolbar button, stop/reload button, and page loading indicator. We’re working through some performance issues with the latter two — these animations are triggered during our performance test suites, and we see some impact to the measurements.
- New arrow-panel animations are underway. We’re updating the way panels and menus animate when they’re opened and closed. On macOS we’re temporarily removing the current animation entirely, while we await platform improvements that allow us to get the effect we want in a way that performs well.
- QA-sign off received for the old preferences shipping in Firefox 55 (which have not been the default on Nightly since landing the new preference reorg).
- Search followups are largely complete, and we are enabling the search feature this week.
- We got some good contributions from community member UK92! Thanks!
- Landing updates to the sidebar styling (header and search box)
- Updated the Synced Tabs button icon in the toolbar.
- Starting work on changing the color of the titlebar on macOS (making it darker, similar to Windows 10).
- Lots of discussion and decisions, finalized scope and content for Firefox 56 tour.
- De-scoped automigration, and are instead moving ahead with a manual import option accessible from the new Activity Stream page.
- Simplified tour and notification logic
- Outstanding technical issues resolved and a few 56 tour contents are ready to land this week. No more blank tour overlay in Nightly!
- Startup improvements:
- Captive portal initialization has been delayed so that NSS initialization now usually happens after first paint (except when creating a new profile)
- The sidebar browser is now created lazily when the sidebar is first opened, instead of before first paint
- The search service is started after first paint, and the one-off-buttons are constructed when a search panel is first opened
- We are in the process of delaying places initialization
- Assisting the animation team with understanding and reducing the impact of the new animations on Talos benchmarks
- It’s now very easy to add test coverage for ensuring a JS module, JS component, or an XPCOM service isn’t started too early during startup. See browser_startup.js.
Stay tuned for more updates next week!