Firefox/Meeting/19-Apr-2022
Today’s meeting leader is: mconley
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons / Web Extensions
- 3.2 Developer Tools
- 3.3 Downloads Panel
- 3.4 Fluent
- 3.5 Form Autofill
- 3.6 Lint, Docs and Workflow
- 3.7 macOS Spotlight
- 3.8 New Tab Page
- 3.9 Nimbus / Experiments
- 3.10 NodeJS
- 3.11 Password Manager
- 3.12 PDFs & Printing
- 3.13 Picture-in-Picture
- 3.14 Performance
- 3.15 Performance Tools (aka Firefox Profiler)
- 3.16 Privacy/Security
- 3.17 Search and Navigation
- 3.18 Screenshots
- 3.19 Community
- 4 This week I learned
General Topics / Roundtable
Friends of the Firefox team
Introductions/Shout-Outs
[kpatenio] Thanks to everyone that has helped mentor and guide Outreachy applicants so far
[kpatenio] Also shoutout to the applicants!
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- av
- irwp
- Janvi Bajoria [:janvi01]
- Max
- Oriol Brufau [:Oriol]
- sayuree
- serge-sans-paille
- Shane Hughes [:aminomancer]
New contributors (🌟 = first patch)
- 🌟 Max added site adapters for Funimation, TubiTv, and AirMozilla
- 🌟 Av fixed a spelling mistake on source docs and removed dead code in browser-places.js
- 🌟 ian added a check to see if a window is private before saving search string
- 🌟 irwp fixed a typo in pref.js and got rid of Adobe Flash hang handler
- kabakert fixed Reader Mode to use the same tab title as normal page
- 🌟 karnikk1406120 fixed ESLint rule warnings in test_no_remote_registration.js
- 🌟 sayuree added logging for PiP, removed unnecessary try/catch and null checks for QI in http-on-modify-request, and fixed "update" tasks in browser_creditCard_doorhanger.js
- serge-sans-paille cleaned up includes in toolkit/components/telemetry/ and toolkit/components/url-classifier/
- Simon McVittie unset MOZ_APP_LAUNCHER for external MIME hand
General triage
- k88hudson, jhirsch, kpatenio are this months Firefox / Toolkit::General triagers!
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
As part of the ongoing ManifestVersion 3 work:
Menu API support for event pages - Bug 1748558 / Bug 1762394 / Bug 1761814
Prevent event page to be terminated on idle while the Addon Debugging devtools toolbox is attached to the extension - Bug 1748530
Deprecated tabs APIs have been hidden (for add-ons with manifest_version explicitly set to 3) - Bug 1764566
Relax validation of the manifest properties unsupported for manifest_version 3 add-ons - Bug 1723156
- Firefox will be showing warnings in “about:debugging” for the manifest properties deprecated in manifest_version 3, but the add-on will install successfully.
- The deprecated manifest properties will be set as undefined in the normalized manifest data.
- Thanks to Jon Coppeard work in Bug 1761938, a separate module loaders is being used for WebExtensions content scripts dynamic module imports in Firefox >= 101
Thanks to Emilio work in Bug 1762298 WebExtensions popups and sidebars will be using the preferred color scheme inherited from the one set for the browser chrome
Quoting from Bug 1762298 comment 1: The prefers-color-scheme of a page (and all its subframes) loaded in a <browser> element depends on the used color-scheme property value of that <browser> element”.
WebExtension APIs
- In Firefox >= 101, each storage API’s storageArea (storage.local, storage.sync etc) will provide its own onChanged event (e.g. browser.storage.local.onChanged and browser.storage.sync.onChanged), in addition to browser.storage.onChanged API event - Bug 1758475
Developer Tools
Toolbox
Virtualized Console (bug)
-
66% faster to render 1000 messages from a for loop
> 90% faster to close console with lots of messages
10-30% faster to handle console API call in the content process, depending on the type of the parameters (99% faster for very large strings (> 10000 chars) )
-
Fixed pin-to-bottom issue with tall messages in the Console panel (e.g. error with large stacktrace) bug
Fixed CSS Grid/Flexbox highlighter in Browser Toolbox (bug)
WebDriver BiDi
Started working on a new command, browsingContext.create, which is used to open new tabs and windows. This command is important both for end users as well as for our own tests, to remove another dependency on WebDriver HTTP.
We landed a first implementation of the browsingContext.navigate command. Users can rely on this command to navigate tabs or frames, with various wait conditions.
On April 11th geckodriver 0.31.0, which is our proxy for W3C WebDriver compatible clients to interact with Gecko-based browsers, was released including some fixes and improvements in our WebDriver BiDi support and a new command for retrieving a DOM node’s ShadowRoot.
Downloads Panel
Fluent
Form Autofill
- Thanks to :emilio for fixing one of our tests!
- Thanks to sayuree for fixing some tasks in our tests!
Lint, Docs and Workflow
There are various mentored patches in work/landing to fix ESLint no-unused-vars issues in xpcshell-tests. Thank you to the following who have landed fixes so far:
Roy Christo
Karnik Kanojia
Patches have been posted for upgrading to the ESLint v8 series.
One thing of note is that ESLint will now catch cases of typeof foo == undefined. These will always return false as they should be compared with the string undefined, i.e. typeof foo == "undefined".
macOS Spotlight
New Tab Page
Nimbus / Experiments
NodeJS
Password Manager
- :tgiles fixed an issue with the “Create New Login” button not being visible at smaller screen sizes
-
This will help with Firefox Relay integration, one-time passwords support and other features that the password manager wants to support
- Thanks to :janvi01 for fixing a spacing issue on login CSV import complete and error dialogs!
PDFs & Printing
Picture-in-Picture
Thanks to Janvi Bajoria who fixed a visual glitch in the Picture-in-Picture player window due to overzealous focus rings!
- sabina.zaripova added some helpful logging to PictureInPictureChild.jsm
- kpatenio fixed a regression where the controls in the Picture-in-Picture player window did not have a visual hover state
- kpatenio reduced the intermittence of a severe PiP-specific test failure
niklas added support for changing the size of subtitles in the player window
Media.videocontrols.picture-in-picture.display-text-tracks.size
- Options are small, medium, and large
- niklas also made it so that the PiP toggle is hidden if the whole PiP feature is disabled
- mstange made it so that closing the PiP player window on macOS doesn’t also unintentionally foreground the last Firefox window as well
Max added several video wrappers for PiP subtitles support
Performance
Great work from the DevTools Team (with an assist from Doug Thayer from the Performance team) on improving the performance of the Web Console! The landing was reported during the last meeting, but we have performance test results now and they’re very impressive!
DAMP = DevTools At Maximum Performance
Performance Tools (aka Firefox Profiler)
Privacy/Security
- Drew added the ability to[1]remove Firefox Suggest Sponsored and Non-Sponsored results, and[2]telemetry for when users use this feature. Additionally,[3]he added frequency capping for suggestions, with[4]added telemetry.
- Daisuke added[5]two versions of an opt-in modal for Firefox Suggest and[6]refactored the tests.
- Daisuke[7]fixed an issue where the caret position in the address bar would move on pages with heavy load.
- James added additional flexibility to generating locale and region names based on the users locale/region in search-config.json
Screenshots
Community
This week I learned
Import-globals-from is something you can use to import globals from one file to another (and to avoid disabling eslint rules)
- Ask in #lint:mozilla.org on matrix if you need help with ESLint/Linting items.