Firefox/Meeting/11-Jan-2022
Contents
- 1 Friends of the Firefox team
- 2 Project Updates
- 2.1 Add-ons / Web Extensions
- 2.2 Developer Tools
- 2.3 Downloads Panel
- 2.4 Form Autofill
- 2.5 Reader Mode (MSU Capstone project)
- 2.6 Lint, Docs and Workflow
- 2.7 Password Manager
- 2.8 PDFs & Printing
- 2.9 Picture-in-Picture
- 2.10 Performance
- 2.11 Performance Tools
- 2.12 Privacy/Security
- 2.13 Search and Navigation
- 2.14 Community
- 3 This week I learned
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- JoaquĂn Serna
- Jonas Jenwald [:Snuffleupagus]
- Mathew Hodson
- Oriol Brufau [:Oriol]
- Rashelle
New contributors (đ = first patch)
- JoaquĂn Serna removed lodash flatten usage and removed lodash `remove` usage
- Kz04px updated open all tabs popup on mouse down event instead of mouse up
- Rashelle added probe for PiP disabled state and fixed PIP button z-index not respected with semi-transparent div
- Sai Hemanth removed lodash difference usage
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Mathew Hodson contributed some more cleanup patches (to get rid of ChromeUtils.import calls with more than one parameters, Bug 1746709, and to remove old extension-data migration logic which have been unused for a while, Bug 1704144). Thanks Mathew!!!
- New âSite Permissionsâ add-on type: Starting from Firefox 97 we are introducing a new add-on type that provides access to experimental WebAPIs (initially only âWeb MIDIâ) to specific website origins - Tracking meta Bug 1737161 (adding Firefox developers docs related to âadding support for new experimental WebAPIs gated by a SitePermissions addonâ is tracked by Bug 1742518)
WebExtensions Framework
- Mark Hammond created a new in-tree doc page that describes the underlying architecture of the storage.sync API data backend - Bug 1745683
- As part of the ongoing work related to Manifest Version 3 WebExtensions, we have introduced a new nsIServiceWorkerManager.wakeForExtensionAPIEvent method to spawn an active background service worker when the related extension has received an API event to be handled by the background script - Bug 1728327
WebExtension APIs
- Investigated and fixed (in Firefox 97) an issue related to the '''runtime''' APIâs '''sender.frameId '''/''' port.sender.frameId''' property, which was regressing LastPass browserAction popup in private windows - Bug 1748158 (regression introduced in Firefox 95 by Bug 1708243)
- Fix contextMenus / menus APIs issue triggered when the user right click on DOM elements with invalid link urls - Bug 1746494
- Landed (in Firefox 97) a small userScript API fix (to make sure that registered userScripts are unregistered as expected when the extension context that has registered them is destroyed) - Bug 1746852
Developer Tools
Itâs been a while since we provided any update here, so Iâm going to highlight a few things that happened the last few months
After being enabled for a while on Nightly, the context selector is enabled by default in Firefox 96 (bug)
-
[alt] In the Firefox DevTools WebConsole, on the top corner of the input, a toggle button is enabled, and its associated popup shows 2 items: âTopâ and âodvarko.comâ, which is selected. In the input has the following text: âglobalThisâ, which is instantly evaluated to âWindow http://odvarko.com/â
- The context selector allows the user to execute a snippet from the webconsole on a specific document used in the page (e.g. an iframe, a worker, âŠ)
- The context is automatically updated on specific interaction in DevTools, like selecting an element from an iframe in the inspector, or being paused in the debugger
-
Still in the webconsole, wartmanm improved autocompletion by showing the original name of source-mapped variables when the debugger is paused (bug)
Elise made the webconsole regex filtering case sensitive by default. You can do a regex insensitive search by appending the âiâ (e.g. â/needle/iâ) flag at the end of your search term (bug)
RaphaĂ«l improved the Inspector â.clsâ UI so it applies the classname as you type it (previously it was only added once you pressed Enter) (bug)
Emilio and sebo added DevTools support for the new hwb() color function (bug1 & bug2)
-
[alt] In the Inspector rule view, a rule has the following property: âbackground-color: hwb(28 13% 10%)â. A color swatch is displayed before the property value, and the color picker is displayed.
-
Weâre working on removing all debugger usage of lodash (meta bug) as itâs pretty large and makes the debugger slower to open. Some of this work already led to performance improvements, and we expect more. Folks are helping us on this task, thanks Tawah, JoaquĂn and Sai
ochameau fixed a Netmonitor bug that caused HAR file to be empty (bug1 & bug2)
Emilio and jdescottes added a new âautoâ theme (which is now the default one), which follows the browser's color scheme, so if you have a dark theme for your browser, DevTools will also have a dark theme. This can be overridden by setting the theme to either Light or Dark in DevTools settings panel. (bug1 & bug2)
Weâre pleased to have Claudia working on a new, beefed-up version of the Netmonitor âEdit and Resendâ feature as part of the Outreachy project đ (meta bug)
For the last couple months, we teamed up with the WebCompat folks to improve diagnosing webcompat issues:
- A warning message is now displayed in the console when the current page is in quirks mode (e.g. there is no/invalid doctype) (bug)
- It is now possible to âpickâ element from the page with âpointer-events: noneâ by holding the Shift key as youâre using the picker (bug)
- You may be surprised to learn that you can pick a node when debugging Firefox for Android in about:debugging. This wasnât really highlighted anywhere, so we now update the âpickâ icon when debugging an android phone, and a notice is displayed on the phone to tell the user they can pick a node with a tap. (bug)
- Bomsy added an initial patch to make it possible to ignore specific lines from a script in the debugger. This is behind the `devtools.debugger.features.blackbox-lines` pref and weâre looking for feedback on this (there are already follow up patches in flight) (bug)
Downloads Panel
- The new downloads improvements are enabled and set to ride the release train! đđđ
- kpatenio fixed an issue where some file types (eg. plain text files) are opened in the selected helper app when saved via the âSave Link Asâ context menu item.
Form Autofill
Enabling credit card autofill for the UK, France, and Germany has been pushed back to Fx98
We encountered some pref migration issues and sync issues. So we needed to back out the main patch that allowed address and credit card autofill to be enabled independently of each other.
- :sgalich fixed an issue where there is no âbrowser.search.regionâ pref on Android which could cause credit card autofill not to behave as expected on Android
- :sgalich fixed an issue where some of the old prefs from form autofill were being used to setup tests
Reader Mode (MSU Capstone project)
- [niklas] Spring capstone project starts today. The students will be working on general improvements to make Reader Mode even more awesome!
Lint, Docs and Workflow
- Table-of-contents was broken for Firefox Source Docs. It has been fixed, but keep an eye out for any strangeness there in case thereâs any additional fallout, and file bugs if you do.
Password Manager
- Thanks to :farre for enabling the LoginDetectionService on Android which helps support marking a site as high-value
- :sgalich fixed an important performance issue in our login CSV import code, cutting the import time from 3 to 10 minutes (in this particular case) to around 4 seconds!
- :tgiles fixed an issue where an extra blank space was displayed at the bottom of about:logins when a new login was saved
- :sgalich improved keyboard support for the search box in about:logins
PDFs & Printing
- At long last, the old printing UI code has been removed! Thanks jwatt for cleaning that up.
Picture-in-Picture
mtigley is working on the infrastructure for site-specific video adapters
This will make it possible for us to apply very fine-grained interaction rules for custom video players, which should help make it possible to (eventually) expose more controls in the Picture-in-Picture player window
- kpatenio is working on adding WebVTT caption/subtitle support
Rashelle added a probe to measure how many users have disabled the Picture-in-Picture toggle
Sheâs also working on making the PiP player windowâs audio button reflect the state of the tabâs audio button
Sheâs also adding a window icon for the PiP window
Performance
- Special thanks to barret who is continuing to burn down OS.File usage! Remember, OS.File is slow to load, and you should use IOUtils instead for disk access.
- florian identified a path where weâll start compositing at 60hz even if thereâs nothing to do! Thereâs a nice opportunity for power / processing savings here. hiro has a patch that landed but bounced, but watch this space.
Performance Tools
- Added initial support for inline source view to the Firefox Profiler. Example profile: https://share.firefox.dev/3qe5bQk For now it supports local builds and local symbol servers only, but broader support will be coming.
Double clicking on a call node will open up the source view at the bottom of the page.
- Limited the visible threads to 15 by default.
Quick reminders:
If you profiled something and are puzzled with the profile you captured, we have the Joy of Profiling ([#joy-of-profiling:mozilla.org]) channel where people share their profiles and get help from the people who are more familiar with the Firefox Profiler.
We also have Joy of Profiling Open Sessions where people bring their profile and we try to analyze the profile together over Zoom. See the Performance Office Hours calendar.
Privacy/Security
- [tjr] In Nightly 98 we will be enabling enforcement of Script Name restrictions, which prevents (nearly all) scripts that donât begin with chrome:// or resource:// from loading/executing in the parent process. In release builds, it will fail with a console warning; in debug builds it will crash.
- Drew fixed an issue in the address bar where typing 'g' and <enter> vs 'g' (wait a little) <enter> could lead to different results.
- Drew also fixed a couple of cases of apparent jank when opening the address bar pop-up.
- Mandy fixed a case where the "Switch to Tab" result could be duplicated in the address bar.
Community
- We have some FOSDEM talks scheduled. Stay tuned for details!
This week I learned
- That https://starship.rs plus https://fishshell.com/ = awesome! ~BIgiri