Highlights
- The team is in the early stages of adding wallpaper support! This is still very preliminary, but you can test what they’ve currently landed on Nightly:
- Set
browser.newtabpage.activity-stream.newtabWallpapers.enabled
to true in about:config - Click on the “gear” icon in the top-right of the new tab page
- Choose a wallpaper! Note that you get different options depending on whether or not you’re using a light or dark theme.
- Set

Set a new look for new tabs!
- Among other things, Firefox 125 is going to ship with support for the Popover Web API
- This should make it easier to create dropdown / popup menus without doing so much management with JavaScript. Here are some demos.
- Niklas added keyboard shortcuts for copying and downloading a screenshot in the Screenshots tool
- The keyboard shortcuts work in the overlay and in the preview window
ctrl/cmd + c
to copy the screenshotctrl/cmd + s
to download/save the screenshot
- The keyboard shortcuts work in the overlay and in the preview window
- Nicolas fixed some performance issues in the Rules view in the Firefox DevTools Inspector tab when there are a lot of rules with pseudo elements. For example, with 1500 pseudo elements, what was taking 3 seconds on a developer machine now only takes ~30ms! These fixes are slated to go out in Firefox 126.
- jesup moved brotli decompression fully off of the main thread. This has shown major wins in the wild – we’re seeing a 10% improvement for FirstContentfulPaint pretty much across the board, and a 10% improvement on LargestContentfulPaint at the 50% percentile, 20% at the 75% percentile and 95%(!) at the 95% percentile. Nice! This improvement is rolling out in Firefox 126.
Friends of the Firefox team
Introductions/Shout-Outs
- Shoutout to Yi Xiong Wong for submitting 16 patches to refactor a bunch of
browser.js
code into a separate file (bug)
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Camille
- Magnus Melin [:mkmelin]
- Meera Murthy
New contributors (🌟 = first patch)
- 🌟 Camille added `text-align: start` to moz-message-bar so it doesn’t inherit alignment from parent and updated moz-toggle to only show active state when hovering
- gravyant improved error message when sending session.new without capabilities
- 🌟 Harshit replaced `validateURL` with `URL.parse()`
Project Updates
Add-ons / Web Extensions
WebExtension APIs
- As part of the ongoing work related to improving cross-browser compatibility for Manifest Version 3 extensions:
- The
options_page
manifest property is supported as an alias ofoptions_page.ui
– Bug 1816960 - A new
webRequestAuthProvider
permission allows extensions to register webRequest.onAuthRequired blocking listeners (in addition to thewebRequestBlocking
permission, which is deprecated on Chrome but still supported by Firefox) – Bug 1820569 commands.onCommand
listeners now receive details of the currently active tab – Bug 1843866- WebExtensions with a granted active tab permission can now call
tabs.captureVisibleTab
API method without any additional host permissions – Bug 1784920 - MessageSender details received by
runtime.onMessage/runtime.onConnect
listeners include a neworigin
property – Bug 1787379
- The
Developer Tools
DevTools
- Artem Manushenkov added a setting to disable the split console (#1731635)
- Yury added support for Wasm exception handling proposal in the Debugger (#1885589)
- Emilio fixed a rendering issue that could happen after exiting Responsive Design Mode (#1888242)
- Alex migrated the last DevTools JSMs to ESMs (#1789981, #1827382, #1888171)
- Nicolas improved performance of the Inspector when modifying a single rule, in a stylesheet with a lot of rules (#1888079, #1888081)
- Nicolas improved the Rules view by showing the color picker button on color functions using CSS variables in their definition (#1718894)
- Bomsy fixed a crash in the netmonitor (#1884571)
- Julian reverted the location of DevTools screenshots on OSX to match where Firefox screenshots are saved (#1845037)
- Nicolas added
@property
rules (enabled on Nightly by default) in the Style Editor sidebar (#1886392)
WebDriver BiDi
- New contributor: :gravyant improved the error message when the session.new command is used without a proper capabilities parameter (#1838152)
- Julian Descottes added support for the
contexts
argument of the network.addIntercept command which allows to restrict a network intercept to a set of top-level browsing contexts (#1882260) - Sasha Borovova updated the
storage.getCookies
command to return third party cookies selectively, based on the value of the network.cookie.cookieBehavior andnetwork.cookie.cookieBehavior.optInPartitioning
preferences (#1879503) - Sasha Borovova removed the
ownership
andsandbox
parameters for thebrowsingContext.locateNodes
command to align with a recent specification update (#1884935) - Sasha Borovova updated the
session.subscribe
andsession.unsubscribe
commands to throw an error when the events or contexts parameters are empty arrays (#1887871) - The team completed the Milestone 10 of the project (bug list), where we implemented 50% of the commands needed to completely support Puppeteer, with 75% of the Puppeteer unit-tests passing with WebDriver BiDi. For Milestone 11 (bug list), our focus remains to implement the remaining commands and features required to fully support Puppeteer (doc).
Lint, Docs and Workflow
- Enabling ESLint rules for requiring JSDocs just got easier.
- The rules are now enabled by default.
- Places where there are currently failures are explicitly disabled in the top-level .eslintrc.js file.
- Please consider enabling these (and the valid-jsdoc ones) on your area, especially if you are using (or will be using) JSDoc document generation for source docs.
- eslint-plugin-mozilla now supports ESLint v9 APIs.
- We still have some work to complete to fully support the new flat configuration.
- We’re now rejecting the JSM based ChromeUtils.import across the tree via ESLint.
Migration Improvements
- Negin fixed an issue where the migration wizard title wasn’t appearing when embedded in about:welcome
- Negin is working on fixing an issue on about:welcome where clicking on the browser/profile selector when the panel is already open doesn’t close the panel.
- For the backup project, we’ve made some pretty big strides!
- We closed out the measurement metabug, and have the measurements being collected by default starting in Firefox 126.
- We’re now staging backups for various resources
- We added a very simple debug tool in Nightly at
chrome://browser/content/backup/debug.html
. You can test staging a backup at runtime with what we have so far using this tool. It may take several minutes depending on how big your databases are, and how intensely you’re using the browser while the backup is underway.
Picture-in-Picture
- Thanks to :joe.scott.webster for submitting a patch that fixes PiP captions issues with several Yahoo sites (bug) and filing a follow-up ticket for AOL (bug).
- Also thanks to Niklas Baumgardner (:niklas) for lending a hand!
Performance
Screenshots (enabled by default in Nightly)
- Niklas made the save full page the primary action button
- Thanks reusable components for moz-button-group!
- Niklas fixed an issue where dragging the scrollbar could drag a region
- Niklas fixed an issue where the window would sometimes scroll when focusing the download or copy button
Search and Navigation
- Firefox Suggest experience
- Daisuke renamed the “Learn More about Firefox Suggest” menuitem to a more direct “Manage Firefox Suggest”. Bug 1889820
- Drew added new telemetry to measure in experiments the potential exposure of simulated results, depending on the typed search string. Bug 1881875
- SERP categorization telemetry
- James, Stephanie and Karandeep have landed many fixes to the storage, logging and measurements.
- Search Config v2
- Enabling new config in Nightly lowered the number of initialization errors for the Search Service
- Mark fixed character-set handling. Bug 1890698
- Mark added a new property covering the device type. Bug 1889910
- Mandy sorted collections by engine identifier and property names, to make the config more easily navigable and diffs nicer and easier to maintain. Bug 1889247
- Mandy updated the documentation. Bug 1889037
- Other fixes
- Marco fixed a bug causing engagement on certain results to be registered both as engagement and abandonment. Bug 1888627
- Dao has fixed alignment of “switch to tab” and “visit” chiclets. Bug 1886761
Storybook/Reusable Components
- Thanks to Camille Davis for fixing these two bugs!
- Thanks to :nordzilla for fixing a race condition in menulist
- Thanks to :kcochrane for adding documentation to moz-page-nav and adding support for external and support links in moz-page-nav
- :hjones fixed the interactive storybook component examples on Windows
- :tgiles fixed the ./mach addstory command
- Work is underway to remove the
window.ensureCustomElements
function now that we can lazy load ES modules. See Bug 1803678 – Enable on-demand/lazy loading for ESModule based reusable components for more details- Big thanks to :arai for the work to make this possible! Bug 1803810 – Support synchronously loading ESMs into given global, in the same way as Services.scriptloader.loadSubScript
No comments yet
Post a comment