Headlines
- Out of process extensions is now on in Nightly for Windows users. Much excite about this. Please file any bugs you might find with this, we’ve been squashing a bunch down the last week.
- The new Storage API is now available in Nightly and ready for testing! If you’re a web developer, give it a shot!
- The refined v2 organization of about:preferences has landed and should appear in Nightly builds very soon. This second re-org should ship in Firefox 56.
- Evelyn made it so that we now speculatively connect to autocompleted hostnames in the awesomebar.
- Activity Stream has been enabled by default in Nightly! Check it out and file bugs!
- A setting for Compact and Touch modes was added to the customize mode
- We now color the Windows 10 title bar with the Windows accent color.
- We’re testing and refining some new Photon animations in Nightly
- The stop / reload button morphs between states:
- When pinning a toolbar button to the overflow menu
- Customize Mode has been refreshed and cleaned up for Photon, and a Flexible Space item has been added to the palette
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Swapnesh Kumar Sahoo [:swapneshks] (see Add-ons update)
- dw-dev (see Add-ons update)
- Resolved bugs (excluding employees): https://mzl.la/2vwyIFR
- More than one bug fixed:
- :Perry Jiang
- Alejandro Rodriguez Salamanca
- Bao Quan [:beekill]
- Hemant Singh Patwal [:hhhh1612]
- Iaroslav Sheptykin
- Tomer Cohen :tomer
- flyingrub
- New contributors (🌟 = First Patch!)
- 🌟 Adolfo Jayme updated the “Print” item in the menu panel so that it has an ellipsis
- 🌟 Igor Timofeev [:ivtimofeev] improved static_asserts inside TelemetryHistogram.cpp
- 🌟emilyrcreager improved the :hover style for Firefox Account pictures in about:preferences
- 🌟Krishna improved some variable naming inside our Telemetry backend code
- 🌟Martin Boros cleaned up the capitalization in some about:welcomeback strings
- 🌟Nils M removed some unnecessary histogram clearing inside some of our Telemetry tests
- 🌟 Pooja Arora updated about.css to be more in-line with the Photon re-design
- 🌟Amola Singh (:amosingh) moved the URL zoom icon styling into urlbar-searchbar.inc.css
- 🌟Timothy Johnson added lastAccessed to the tabs WebExtension API
- More than one bug fixed:
Project Updates
Add-ons
- Context menu sub items can now have their own icons thanks to Swapnesh.
- Moz-extension URLs are now supported in the webRequest API.
- browsingData API can now remove cookies by hostname.
- Print preview can now be accessed from a WebExtension API. Thanks to dw-dev!
Activity Stream
- The team has cleared out 20+ intermittents, perma-oranges, crashes, leaks, talos regressions in the last few weeks to clear the way for enabling by default on Nightly
- Some unexpected fixes attributed to enabling OOP extensions, AsyncShutdown and Bookmarks async API
- Thanks wcpan, Standard8, gbrown for fixing would-become-perma-fail tests
- File bugs: Bugzilla (Firefox/Activity Stream) or Github (mozilla/activity-stream)
- Current features: search, top sites, context menus, basic customization
- Sets browser.newtabpage.activity-stream.enabled to true
- Wrapped up development of Test Pilot add-on and moved all focus to system-addon
- Completed recruitment of ~10k Shield participants split 50% Tiles control and 50% Activity Stream experiment for measuring click, search and other interaction rates
Electrolysis (e10s)
- We recycle short-lived content processes now
- Pre-allocated content process no longer spawns before first paint
- e10s-multi team is now planning phase 2 now that 4 content processes are out the door
Firefox Core Engineering
- We have a sample of top crashers (by signature) from FF53 release crash pings (not reports), for 5/19-5/25, broken down by process type. Some interesting things there, sent to the stability@ list for further investigation.
- Updates to 64-bit begin in FF56 (stub installer introduced this in FF55).
- About to land: LZMA compression and SHA384 support for update downloads for FF56, reducing the size of the download and improving its security.
Form Autofill
- Fixed a huge slew of bugs:
- [Form Autofill] Prevent Form Autofill dropdown from being applied to the dialog in Preferences
- Feedback the profile usage (e.g. last used time) to parent for the persistence in ProfileStorage when submitting a form
- Sort the profile results for autocomplete popup by last used time
- Handle filling inexact matches for Form Autofill select elements on “address-level1” (states)
- [Form Autofill] Support “country-name” fields
- Use a country-specific join character for joining address lines together
- [Form Autofill] Should prevent the dataloss when computing “address-line*” from “street-address” with 4 lines or more
- [Form Autofill] Display the updating door hanger to let users save a new address or update choosen address
- Address phishing danger concerns about [Form Autofill]
- [Form Autofill] Cache the computed fields in profileStorage
- Store phone numbers in E.164 format
- [Form Autofill] Manage Profiles and Edit Profile dialogs refinements
- [Form Autofill] Fine tune the first time saving doorhanger
- [Form Autofill] Autofill fails on some of the main shopping sites
- [Form Autofill] The color of the doorhanger’s anchor should align the other anchor icon
- [Form Autofill] Make Phishing Warning consistent no matter hovering on items or not.
- [Form Autofill] Darken the font color in the also fill notes based on the latest spec
Mobile
- We’re working hard to ship Android Activity Stream in Firefox for Android 57!
- We’ve got a working draft of an open-source Android library that will allow you to log into your Firefox Sync account and download your bookmarks, history, and passwords. Check it out here.
- Firefox Focus for Android v1.0 shipped one week before the all hands and v1.1 will be coming shortly, featuring full screen videos! Here’s the full v1.1 bug list
- We are working on some UI refresh in Firefox for Android 57 to align the Firefox Desktop! Follow along in this bug.
- We are also planning to phase out the support of Android 4.0 (API 15). Hoping to do this in Fennec 56. Here’s the tracking bug.
Photon
Performance
- The browser UI has been disabled for a number of Talos tests that measure something very specific (example, SVG rendering) to avoid noise introduced when changing the UI
- Gathering profiles from automation for Talos is broken for many tests. I have patches waiting for review in this bug should fix that.
- Solved creeping tps regression (spoiler alert: not really a regression)
- Adding a test for location bar reflows
- Working on making the tab strip animate using smooth-scroll instead of requestAnimationFrame + scrollLeft / scrollRight.
- Removed most remaining Promise.jsm uses in the browser code, and it’s now blacklisted before first paint.
- browser_startup.js is now more reliable and has siblings:
- browser_startup_content.js covering scripts loaded when creating a new content process
- browser_startup_images.js catching images loaded before first paint but not displayed.
- Delayed things that were running off final-ui-startup in nsBrowserGlue.js for no good reason.
- Working on lazy loading lots of scripts currently loaded by browser.xul before first paint.
- sessionstore.js is now saved in compressed format as sessionstore.jsonlz4 to save your hard drive perf and should save some I/O cycles.
- Work is progressing on speeding up sessionstore’s FormData collection
Structure
- Built the prototype for adding the ability for the user to pin frequently-used items from the Page Action menu into the URL bar. This work adds a context menu to items in the action menu to control this. The prototype also added Page Action menu entries for Pocket and Screenshots (and as a next step, their existing buttons in the navbar will be removed). Eventually there will be an WebExtensions API so that Addons can extend this menu (but that work may not make 57).
- The bookmark star has moved into the URL bar. This (as with Pocket and Screenshots, mentioned above) is part of our work to consolidate actions you perform with the page into the Page Action menu.
- The sidebar button is now in the toolbar by default. This gives easy one-click access to toggle the sidebar.
- Customize Mode got a few updates. Its general style has been refreshed for Photon, and we’ve removed the “grid” style around the edges and shrinking-animation when opened. Also, the info panel that’s shown the first time a user enters customization mode (which helps explain that you can drag’n’drop items to move them around) has been replaced with a Photon critter – the Dragondrop. I hope you can appreciate this delightfully terrible pun. 😉
- The Library panel will now show Bookmarks and Downloads. (Bookmarks are already in Nightly, Downloads was built during the week but needs more work before landing).
- We also fixed a number of random polish bugs here and there. “Polish” bugs are changes that are not implementing new features, but are just fixing smaller issues with new or existing features. We’ll be seeing an increasing amount of these as we get closer to shipping, and focus on improving polish and quality overall.)
Animation
- Pin to Overflow animation landed, try it now! Right-click on a toolbarbutton and use “Pin to Overflow Menu” to see the awesome animation!
- The Stop/Reload animation landed also! We’ve got great feedback about speeding it up and making it less distracting, will be working on that soon.
- The Save to Pocket animation is going through review and should land soon. Once this lands, we should get the Bookmark animation quickly since they will be similar implementations.
- New arrow-panel animations are being worked on. Working through test failures right now.
- Work on the new Download notifications animation is in review
- The new tab loading/progress indicator is going through feedback passes with UX right now
Visuals
- Johann is working on resizing context menus and other menus when accessed through touch.
- Dolske updated the pinned-tab glow style
- Dale implemented the new identity block appearance
- Dale updated the toolbar background colors on Mac and Windows.
- Nihanth is working on several bugs around the new sidebar styling (metabug)
Onboarding
- We now hide the onboarding tour if the window width is less than 960px
- The tour notification is now implemented with a timing policy: we mute it after the 1st 5mins and each tour only has 2 chances to prompt with notification. Each chance includes 8 impressions and 5-days life time.
- The Default Browser tour now can show the alternative message when Firefox is default already
- Now UITour is able to highlight the single search bar with dropdown displayed, which will be used for v57 Address Bar tour later.
Preferences
- Soon the search box will float above the preferences while scrolling the page. This work is in progress.
- Working on fixing some content that wasn’t wrapping on narrow windows
- Going to be using a build-time switch for the Firefox 57 visual refresh work so QA can test the Firefox 56 reorganization using the actual builds we will be shipping.
Search and Navigation
- The Follow On Search Count addon was shipped to 54 population.
- Various fixes to one-off buttons placement on hidpi screens.
- Discussed an experimentation plan to change the awesomebar results mixup in preparation for the search bar unification. The awesomebar results mixup can now be changed through pref-based Shield Studies.
- The Places database connection is now initialized lazily on first request, rather than when any of the Places services is instantiated.
- Async Places transactions (Jank-free bookmarking UI) will be enabled in Nightly in the next days. Lots of fixes landed during the San Francisco All Hands and the week after it.
- Thanks to this work we are very close to Milestone 1 of synchronous bookmarks API removal, the edit bookmark panel now uses the new asynchronous API. More code is about to be converted.
- Lots of intermittent test failures became more frequent with sync to async changes and therefore could be fixed.
- Places is no more crashing in case of an unrecoverable db corruption, instead it sends telemetry. It is also no more running ANALYZE on a timer (Thanks to Mayank), instead it uses the new “PRAGMA optimize” on shutdown.
- Fixed a recent spike in async shutdown crashes due to Sqlite.jsm misuse from Activity Stream and Kinto-based blocklists.
- Restriction tokens in the Location Bar cannot be modified through prefs anymore. We are discussing plans to make them more coherent and useful (like using “?” to restrict to search and suggestions).
Sync / Firefox Accounts
- Removed most of the nested loops in the Sync code. We hope it will make profiling easier without Sync polluting stacktraces.
Test Pilot (written only)
- Page Shot, Activity Stream, Tab center, Pulse all graduated from Test Pilot
- New experiments coming next week
- We started a new blog to publish experiment results. Watch https://medium.com/firefox-test-pilot for new posts soon
Web Payments
- JonathanGB has started working on the front-end to support the Payment Request API with Basic Card
- Initial stub UI service and HTML file landed
- Next: Open and close a stub dialog when PaymentUIService’s showPayment and abortPayment are called (respectively)
- Longer term front-end milestones/resources are being figured out
Here are the raw meeting notes that were used to derive this list.
Want to help us build Firefox? Get started here!
Here’s a tool to find some mentored, good first bugs to hack on.
Panda wrote on
mconley wrote on
klop*cz wrote on
Alex Vincent wrote on
Sören Hentzschel wrote on
Johann Hofmann wrote on
Christina wrote on
coreyjakob wrote on