The CSS rule pane from the Inspector DevTool is shown, with a "grid-template" rule selected. "subgrid" is shown as an item in an autocomplete panel.
Categories: News

Surf with more Perf(ormance) – These Weeks in Firefox: Issue 133


  • The DevTools team has improved Pretty Printing performance in the Debugger by ~30%! This improvement is available in Beta and currently slated to go out in Firefox 111.
  • Mak has changed the frecency (the URL bar ranking algorithm) recalculation to happen on idle, rather than immediately when bookmarks are added/removed, or when visits are removed. This allows for more performant recalculation during large operations!
  • Daisuke has completed the conversion of bookmarks from the old Places notifications to new ones, and has finally removed the nsINavBookmarksObserver interface. The new notifications, originally designed with the help of Doug Thayer from the Perf Team, are much more performant and detailed, and will improve the performance of history and bookmarks consumers.
  • Our WebExtensions team has made it easier for extension authors to migrate from Manifest V2 to Manifest V3:
    • Bug 1811443 (landed in Firefox 111) introduced an optional “background.type” manifest property that can be set to either “classic” or “module”. When set to “module”, all the background scripts are loaded as ES Modules in the auto-generated background and event pages
  • All of the Colorways are now available as themes at If there was one you never got to try, now’s your chance!

Friends of the Firefox team

Resolved bugs (excluding employees)

Volunteers that fixed more than one bug

  • CanadaHonk [:CanadaHonk]
  • Itiel
  • portiawuu
  • Razvan Cojocaru
  • steven w

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • Colorway built-in themes migration:
    • A brief mention about the Colorway themes migrating to AMO is in the Firefox 110 release notes
    • Colorway closet section in about:addons themes list view has been disabled along with the last active colorways collection reaching its expire date – Bug 1801044
    • Enabling Colorway built-in themes to be migrated to themes hosted on (gated by an about:config pref, disabled by default) – Bug 1806701, Bug 1810231
    • QA verifications on the Colorway migration has been completed and is is now enabled by default and riding the Firefox 111 release train (Bug 1808589)
WebExtensions Framework
  • As part of fixing a regression (originally introduced in Firefox 96 by Bug 1675456) in Bug 1792559, we landed an initial (partial) fix for the issue with extension exceptions raised from a WebExtensions API event listener being missing from the add-on debugging toolbox (which technically is logged in the Browser Console when the multiprocess mode is enabled, but logged without the expected source url and line number from the extension code raising the exception in the error stack trace)
    • Bug 1792559 is a partial fix because, without further changes, we can’t include the full error stack from the original exception (in particular when the extension code is throwing “undefined” or an object that is not an instance of “Error”). Bug 1810582 is tracking further follow-ups to achieve a more comprehensive fix.
  • Bug 1808459 made sure that if the “extensions.getAddons.showPane” pref is set to “false” then clicking the extensions button when there is no extension installed is going to open the about:addons “extensions list” view instead of opening the about:addons “recommendation” view (which is disabled by the pref).
    • Thanks to Malte Jürgens for contributing the fix!
  • Bug 1795213 fixed a Fluent error logged when the add-on install popup was being disabled (as a side note: besides the fluent error being logged, there wasn’t any issue from a user perspective)
WebExtension APIs
  • As part of the ongoing work on the declarativeNetRequest API:
    • Bug 1811947 introduced a permission warning for the “declarativeNetRequestFeedback” permission
    • Bug 1816319 exposed the API namespace properties for the DYNAMIC_RULESET_ID and SESSION_RULESET_ID constants

Developer Tools

  • Christian Sonne landed a patch to display subgrid in the auto-complete suggestions for grid-template-* and grid properties in the Rules view (bug)
    • The CSS rule pane from the Inspector DevTool is shown, with a "grid-template" rule selected. "subgrid" is shown as an item in an autocomplete panel.

      CSS Subgrid is the bees knees, and now it’s easier to use in the Rules pane of the Inspector.

  • Emilio fixed an issue that would leave the page in a weird state when closing Responsive Design Mode (bug)
  • Arai fixed eager evaluation so it does not assume getters are effect-free anymore (bug)
  • Nicolas added support for “Change array by copy” methods in eager evaluation (bug)
  • Julian fixed the “Disable javascript” feature (bug)
  • Alex made it possible (again) to select or click html response in the Network panel (bug)
  • Hubert is working on the Debugger “Search in all files” feature:
    • We now show results from minified and pretty-printed tabs (bug), as well as matches from node_modules folder  (bug)
    • We don’t search within files that are blackboxed anymore (bug)
    • A side-by-side comparison of the DevTools Debugger search result pane for Firefox 110 and 111. In the former, a search query is showing no results. In the latter, several results are appearing because they match strings contained within the source files.

      This should make it much easier to find what you’re looking for!


WebDriver BiDi
  • Sasha added support for two new commands script.addPreloadScript (bug) and script.removePreloadScript (bug) to schedule scripts guaranteed to run before any other content script (used by test frameworks to preload helpers for instance).
  • Sasha fixed a bug which prevented us from using preload scripts and events simultaneously (bug)
  • Henrik released a new version of geckodriver v0.32.2 which fixes a semver issue introduced with the previous version (bug).

ESMification status

Migration Improvements (CalState LA Project)


Performance Tools (aka Firefox Profiler)

  • Improved timer markers make it easier to see what timers are running when and at which frequency. Add the Timer thread to the thread filter to see them. Example profile
    • The marker chart from the Firefox Profiler UI is shown, with a large series of timers being displayed in the char. The markers show the timer duration as text on top of the marker.

      That’s a lot of timers! This should help us hunt down timers that don’t need to happen so frequently, which will save on CPU time.

Search and Navigation

Storybook / Reusable components

No comments yet

Post a comment

Leave a Reply

Your email address will not be published. Required fields are marked *