- 1 Friends of the Firefox team
- 2 Project Updates
- 2.1 Add-ons / Web Extensions
- 2.2 WebExtensions Framework
- 2.3 WebExtension APIs
- 2.4 Developer Tools
- 2.5 Toolbox
- 2.6 WebDriver BiDi
- 2.7 Downloads Panel
- 2.8 Fluent
- 2.9 Form Autofill
- 2.10 ESMification status
- 2.11 Lint, Docs and Workflow
- 2.12 macOS Spotlight
- 2.13 New Tab Page
- 2.14 Nimbus / Experiments
- 2.15 NodeJS
- 2.16 Password Manager
- 2.17 PDFs & Printing
- 2.18 Picture-in-Picture
- 2.19 Performance
- 2.20 Performance Tools (aka Firefox Profiler)
- 2.21 Privacy/Security
- 2.22 Search and Navigation
- 2.23 Screenshots
- 2.24 Storybook / Reusable components
- 2.25 Community
- 2.26 This week I learned
Friends of the Firefox team
Volunteers that fixed more than one bug
- Ramya Praneetha
- Pat McGhen
- Luke Swiderski
- Max Smolens
- Colin Cazabet
- Jonas Jenwald
New contributors (🌟 = first patch)
- 🌟 harshraitth2 changed MessageHandler classes to use private class fields
- Luke Swiderski added composition event-listener breakpoints
- Max Smolens updated default search engine telemetry when changing separatePrivateDefault preferences
- 🌟 Pat McGhen added check for Android devices, allow for version number without sub version
- Ramya Praneetha added option to print current page
- mconley, jhirsch, rpl and kcochrane are this month’s triagers!
Add-ons / Web Extensions
As part of the ongoing ManifestVersion 3 (MV3) work:
- MV3 extensions are now able to configure through the web_accessible_resources manifest.json field which extension page should be accessible to other extensions
- tabs.create and windows.create will still allow to open extension pages related to other installed extensions even if not explicitly marked as web_accessible_resources
- Starting from Firefox 106, popups related WebExtensions browserAction widgets moved inside the overflow panel will open in their own separate panel, instead of being opened inside the overflow panel with a fixed width (Bug 1783972)
- Starting from Firefox 105 hidden system addons are not allowed to include a browser_action or page_action (Bug 1781998, Bug 1784254)
- Starting from Firefox 105 the new scripting API supports dynamically registered content scripts that are persisted across sessions (Bug 1751436)
- Thanks to Raphaël Ferrand for adding a new CSS warning, displayed when using width/height on ruby elements (bug)
- Thanks to Luke Swiderski for addressing an annoying UX issue in the debugger. The breakpoints panel no longer expands automatically when navigating the call stack (bug)
- Luke also added Composition Event support to our Event Listener Breakpoints (bug), under the "Keyboard" category. They are used when you indirectly enter text with an Input method editor (IME). eg. Chinese characters on a latin keyboard.
- Thanks to pmcghen, the Responsive Design Mode's device selector correctly shows the Operating System for all devices. We used to incorrectly classify some Android versions as Linux, iPadOS was not recognized… They should all be accurate now.
Closing out our Browser Toolbox project, the Multiprocess Browser Toolbox officially replaces the Browser Toolbox on all channels starting with Firefox 105 (bug). Even though this work started almost three years ago, it was only enabled on Nightly and local builds for performance reasons (preference browsertoolbox.fission).
Nicolas added a toolbar to switch between multiprocess and parent-process modes (bug). The "multiprocess" mode works exactly in the same way as the default Multiprocess Browser Toolbox, whereas the "parent-process" mode emulates the "old" Browser Toolbox, and should be faster.
Alex added support for the ctrl/cmd+alt+R shortcut in the Browser Toolbox (bug), which will now behave the same way as the "Restart(Developer)" action available on local builds. And ctrl/cmd + R will no longer blank the Browser.
- Nicolas fixed a nasty performance regression when trying to open long minified files in the debugger (bug).
- Bomsy fixed a bug on the Edit and Resend panel of the network monitor, to correctly update the content length of the request if needed (bug).
- Sasha added support for the "sandbox" argument to the script "evaluate" and "callFunction" commands (bug). As the name suggests this allows you to execute scripts in a sandbox, and limit the side-effects of the test on the actual page.
- Henrik fixed an issue on environments using IPv6 by default, which were unable to connect to RemoteAgent on "localhost" (bug).
- ESMification is underway! We have 120 .sys.mjs files and 1275 jsm files, ~8.6%
- Search & Places .sys.mjs conversions have just shipped in 104!
- The previously mentioned issues have been fixed (test failure in preference performance test, new tab code not being able to cope with defineESModuleGetters)
- Please do consider migrating some files across, filing good-first-bugs for them, or get it into the planning for the next sprint. Remember, we’re responsible for doing this - the SpiderMonkey team has given us everything we need, but they’re expecting us to do the migrations.
- Also when adding new system module files, please use the new system rather than old jsm files.
- There’s an #esmification Matrix room for questions and coordination
- Check out this walkthrough to see how to do one of these conversions.
Lint, Docs and Workflow
- Arai added an ESLint rule to avoid multiple calls to defineESModuleGetters where the result is being defined on the same object.
The ESLint definitions of globals for xpcshell-tests has been reworked to avoid defining the "browser" environment.
- :flod added checks to the fluent linter to check for hard-coded brand names.
- no-unused-vars is at the global scope for xpcshell-tests is now enabled for toolkit, browser, security/manager and netwerk
- :anba landed a set of bugs to enable prettier and no-undef for the JS self-hosted code (js/src/builtin)
- The in-tree node versions (12, 16) have been updated to the latest versions for the branches they are on. This should have been automatically updated via bootstrap which runs, if necessary, as part of the build.
- Code under dom/ now has all our standard ESLint rules enabled on production code.
New Tab Page
- :serg added support for moz-proxy to LoginHelper.getLoginOrigin
- :serg fixed an issue where the "View saved logins" footer shows a piece of Code before the "Import your login from Google Chrome" text is displayed
- :janikaneuberger fixed an issue where we would not correctly mark readonly or disabled password fields as login manager fields
PDFs & Printing
- [sfoster] Thanks to contributor ramya for their work to land Bug 1697226 - Please add an option to print the current page only to the new printing UI. This was a much-requested feature that made 105’s release notes.
- Janvi01 added new hover states to the PiP window controls!
Janvi01 also implemented a new PiP player control button for toggling fullscreen mode
Currently set behind a pref `media.videocontrols.picture-in-picture.improved-video-controls.enabled`
- mconley has started work on getting WindowsJumpLists.jsm completely off of the main thread, since that’s still being reported as one of the top hangs for Nightly users
Performance Tools (aka Firefox Profiler)
- [mcheang] Bug 1779094 - Refactored the way SearchSettings.sys.mjs handles the user’s settings file that stores search engine information.
[daisuke] fixed various papercut bugs in Address Bar results menu, Search Bar, Search Icons.
[dharvey] Updated features on Quick Action
browser.urlbar.quickactions.enabled = true
browser.urlbar.shortcuts.quickactions = true
Quick action is in different languages. Bug 1778184
Screenshot mode is enhanced. Bug 1781049
Whole phrase matches for quick actions. Bug 1781112
Onboarding link Bug 1779219
Option to disable quick actions Bug 1783452
Screenshot link: https://bug1783616.bmoattachments.org/attachment.cgi?id=9288770
- Various work is being done by [Standard8] to move search and newtab code to ES modules. Bug 1779984.
- Updated Qwant Search Engine Icon with a new design.Bug 1784877
- [jteow] made an enhancement for the connection error page by enhancing the phrasing. Bug 780413
- [Stephanie] fixed Bug 1770818 so that the address bar is now focused when opening a new window with a custom URL configured.