Firefox/Meeting/06-Apr-2021
Today’s meeting leader is: mstriemer
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons / Web Extensions
- 3.2 Addon Manager & about:addons
- 3.3 Developer Tools
- 3.4 Fission
- 3.5 Form Autofill
- 3.6 Installer & Updater
- 3.7 Lint
- 3.8 Messaging System
- 3.9 New Tab Page
- 3.10 Nimbus
- 3.11 NodeJS
- 3.12 Password Manager
- 3.13 PDFs & Printing
- 3.14 Performance
- 3.15 Performance Tools
- 3.16 Picture-in-Picture
- 3.17 Privacy/Security
- 3.18 Search and Navigation
- 3.19 Screenshots
- 3.20
- 4 This week I learned
General Topics / Roundtable
Friends of the Firefox team
For contributions made from March 23, 2021 to April 6, 2021, inclusive.
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
Fixed more than one bug
- Anshul Sahai
- Claudia Batista [:claubatista]
- Falguni Islam
- Itiel
- Kajal Sah
- Michelle Goossens
- Tim Nguyen :ntim
New contributors (🌟 = first patch)
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
Starting from Firefox 89, Extensions content scripts will be able to use dynamic import to load JS modules from its own moz-extension urls (Bug 1536094). Thanks to evilpie for working on fixing this long standing enhancement request!
NOTE: the docs have not been updated yet, refer to the new test cases landed as part of Bug 1536094 to get an idea of how to use it in extension content scripts.
- Changes to devtools API internals related to the ongoing DevTools Fission work (Bug 1699493). Thanks to Alex Poirot for taking care of the extension APIs side of this fission-related refactoring.
- Photon related WebExtensions::Frontend work from Gijs and :prathiksha to WebExtensions context menu items on MacOS (Bug 1699828) and install confirmation panel (Bug 1701046, Bug 1701048, Bug 1701062)
- Allowed sandboxed extension sub frames to load their own resources (Bug 1700762)
Fixed a non critical regression related to the error message for a browser.runtime.sendMessage call to the extension id for an extension that isn’t installed (Bug 1643176):
NOTE: non-critical because the regression was hiding the expected error message behind a generic “An unexpected error occurred” message, but under conditions that were already expected to return a rejected promise
Small fission-related fix related to a errors logged while navigating to a url loaded in different process a content process iframe attached by a content script (Bug 1697774)
NOTE: the issue wasn’t actually introducing any breakage, but that is an expected scenario in fission and it should be handled gracefully to avoid spamming the logs
WebExtension APIs
webNavigation API: part of the webNavigation API internals have been rewritten in C++ as part of the Fission related changes to the WebExtensions framework (Bug 1581859). Thanks to Kris Maglione for his work on this fission-related refactoring
NOTE: let us know if you do notice regressions in behavior that may be related to the webNavigation API (e.g. D110173, attached to Bug 1594921, it has been fixed a regression related to webNavigation events related to the the initial about:blank document emitted more often than the previous “frame scripts”-based implementation)
- tabs API: Fixed a bug that was turning hidden tab’s URLs into “about:blank” when an hidden tab is moved between windows while an extension has registered a tabs.onUpdated listener that uses a url-based events filter (Bug 1695346).
Addon Manager & about:addons
Fixed regression related to the about:addons extensions options page modals (Bug 1702059)
NOTE: In Firefox 89 WebExtensions options_ui pages will keep using the previous tab modal implementation, which is helpful in the short run to allow our Photon tab prompts restyling to ride the train as is, in a followup we will have to do some more work to look into porting these modals to the new implementation
- Bug 1689240: Last bits of a set of simplifications and internal refactoring for the about:addons page initially contributed by ntim (plus some more tweaks we did to finalize and land it). Thanks to ntim for getting this started!
Developer Tools
Fission
Form Autofill
Installer & Updater
Coming down to the home stretch of Background Update Agent (BUA)!
Nick [:nalexander] landed the background update task implementation (Bug 1689519) and scheduling (Bug 1687777), (behind prefs, not quite ready for testing yet). Also related test updates and fixes: Bug 1700236 - xpcshell tests exercising `BackgroundUpdate.jsm` preconditions, Bug 1701502 - unreferenced files when Gecko 89 merges to Beta on 2021-04-19
Adam [:agashlin] landed a few fixes for multi-instance locks (Bug 1696772 - keep working after first close on Windows, Bug 1697955 - resolve paths to normalize case, Bug 1700870 - encode lock path correctly), and shored up some background update cases: Bug 1698169 - Ensure exclusive read access to the callback on Windows, Bug 1696276 - prevent UAC prompt or UI from background task (followed up with a fix from Nick in Bug 1700987).
Rachel [:rachel] completed the BUA tracking dashboard (Bug 1684961), for tracking how quickly updates are applied after release.
Lint
Messaging System
- Launched “1-Click Pin During Onboarding” experiment to 100% of new 87 Windows 1903+ users via Nimbus Preview -> Live (avoiding a copy/paste error from stage)
- Support about:welcome proton templates and proton style screens
New Tab Page
- No updates
Nimbus
NodeJS
Password Manager
- Import CSV held to nightly while we address some performance issues
- First parts of Related Realms feature landed
- Patches in review to improve username field identification for login autofill
PDFs & Printing
- No update
Performance
- Doug Thayer fixed a bug where skeleton UI was breaking scroll inertia on Windows.
- Doug also tracked down UB issue originating from our usage of LZ4 from startup cache.
- Emma Malysz is continuing work on OS.File bugs.
- Florian Quèze is fixing tests and cleaning up old code.
- Mike Conley has enabled processes priority manager in Fission so the Fission team can use it for out of process subframes.
Performance Tools
- Enabled the new profiler recording panel in dev edition (thanks nicolas from devtools team).
- Added Android device information inside the profile data and started to show it in the profile meta panel.
405x330px
You can see that information under the “platform” section inside metadata panel
- Fixed the network markers with service workers. Previously it was common to use “unfinished” markers. More fixes are coming.
New network markers that belong to service worker
- Removed many MOZ_GECKO_PROFILER ifdefs. Less places to potentially break on Tier-3 platform builds.
- You can now import Android trace format to Firefox Profiler analysis UI. Just drag and drop the .trace file into firefox.profiler.com, it will import and open it automatically.
Added new markers:
Test markers (in TestUtils.jsm and BrowserTestUtils.jsm)
“CSS animation”
“CSS transition”
Picture-in-Picture
Privacy/Security
- Searching for strings like “seti@home” or “folding@home” should now search by default, unless “home” is a known local host - Bug 1693503
- Fixed flickering of some specific results in the Address Bar - Bug 1699211, Bug 1699227
- New tab search field hand-off to the Address Bar now uses the default Address Bar empty search mode instead of entering Search Mode for the default engine - Bug 1616700
- The Search Service now exposes an “isGeneralPurposeEngine” property on search engines, that identifies engines searching the Web, rather than specific resources or products. This may be extended in the future to provide some kind of categorization of engines. - Bug 1697477
- Re-enabling a WebExtension engine should re-prompt the user if it wants to be set as default search engine - Bug 1646338
- Proton work, moving behind the main pref this week.
Screenshots
- [readonly]
- Kajal and Falguni have been working on enabling eslint on the screenshots directory
- Kajal landed a patch to use more exact timestamps in screenshots filenames