- The WebExtension team has made changes to the add-on install flow: in Firefox >= 100 user activation/interaction is now required to successfully trigger the add-on installation flow – Bug 1759737
- The WebExtension team has also added support for creating muted tabs using tabs.create – Bug 1372100
- Thanks to kernp25 for contributing this great enhancement!
- Niklas made it so that the screenshots feature no longer scales down output images when captured on a > 1 pixel density display. If you want fewer pixels, it’s up to you to downsample!
- We’ve made it easier to control whether or not content should prefer light or dark mode in about:preferences. See this mailing list post for more details.
- Improve screenshot marker tooltips (#3957)
Now screenshot marker tooltips include image, window size, and description fields.
Friends of the Firefox team
- 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!
Volunteers that fixed more than one bug
- Claudia Batista [:claubatista]
- Masatoshi Kimura [:emk]
- Mathew Hodson
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).
- k88hudson, jhirsch, kpatenio are this months Firefox / Toolkit::General triagers!
Add-ons / Web Extensions
- 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
- 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
- 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
- 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.
- 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.
- 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
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:
- 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.
- 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)
New redesigned markers in the marker chart panel
- 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)
“Full Range” button with the total profile duration
- Remove animations from various places for users with prefer-reduced-motion
- 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
Search and Navigation
- 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.
- Thanks contributor Joaquín Serna for fixing Bug 1705745 – Remove authentication code from screenshots
- 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.
- Remember to set `good-first-bug` in the Bugzilla keyword
- And then add [lang=js], [lang=css], and/or [lang=html] in the whiteboard to indicate what skills will be used
- Finally, set yourself in the Mentor field