Hi Firefox Developers,
Here's a summary of the key updates and achievements from our Desktop Engineering meeting on June 24, 2025. A big thank you to everyone for their hard work and contributions!
--
Some Picture-in-Picture improvements have landed recently from some volunteer contributors, and should be going out in Firefox 141 on July 22nd:
Thanks to new contributor nrcrast for adding a new PiP wrapper for Peacock, SkyShowtime and Showmax, overall improving video playback and supporting PiP captions for those sites.
Thanks to new contributor gaastorgano for resolving an issue with the PiP window failing to function when a video is still buffering
Carlos contributed a new i18n.getPreferredSystemLanguages WebExtensions API method (an addition to the i18n discussed in the W3C WebExtensions Community Group and now implemented by Safari and Firefox)
Serah Nderi added the ability to print stacktrace for logpoints
Spencer introduced a WindowManager.supportsWindows() helper to our implementation of WebDriver BiDi and Marionette to make it easier to detect whether the application supports multiple windows.
Gabriel Astorgano
Gregory Pappas [:gregp]
Masatoshi Kimura [:emk]
Gabriel Astorgano:
Bug 1828299 — [Picture-in-Picture] Popping out the video when it's buffering causes the Play/Pause button to get stuck [display] as the Play button + this button doesn't work
Bug 1959029 — Sidebar icon does not reflect sidebar position (left/right)
Jason Jones: Bug 1959616 — Move browser-window UI functionality for session restore from browser.js and BrowserGlue.sys.mjs to a session restore module
🌟Nick Crast: Bug 1965895 — Add Peacock, SkyShowtime, Showmax, and Now TV to Picture-In-Picture video wrappers
Fixed attention dot on pinned extension not updated in non-active windows - Bug 1967564
Fixed data collection permissions removed from the manifest between add-on updates not being revoked from the set of granted permissions (fixed in Nightly 141 and uplifted to Beta 140) - Bug 1971414
Set a fixed uuid in the moz-extension url for the webcompat built-in add-on, as a short term mitigation to prevent webcompat moz-extensions urls to be used for user fingerprinting - Bug 1717672
Fixed a regression introduced in Firefox 139, which prevented browser.notifications.create non-system notifications from showing icons set as data and/or blob urls (fixed in Nightly 141, uplift requested to ESR 140) - Bug 1970075
Emilio investigated and fixed a recent regression related to the browserSettings.useDocumentFonts, which was preventing the browser settings from affecting the webpages until the next page reload (regressed in 138, fixed in nightly 142 and uplift requested for ESR 140 and Beta 141) - Bug 1972971
Christina introduced support for filtering by cookieStoreId the tabs.onUpdated events - Bug 1960011
Alex Jakobi [:ajakobi] added Dynamic toolbar in RDM, under the devtools.responsive.dynamicToolbar.enabled pref (Bug 1970616, Bug 1970617, Bug 1970618)
James Teh [:Jamie] made it possible to pick menu items in XUL menus with the accessibility inspector picker (Bug 1972759)
Holger Benl [:hbenl] fixed the color picker in RDM when touch simulation is enabled (Bug 1932143) and made sure the underlying screenshot we take for the picker is updated when the page is resized (Bug 1295057)
Nicolas Chevobbe [:nchevobbe] invalid cookies error message in the storage panel (Bug 1967707)
Hubert Boma Manilla (:bomsy) fixed an issue in the Debugger when switching sources while the file search panel was open (Bug 1971094)
Hubert Boma Manilla (:bomsy) also fixed inline previews and preview popup for expressions which aren't in a function scope (Bug 1957885)
Henrik updated our in-tree Puppeteer to version 24.10.0 and upgraded Node.js to 22.16.0 across all test jobs to enable ESM support by default.
Ben Chatterton improved the error message shown when attempting to permanently install an unpacked, unsigned web extension.
To address unnecessary 200ms delays on each click; even when no navigation occurred; Henrik lowered the Selenium click-and-wait timeout for possible navigations to 50ms for backward compatibility. The timeout is now also configurable and can be completely disabled by users through a preference.
:gerard-majax added a linter to remind developers to use proper XDG handling rather than .mozilla directory references.
Standard8 fixed the rejected-words and codespell linters to properly check .jsx files (a typo meant they were checking .jxs files).
Standard8 also tidied up some of the top-level ESLint configuration files following the v9 upgrade.
Opera has changed where and how they store profile data in a recent release, which has broken importing from that browser. We’re hoping to get this sorted during the 142 cycle.
Thanks to the WebExtensions team, we’ve got line-of-sight for performing train-hopping to the release channel starting with Firefox 142. The plan is to use Nimbus / Experimenter to distribute the newtab XPI, rather than Balrog.
See this bug and what it blocks for more details
We’ve rolled out a change that removes story descriptions, to streamline the contents on the page!
The team has landed some support for more variations of showing “trending searches” on the newtab page, which we’ll be experimenting with soon.
Nina has been on a tear, cleaning up a bunch of Pocket-related code in the newtab codebase. Most recently, she removed a bunch of telemetry support for Pocket events.
User-facing plans for Firefox 142:
Improved avatar and theme customization
Possibly roll out to a slightly larger audience (from 0.5% to a few percent, TBD)
James fixed an issue where search terms might persist in the address bar.
Moritz enabled the add search engine context menu option for POST forms with role=search (previously it was disabled on all POST forms).
Yazan fixed an issue where unit conversions may be incorrect when dealing with long numbers.
Bug 1962151 - Implement the listbox type of moz-visual-picker
This version of moz-visual-picker will not automatically select the item when it is focused with the arrow keys, unlike a radio input (selection does not follow focus)
Bug 1956853 - Ensure grouped box items have the correct role in assistive technology
This variant of moz-box-group treats its children as a single focus target and provides navigation with the arrow keys
A basic element for displaying promotional messages with future support for illustrations and actions. This component is still in development, expect more updates in the future.
General triage
Firefox 140 goes out today! This one is pretty packed.
The 140 ESR is also going out soon.
[standard8] It is possible to use top-level await in modules but use static imports for the files (example part A, example part B)
[mconley] mozfile.json is sometimes preferable to the json module for Python code. See details here.
This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing
Also note that we’re really just synthesising and humanising the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.
Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.
Keep on rockin' the free web,