Highlights
- Help us eliminate annoying in-content popups by installing this add-on and reporting when pages display an in-content popup like this:
- Tab warming has (finally!) been enabled on Nightly
- This should help with perceived tab switching performance. Here’s a blog post describing how it works.
- See any issues with it? Please file bugs and mark them blocking this bug
- For enterprise folks on Windows, there’s a new policy engine, with templates to set policies through Group Policy. We got a shout-out on gHacks.
- Activity Stream has a new section context menu to remove, collapse, and reorder sections.
- We disabled all Device Sensor APIs except device orientation.
- Check out this technical blog post on Firefox Themer from Les Orchard
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Introductions
- :Prathiksha got her Level 3 contributor access last week!
- Mike Kaply is joining our team!
- Resolved bugs (excluding employees): https://mzl.la/2DlmYcH
- More than one bug fixed:
- :prathiksha
- Dhi Aurrahman
- Tim Nguyen :ntim
- :jonathanGB
- New contributors (🌟 = First Patch!)
- 🌟 Adam Kasztenny got rid of a bunch of dead code from the old about:newtab page
- 🌟 Amy switched some tests from using a hand-rolled promiseTopicObserved to using TestUtils.topicObserved
- 🌟 Aleksandr got rid of some dead code in the browser/modules directory
- Arthur Deschamps made sure that we send the user to about:privatebrowsing in private browsing windows at the right times
- 🌟 Omar got rid of the unused gBrowser.tabContextMenu property
- 🌟 Raymond converted some hardcoded colours in about:addons to CSS variables instead
- Daniel Marshall (:starsandspirals) renamed the “profileStorage” Form Auto-fill singleton to “formAutofillStorage” to make its purpose more clear
- 🌟 gregorywlodarek changed the label for a button in about:preferences so that it makes more sense
- 🌟 kanika16047 switched a test from using a hand-rolled promiseWaitForCondition to using TestUtils.waitForCondition instead
- 🌟 Michael Webster added support for showing download progress in the taskbar on Linux Mint
- 🌟 Olivier Tilloy updated how we detect and set Firefox as the default browser on Linux when installed as a Snap package
- 🌟 Videet Singhai removed the unused MEMORY_HEAP_COMMITTED_UNUSED Telemetry probe
- More than one bug fixed:
Project Updates
Add-ons
- Including an embedded experiment in a WebExtension no longer breaks browserAction (uplifted to 59).
- Tab hiding shutdown now happens even if the API is unused, removing the possibility of hidden tabs staying erroneously hidden (fixed in 60).
- tabs.query() returns highlighted tabs when querying… highlighted tabs (fixed in 60).
- Dev tools panel drop downs expand as they should (fixed in 60).
- Async proxy.onRequest API (fixed in 60).
- …and DNS resolve API added (also in 60).
- Improved information on where errors triggered by async APIs came from (in 60).
- Fixed an issue where extension sidebars reload unnecessarily (fixed in 60).
- Some security bugs got fixed in Firefox 60 as well.
- Theming:
- You can now set the active tab line color (in 60).
- You can now change the background color of the selected tab (in 60).
- Narrowly avoided releasing tab_background_text misnamed which would’ve been bad for migrations of Chrome extensions (uplifted to 59)
Activity Stream
- Various fixes for bookmarks and snippets
- Dashboard for Activity Stream Metrics Summary, Search, and User Preferences
- Project to move Activity Stream settings to about:preferences will be landed in 61 rather than 60
Browser Architecture
- Only 5 XUL overlays left!
- XUL menu replacement planning.
- Working out naming for custom elements in chrome.
Mobile
- Landed a sequence of patches to add improve keyboard behaviours for iPad users with Bluetooth keyboards.
- Lots of improvements around tab switching, and tab navigation.
- Lots of improvements in AwesomeBar usability.
Policy Engine
- Marketing push for Firefox Quantum for ESR (aka Firefox 60) starting soon, which will be talking about this feature
- YUKI “Piro” (from Tree Style Tabs) contributing to Policy Engine, which is great! Thank you!
Performance
- Have you seen a bugfix land that’ll likely impact Firefox performance in a positive way? Help me let the world know!
- mconley is getting rid of some sync reflows
- dthayer is moving ContentPrefService database queries off of the main thread
- dthayer also landed some probes to help shed more light on where tab switch spinners are coming from (they’re likely from bugs in the async tab switcher!)
- Gijs got rid of some unneeded code from the old about:newtab page that was running during start-up
- Gijs is also making us way lazier at getting and parsing the blocklist, which should help reduce the amount of stuff we’re doing at start-up
- florian is working on making our performance tests more comprehensive and easier to write
Privacy/Security
- We are deprecating and removing the proprietary storage option for indexedDB.open() to get rid of the “indexedDB” permission mess.
- We’re starting a quest to rid Firefox code of innerHTML and as a priority unsafeSetInnerHTML.
- Tim added permission prompts for Web Authentication direct attestation (in which websites are asking for the non-anonymized token certificate).
- Chris Kerschbaumer changed the way chrome and about pages can communicate, starting with about:privatebrowsing.
Search and Navigation
Address Bar & Search
- New switch-to-tab behavior for the autofill match was confusing users, now we will instead provide both the autofill match and a switch-to-tab one. This will be uplifted to Firefox 60.
- Landed a telemetry probe to better understand how users cycle through address bar matches with the keyboard
- A last minute backout happened for Firefox 59. The original scope was to put search suggestions first for new Quantum profiles with a unified urlbar, but it ended up applying to any unified urlbar profile. We’re sorry about that and will do a post-mortem analysis of this mistake. A better fix is being worked on for Firefox 60. Note that there’s a Shield Study that could end up doing the same change, you can verify if you’re involved in about:studies.
Places
- Fixed some regressions:
- It’s no more possible to create third-party roots in Places. We’ll shortly remove anything that is not part of one of the official roots (menu, toolbar, unsorted, tags, mobile)
- Updated the Favicons for the default bookmarks
- Controller.js is now a lazy loaded script, rather than being loaded on each window opening. Additionally Bdahl is removing placesOverlay.xul!
- Bookmark tags autocomplete should not assert/crash anymore in debug builds
More
- Our Sqlite implementation now uses unique temporary file names (prefixed with “mz_”), to avoid confusing our temporary files I/O with other running apps
- Thom landed a patch to reuse transaction timeout timers in Sqlite.jsm ⏰.
- Kit changed Places to use immediate transactions by default. This fixes a storage thread hang with a cloned Places connection in the new bookmarks mirror.
Sync / Firefox Accounts
- Ed has a proposal for a way to detect copied and moved profiles 🚚.
- Ed is working on a client for Pushbox, a new service to store and fetch push payloads for the new “Send Tab” 📦, and made sure we hide all UI when Sync is disabled 🙈.
- Thom improved tree logging for the bookmarks mirror 🌲 and improved deduping for automatically restored bookmarks ✨.
- Mark is working on adding Web Push encryption to Firefox 🔒 and removed remaining event loop spinning from Sync 🌀.
- Kit moved more Sync metadata into Places 🗺 and optimized bookmark deduping in the mirror 📚.
- Lots of improvements to tests and core code quality from the whole team 🐞🌟.
Test Pilot
- Graduations set for 3/27 for Cliqz, Voice Fill, Snooze Tabs, Min Vid
- Firefox Themer updates:
- Sweet new textures
- Launch dates are still TBD
- Screenshots updates:
- Annotations launched! You can now crop, highlight, or draw on uploaded screenshots.
- Blog post on the way (pending legal approval)
- Find it on the Test Pilot Medium
- Upcoming: Firefox Accounts integration, porting the WebExtension to Chrome
- Blog post looking at our usage data
- Annotations launched! You can now crop, highlight, or draw on uploaded screenshots.
Web Payments
- Only four remaining milestone 1 bugs!
- Fixed
- Don’t dispatch shipping*change events if requestShipping is false
- Implement the payerName/payerEmail/payerPhone contact picker
- Success/failure screens
- Cleanup/chores
Christina wrote on
Robert Ab wrote on
Christina wrote on