Highlights
- Firefox Account is experimenting with putting an avatar next to the hamburger menu. It will give users visibility on their account, sync status as well as links to manage the account. Targeting landing soon!
- We have added support for blocking known fingerprinters and cryptominers with content blocking! This is currently enabled in Nightly.
- Lots of DevTools goodies this week!
- Log points UX has been improved (including syntax highlighting, context menu and markers), thanks to contributors Bomsy and Florens
- It is now possible to copy all collected CSS changes done through DevTools UI. Thanks to Razvan Caliman!
- Auto discovery of layout CSS properties (done by Micah Tigley). Hold shift and mouse over any defined property in the box-model widget (in the Layout sidebar). This will highlight the corresponding CSS property in the rule-view.
- The Password Manager team has added a “View Saved Logins” footer to the password manager autocomplete popup (disabled until the follow-up is resolved)
- Tim Huang and Tom Ritter added letterboxing (an anti-fingerprinting technique) to Firefox
Friends of the Firefox team
Resolved bugs (excluding employees)
Fixed more than one bug
- Hemakshi Sachdev [:hemakshis]
- Manish [:manishkk]
- Oriol Brufau [:Oriol]
- Rainier Go [:rfgo]
- Tim Nguyen :ntim
- Trishul
New contributors (🌟 = first patch)
- 🌟 Adam Czyzewski updated a sync tooltip to make its purpose clearer
- 🌟 Tony Ross [:antross] made one of our DevTools WebExtension APIs more consistent with Chrome’s implementation, making it easier to port add-ons over
- The following new contributors switched us from hand-rolled promiseWaitForCondition methods to TestUtils.waitForCondition
- 🌟 Carolina Jimenez Gomez for one of our WebRTC tests
- 🌟 Neha for one of our browser UI tests
- chengy12, one of our MSU students, ported a bunch of printing-related strings to Fluent
- freychr3, another of our MSU students, ported the Page Info dialog to Fluent
- 🌟 Ivan Yung made it so that about:policies shows a message when there are no active policies
- Martin Koroknay fixed a “Failed prop type” error in the DevTools Console
- 🌟 l.khadka de-duplicated some code for about:telemetry
- 🌟 msfr-develop fixed a bug where the DevTools inspector wouldn’t scroll to an already-selected element when clicking on its closing tag.
- 🌟 Maximilian Schütte fixed a 12 year old SessionStore bug, where minimized windows wouldn’t have their un-minimized sizemodes recorded!
- Rainier Go [:rfgo]
- Fixed a bug where the DevTools Storage Inspector sometimes didn’t show items after clearing local storage
- Added a tooltip for the “Refresh” button in the DevTools Storage Inspector
- Removed some unneeded prefs
- 🌟 Sonia fleshed out the DevTools contributor documentation with a paragraph on what to do if things go wrong with ./mach bootstrap.
Project Updates
Activity Stream
- Landed and uplifted MVP for experiments, Beta smoke test started Monday.
- Preparing to run 16 layout experiments in Release 66 cycle for better engagement, e.g., large Hero articles vs List of articles
- The team is helping Pocket engineers transition to increase ownership of new tab
- CFR for Pinned Tabs will be our next recommendation experiment!
- First experiment recommends add-ons, e.g., Facebook Container, Google Translate
- Current experiment will suggest pinning tabs, e.g., Gmail, productivity / messaging sites
Add-ons / Web Extensions
- Work continues on long-term projects:
- Supporting migration of search engines to WebExtensions
- Handling extensions in private browsing windows
- Rewriting about:addons in HTML
- Rob fixed a bug in which optional permissions were not cleared when an extension was uninstalled.
- Luca got rid of a synchronous reflow in extension popups.
Applications
Screenshots
- Latest server release is on stage environment for testing prior to release (Changelog)
- We have now exposed server shutdown strings to web localizers. In case anyone asks, Screenshots is not being removed from Firefox, just the ability to upload shots.
- This upcoming server release will include tools to help users download their saved shots
Lockbox
- This past sprint continued the focus on foundational work:
- Our work is tracked as the ‘desktop’ repository within the Lockbox waffle board
- We don’t yet have any good-first-bugs filed, but swing by #lockbox if you want to contribute ^_^
Services (Firefox Accounts / Sync / Push)
- New FxA device pairing flow landed in Nightly, but pref’d off for now. You’ll soon be able to sign in to FxA on Android and iOS by scanning a QR code, instead of typing your password!
- Check out this Lucidchart sketch to see the flow if you’re curious to learn more!
Developer Tools
Network
- Resizeable Columns – Our Outreachy #17 intern Lenka Pelechova is finishing support for resizeable Columns in the Network panel. Currently focusing on Performance (bug)
Layout Tools
- Our UX Designer Victoria Wang published survey for CSS Layout Debugging. You can help us build better CSS debugging tools (quick single-page survey)
Technical debt
- Firefox 67 will soon display a removal notice (in the Options panel) about the Shader Editor, Canvas and Web Audio panels, which are going to be removed in 68. Work done by Yulia Startsev. Until the MDN page is up, you can look at the intent to unship post in the mailing list.
Remote Debugging
- Showing backward compatibility warnings in about:debugging (bug)
- Added a checkbox to enable local addon debugging (bug)
- Open the Profiler for remote runtimes in about:debugging (bug)
Fission
- MattN’s work to lazy load FormAutofillContent and convert them to actors landed and resulted in a 2.19% base JS memory improvement \o/
- M1 is on track, with just a couple of remaining bugs
- M1’s main focus is displaying an iframe in a separate content proess
Performance
- Firefox Front-end Performance Update #13 posted
- dthayer
- Rounding out the end of WebRender document splitting work
- Reduced how much we paint when restoring sessions with pinned tabs (Backing out for session restore problems)
- Adding Telemetry for startup cache hits and misses
- felipe
- New tab animations (still off by default) have surfaced at least one serious bug, but otherwise all quiet.
- Reminder: You can test this out by setting browser.tabs.newanimations to true
- UX has gotten back with some feedback, which will be addressed soon
- Working on making the Hidden Window lazier for a start-up win on Windows and Linux
- Improving ContentSearch performance, which sends data from the Search service to about:newtab in the content process
- New tab animations (still off by default) have surfaced at least one serious bug, but otherwise all quiet.
- Gijs
- Latest browser adjustment patch was tested by vchin’s team, and found to actually slow perceived page load, since frames were painted later.
- We might have stumbled on an interesting way of saving battery power though
- vchin’s team is now testing the original patch, which lowered frame rate globally for low-end hardware
- Making newtab preloading occur on idle
- Latest browser adjustment patch was tested by vchin’s team, and found to actually slow perceived page load, since frames were painted later.
- mconley
- Landed a new Talos test to measure time to initial about:home paint
- Filed a bug to make PageStyleChild lazier / inert for the about:home case
- Locally prototyped a patch to launch content process sooner, but no wins yet
Performance tools
- Perf-html.io moved to profiler.firefox.com and perf.html is now called “Firefox Profiler”.
- I/O markers are now visible in the timeline. I/O marker stacks are visible when hovering them, and in lots of cases the path of the file that was touched is shown.
- When capturing a profile, to have I/O markers, you need to check the “Main Thread IO” checkbox in the Gecko profiler add-on, or enable the “mainthreadio” feature using the MOZ_PROFILER_STARTUP_FEATURES environment variable when profiling startup.
- We are investigating optionally collecting markers for off-main thread I/O, and enabling main thread I/O markers by default.
- We improved shutdown profiling: it’s now compatible with mainthreadio markers, and shows content process shutdowns. Here’s a profile with startup + shutdown, on a fresh profile, with I/O markers.
- We have markers for <script>s, privileged js files, and nsObserverService::NotifyObservers now in the Firefox Profiler.
-
Policy Engine
- Legacy Browser Support requires other features
- chrome.storage.managed which requires
- Added Custom support menu in help menu
- Continued work on xpinstall whitelisting
Privacy/Security
- Intermediate Preloading has landed and is coming to a Nightly near you soon!
- We’re shipping the new certificate error pages including the new clock skew and AV MitM warnings in 66 release
- Still need to improve accuracy of the AV MitM warning
- We’re putting web notifications behind secure context
- Bug 377496 – ‘Authentication Required’ dialogue being application modal produces a vector for attack was fixed
Search and Navigation
Search
- Switching built-in search engines to WebExtensions is undergoing some additional but necessary work
Quantum Bar
- Tons of bugs fixed, list too long. QE starting.
- Almost all of the bugs blocking a Nightly experiment have been fixed.
- Features ported: one-off buttons, full keyboard navigation, telemetry, @ token aliases, Drag’n’Drop, IME.
- Being worked on: accessibility, smoothness, tests. See the release tracking bug for a complete list.
John M. wrote on