Firefox/Meeting/05-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 Desktop Integrations (Installer & Updater)
- 3.7 Lint, Docs and Workflow
- 3.8 macOS Spotlight
- 3.9 New Tab Page
- 3.10 Nimbus / Experiments
- 3.11 NodeJS
- 3.12 Password Manager
- 3.13 PDFs & Printing
- 3.14 Picture-in-Picture
- 3.15 Performance
- 3.16 Performance Tools (aka Firefox Profiler)
- 3.17 Privacy/Security
- 3.18 Search and Navigation
- 3.19 Screenshots
- 3.20 Community
- 4 This week I learned
General Topics / Roundtable
- [bigiri] HTML Fragments Preprocessor
Friends of the Firefox team
Introductions/Shout-Outs
- [:mcheang] Please welcome Stephanie Cunnane to her first Firefox Desktop meeting today. She’s our newest team member on the Search Team and started with us on March 21st! 🎉🎉🎉Welcome Stephanie!
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Claudia Batista [:claubatista]
- gliu20
- Masatoshi Kimura [:emk]
- Mathew Hodson
- mattheww
New contributors (🌟 = first patch)
- Jintao Hu styled Reade Mode code blocks different from the rest of text.
- samuraix221 renamed glyph-modal-delete-32.svg to match its actual size (20).
General triage
- k88hudson, jhirsch, kpatenio are this months Firefox / Toolkit::General triagers!
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Changes to the add-on install flow: As anticipated in Firefox >= 100 user activation is now required to successfully trigger the add-on installation flows - Bug 1759737
WebExtensions Framework
As part of the ongoing ManifestVersion 3 work:
Introduced support for the runtime.onSuspend API event and more WebExtensions API adapted to support persistent listeners - Bug 1753850, Bug 1748567, Bug 1748557, Bug 1762048, Bug 1748566, Bug 1748563, Bug 1748565, Bug 1748559, Bug 1748546, Bug 1748525, Bug 1748555, Bug 1748549
Requiring granted host Permissions for MV3 content scripts - Bug 1745819
- Fixed optional permission changes not propagated to new processes - Bug 1760526
WebExtension APIs
- Fixed missing “title” property in the bookmarks.onRemoved event details - Bug 1556427
- Fixed browser.sessions.getRecentlyClosed API when a closed windows had a tab with empty history - Bug 1762326
Added support for creating muted tabs using tabs.create - Bug 1372100
Thanks to kernp25 for contributing this nice enhancement
Support overriding the heuristic that Firefox uses to decide whether a theme is dark or light using the new “theme.properties.color_scheme” and “theme.properties.content_color_scheme theme” properties - Bug 1750932
See also firefox-dev email “PSA: Theming changes on Nightly (for Firefox 100)”
Developer Tools
Toolbox
Wartmann fixed an annoying Debugger + React DevTools webextension bug, where you had to click the resume button twice when paused because of a “debugger” statement (bug)
Yury and Alex improved debugging asm.js/wasm project (bug), by turning debug code on only when using the Debugger, making using the console only faster
Julian fixed a bug when using the picker on UA Widgets (e.g. <video> elements)
Storage Inspector wasn’t reflecting Cookies being updated in private tabs, this was fixed in Bug 1755220
We landed a few patches that improved Console performance in different scenarios (bug, bug and bug), and we’re getting close to land the virtualization patch (bug). Overall the Console should be _much_ faster in the coming weeks, we’ll compile some numbers once everything landed
WebDriver BiDi
Support for the browsingContext.close command landed (bug) which allows users to close a given top-level browsing context (aka tab). The browser testing group still needs to agree on what should happen when the last tab (window) gets closed.
Optional hosts and origins should now be set as command line arguments, and not from preferences anymore (bug). This will raise user awareness when adding these additional hosts and origins that need to be accepted for new WebSocket connections by WebDriver BiDi clients.
Most of the existing Webdriver tests on Android are now enabled (bug), which will prevent regressions on this platform. More tests can be enabled once Marionette will support opening new tabs.
Downloads Panel
Fluent
The vendorShortName DTD string is now gone! Slowly but surely, DTDs are melting away from platform.
Only 267 DTD strings now exist. You can track the burndown / transition to Fluent here.
Form Autofill
- Dimi fixed credit card records not being passed correctly into GeckoView
- Dimi fixed credit card saving prompts not appearing as expected on GeckoView when trying to update an existing credit card
- Dimi fixed an issue where form autofill would not work correctly when using Fathom heuristics
- Tgiles fixed an issue where form autofill would modify readonly inputs
- Tgiles fixed credit cards not being saved correctly if there is whitespace in the captured credit card expiry string
- Thanks to Dimi and Emilio for solving an issue that was causing a permanent failure in one of our tests
Desktop Integrations (Installer & Updater)
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:
Leslie Orellana
- Gijs has landed a patch to suggest (via ESLint) using add_setup rather than add_task in mochitests, and updated many existing instances to use add_setup.
Standard8 landed a patchset that did a few things:
Fixed an issue when running with ESLint 8.x which we'll be upgrading to soon.
Completed documentation for ESLint rules where it was missing previously.
Upgraded all the Mozilla rules to use a newer definition format, which also includes a link to the documentation.
- Editors should now be able to link you to the documentation if you need more info e.g. in Atom:
macOS Spotlight
New Tab Page
Nimbus / Experiments
NodeJS
Password Manager
PDFs & Printing
Picture-in-Picture
- Lots of great contributions coming in from applicants for our upcoming Picture-in-Picture Outreachy internship project!
- niklas fixed an issue in one branch of the toggle experiment the team is planning on running soon
- Neil made it possible to focus / invoke the Picture-in-Picture toggle via keyboard on <video> elements with the built-in control set.
Performance
- Thanks to Mathew Hodson who updated Session Store to use IOUtils rather than a Worker with sync disk access to write sessions to disk! This should reduce the serialization overhead when persisting sessions - especially large sessions.
Performance Tools (aka Firefox Profiler)
- Improve markers in the marker chart panel (#3930)
548x446px
New redesigned markers in the marker chart panel
- Improve screenshot marker tooltips (#3957)
601x334px
Now screenshot marker tooltips include image, window size, and description fields.
- Add a marker context menu item for IPC markers, to select the other thread (#3936)
- Move the IPC tracks right below their threads during the initial load (#3968)
- Use orange color for CC markers (#3900)
- Show the duration of the full range in the filter navigator bar (#3964)
420x50px
“Full Range” button with the total profile duration
- Remove animations from various places for users with prefer-reduced-motion
Privacy/Security
- [pbz] Landing a patch to enforce iframe sandbox for external protocols, (e.g. zoommtg://): Bug 1735746 - Block external protocol handler with sandbox.
This means sandboxed third-parties can no longer open external applications on Desktop and Mobile
- [:mcheang] Welcome Stephanie! She’s here now, so let’s pass the mic to her for an intro!
- James changed one of the observers we use for some search telemetry to a more efficient one, which also seems to have helped speed up some page load tests on Linux
- Various patches have landed to improve search & new tab's support for live language switching, including correctly switching search engines, preferences, new tab and address bar. Thank you to Greg for taking most of those on.
Screenshots
- [sfoster] Thanks contributor Joaquín Serna for fixing Bug 1705745 - Remove authentication code from screenshots
- [sfoster] :niklas patched Bug 1752734 - Full page screenshots are scaled down without warning so we’ll no longer scale down output images when captured on a > 1 pixel density display. If you want fewer pixels, its up to you to downsample.
Community
Lots of Outreachy applicants are showing up! Keep your eyes peeled for Bugzilla comments asking to be assigned to good-first-bugs. Respond ASAP to questions from applicants.
good-first-bug in Bugzilla keyword
[lang=js] or [lang=css] [lang=html] in the whiteboard
Set yourself in the Mentor field
This week I learned
[gijs] Someone I spoke to didn’t know this one neat trick: on treeherder, you can filter jobs by test paths! Click the funnel icon on the top right, then in the dropdown on the left select “test path” and put in a path to a directory or file, and click the “add” button. Treeherder will hide all the jobs not running tests there. Useful when looking at treeherder to see when particular breakage was introduced, or which jobs run which tests. The URL will also reflect this selection.