Categories: News

New year, new updates to Firefox – These Weeks in Firefox: Issue 130


  • Thanks to Alex Poirot’s work on Bug 1410932, starting from Firefox 110, errors raised from WebExtensions content scripts should be visible in the related tab’s DevTools webconsole
  • Migrators for Opera, Opera GX and Vivaldi have been enabled by default and should hit release for Firefox 110 in February! Special thanks to Nolan Ishii and Evan Liang from CalState LA for their work there.
  • Various improvements to the Picture-in-Picture player window have landed – see the Picture-in-Picture section below for details.
    • Many of these improvements are currently gated behind a pref. Set `media.videocontrols.picture-in-picture.improved-video-controls.enabled` to true to check them out! You can file bugs here if you find any.
  • Firefox Profiler updates
    • Implement resizing columns in the TreeView (Merge PR #4204). This works in the Call Tree and the Marker Table that both use this component. Thanks Johannes Bechberger!
    • Add carbon metrics information to Firefox profiler (Merge PR #4372). Thanks Chris and Fershad!
  • Mark Banner fixed an issue with the default search engine being reset when the user upgrades to 108 if the profile was previously copied from somewhere else.

Friends of the Firefox team


  • [mconley] Welcome back mtigley!
  • [kpatenio] Welcome bnasar!

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

WebExtension APIs
  • Thanks to Gregory Pappas’ contributions starting from Firefox 110:
    • tabs.getZoomSettings will properly support the “defaultZoomFactor” property (instead of always returning “1” as before) – Bug 1772166
    • a “close” action icon is now being shown next to the omnibox API’s deletable suggestions – Bug 1478095 (deletable suggestions have been also introduced recently, in Firefox 109 by Bug 1478095)
  • As part of the ongoing work on the declarativeNetRequest API: initial support for the Dynamic Ruleset has been introduced in Nightly 110 – Bug 1745764

Developer Tools

  • :jacksonwhale (new contributor) fixed a small CSS issue in RDM’s device dialog (bug)
  • :Oriol improved the way we display quotes to require less “escaping” (bug)
  • :Gijs fixed all the imports of sys.mjs modules in DevTools to use the proper names and APIs (bug)
  • :barret cleaned up a remaining usage of osfile.jsm in DevTools (bug)
  • Mark (:standard8) replaced all Cu.reportError calls with console.error (bug)
  • :arai fixed eager evaluation for expressions which can safely be considered as non-effectful (JSOp::InitAliasedLexical with hops == 0) (bug)
  • :ochameau removed the preference to switch back to the legacy Browser Toolbox (bug) and also removed the Browser Content Toolbox (bug).
    • The regular Browser Toolbox (and Browser Console) should now cover all your needs to debug the parent process and content processes (ask us if you have any trouble migrating from our Browser Content Toolbox workflows!).
    • screenshot
  • :ochameau updated the version of the source-map library we use in-tree, which came with some performance improvements (bug)
WebDriver BiDi
  • :jdescottes implemented two events of the WebDriver BiDi network module: network.beforeRequestSent and network.responseStarted (bug and bug)
  • :whimboo added general support for serialization of platform objects (bug)
  • :whimboo migrated marionette’s element cache from the parent process to the content process which is the first step to be able to share element references between WebDriver BiDi and Classic (bug)
  • :sasha fixed the event subscription logic to allow consumers to subscribe for events on any context (bug)

ESMification status

Lint, Docs and Workflow

Migration Improvements (CalState LA Project)

PDFs & Printing


Performance Tools (aka Firefox Profiler)

  • Various small UI changes
    • The initial selection and tree expansion in call trees is now better:
      • Procure a selection also when the components update (for example when changing threads) (PR #4382). Previously no selection was ever provided after the first load.
      • Skip idle nodes when procuring an initial selection in the call tree (PR #4383). Previously we would very often select an idle node, because that’s where the most samples were captured. Indeed threads are usually very idle, but we’re interested in the moments when they’re not.
    • Do not automatically hide tracks when comparing profiles (Merge PR #4384). Previously it was common that the computed diffing track was hidden by the auto-hide algorithm.
    • Handle copy gesture for flame graph and stack chart (PR #4392). Thanks Krishna Ravishankar!
  • Improved Chrome and Linux perf importers
    • Chrome importer: Add 1 to line and column numbers of cpu profile (Merge PR #4403). Thanks Khairul Azhar Kasmiran!
    • linux perf: fix parsing frames with whitespaces in the path (PR #4410). Thanks Joel Höner!
  • Don’t miss Nazim’s lightning talk about improvements in performance regression alerts on Thursday! (please remove for the blog post)
  • Text only
    • Add some more content to the home page, about Android profiling as well as opening files from 3rd party tools (PR #4360)
    • Prevent ctrl+wheel events in timeline (PR #4350)
    • Make more explicit the fact that MarkerPayload is nullable (PR #4368)
    • Sanitize URL and file-path properties in markers (Merge PR #4369). We didn’t use these properties before so this wasn’t a problem for current payloads, but future patches in Firefox want to use them, so it’s important to remove this possibly private data.
    • Unselect and scroll to top when clicking outside of the activity graph (Merge PR #4375)
    • Do not show a tooltip when the stack index of the hovered sample is null, instead of crashing (PR #4376)
    • Do not trigger transforms when searching in the stack chart (PR #4387)
    • Add development note on Flow (PR #4391). Thanks Khairul Azhar Kasmiran!
    • Scroll the network chart at mount time if there’s a selected item (PR #4385)
    • Add VSCode settings.json to bypass flow-bin `SHASUM256.txt.sign` check (PR #4393). Thanks Khairul Azhar Kasmiran!
    • Do not scroll the various views as a result of a pointer click (PR #4386)
    • Do not throw an error when browsertime provides null timestamps incorrectly (Merge PR #4399)
    • Make cause.time optional (PR #4408)
    • Using mouseTimePosition in Selection.js and added tests for that (Merge PR #3000). This is the second step of a work to show a vertical line indicating the time position from the mouse cursor in all chronological panels at the same time. Thanks Hasna Hena Mow!

Search and Navigation

Storybook / Reusable components

  • Our Storybook has been updated
    • mconley fixed the styling for the (in-progress) Migration Wizard component Bug 1806128
    • tgiles added the MozSupportLink, for easier SUMO page linking Bug 1770447
      • <a is=”moz-support-link” support-page=”my-feature”></a>
    • tgiles added an Accessibility panel in Storybook which runs some accessibility tests against components Bug 1804927
  • mstriemer extracted the panel-list element (menu) from about:addons
    • This isn’t a fully-fledged “Reusable Component” but it would be better than writing yet another menu 🙂 Bug 1765635
  • hjones updated the moz-toggle element to now be backed by a button, rather than a checkbox. Toggles/switches should not be “form-associated” and should instead perform an immediate action, similar to a button Bug 1804771

No comments yet

Post a comment

Leave a Reply

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