Categories: News

More improvements than can fit into this title – These Weeks in Firefox: Issue 127

Highlights

  • Screenshots is getting an overhaul for Nightly! Check it out by flipping the `screenshots.browser.component.enabled` pref. https://blog.nightly.mozilla.org/files/2022/11/headlines127_0.png

  • We’re starting to assemble and line up ideas for next steps for Screenshots. If you are a heavy screenshots-taker – or think you would be if only Screenshots did x – please tell us about x. We’re in #fx-screenshots in matrix, or you can post to connect.mozilla.org or file a bug in bugzilla.
  • Thanks to Nolan Ishii from CalState LA for adding new migrators for Opera and for Vivaldi!
    • You can test these by setting `browser.migrate.opera.enabled` and `browser.migrate.vivaldi.enabled` to true, and then opening the importer dialog from (Alt-f > Import from another browser on Windows, File > Import from another browser on macOS and Linux)
    • Note that you’ll need Opera or Vivaldi installed in order for them to appear in the migrator dialog.
    • Notice any bugs? You can file them here.
  • HBO Max and TubiTV captions support have been fixed for Picture-in-Picture. Thanks to Niklas (1,2) and kpatenio (1) for their patches.
  • The Performance Tools team put together a great blog post summarising their progress in Q3
  • A huge thank you to Francis (:mckenfra) who landed a patch that speeds up deleting from history by 7,000% in some cases!
    • On Francis’ machine, deleting 2000 entries went from taking about 73 seconds down to roughly 1 second! Wow!

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Thanks Johannes Bechberger for your continued work on the Firefox Profiler.
  • ben.freist
  • Itiel
  • Nolan Ishii
  • Rob Lemley [:rjl]
  • Zach Harris

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

WebExtensions Framework
  • As part of the work related to “Origin Controls “ and “Unified Extensions UI”:
  • “applications” manifest key is fully deprecated (and not supported anymore) in Manifest Version 3 extensions, superseded by the existing “browser_specific_settings” manifest.json property – Bug 1797050
    • Please do not use the “applications” key in manifest.json files anymore
    • Bug 1797777 – Tracking meta for updating all non-test extensions in tree to use “browser_specific_settings” in their manifest
  • In Firefox >= 108, a simplified extension version string format is now recommended (warnings only but AMO/addons-linter will enforce this new format for Manifest Version 3 extensions) – Bug 1793925
  • Fixed a regression on calling “confirm” from extension action popups (regression originally introduced in Firefox 107 from Bug 1791972, fix landed Firefox 108 and uplifted to 107) – Bug 1796972
  • Investigated and identified underlying issues of the regression reported on LastPass in Firefox Nightly 108 Bug 1791415 – LastPass extension not working
    • Turned out that the regression was triggered by the addition of the implementation for the JS Array grouping proposal (Bug 1739648)
    • Regression currently fixed by disabling the Array grouping proposal by default in Nightly (Bug 1799619)
WebExtension APIs
  • Lifting user activation requirement on the action.openPopup API method (to align it with Chromium and Safari per agreement between browser vendors part of the W3C WebExtensions Community Group) – Bug 1755763
    • Currently limited on Nightly builds (locked behind the “extensions.openPopupWithoutUserGesture.enabled” about:config pref)
    • Bug 1799344 is tracking removing the pref and enabling the new behavior on all channels.
  • Fixed an issue with browser.runtime.onStartup not being fired on event pages after the event page got suspended once – Bug 1796586
  • As part of the ongoing work on the declarativeNetRequest API, Bug 1745758 has introduced an initial version of the declarativeNetRequest rule evaluation logic (Bug 1745761 is tracking hooking up the rule evaluation logic to the network)

Developer Tools

DevTools
  • Big thanks go out to:
    • :luke.swiderski, DOM mutation breakpoints are correctly synchronised between Inspector and Debugger panels (bug).
    • :zacnomore who fixed a JSON Viewer bug, which now correctly checks key modifiers before handling a keyboard shortcut (bug).
    • :zacnomore updated the toolbar height of the JSON Viewer to be consistent with the rest of our Toolbox UI (bug).
    • Emilio, who fixed several UI issues around flexbox in DevTools as soon as they were reported (bug 1, bug 2, bug 3)
  • Container queries
    • Nicolas (:nchevobbe) improved Container Queries support in the Inspector’s Rule View:
    • Nicolas also updated the Style Editor’s “Media Queries” sidebar to show all “At-rules”: @container, @media and @support (bug).

      https://snipboard.io/xSo2IN.jpg
  • Improvements
    • Hubert (:bomsy) improved the Debugger’s Pretty Print availability. The feature should now be more consistently available, and in the few cases where it really can’t be provided, the icon is still visible but disabled with an explanatory tooltip (bug).

      https://snipboard.io/0FQnwv.jpg
    • In the Network Monitor, Hubert added a feature to copy requests in a new format: “Copy as PowerShell” (bug)

      https://snipboard.io/kRM8Na.jpg
  • Maintenance
    • Alex (:ochameau) removed the devtools-source-map bundle (bug, bug), which was manually built and checked-in by our team, and used the occasion to add performance tests for our sourcemap usage (bug, bug)
    • Hubert also fixed a memory leak in our sourcemap implementation (bug).
    • Alex fixed a regression where DevTools would no longer close when Firefox was closed (bug).
    • Julian (:jdescottes) fixed a bug where the Inspector’s RuleView was blank when trying to render very long base64 URLs (bug).
    • Julian fixed the Add New Rule feature of the Inspector, which no longer worked on websites with CSPs (bug).
WebDriver BiDi
  • Sasha (:sasha) implemented a new event browsingContext.domContentLoaded, which is emitted when the document becomes interactive (bug).
  • Henrik (:whimboo) changed WebDriver BiDi to write the connection information to a JSON file called “WebDriverBiDiServer.json”, which provides more details than the previous “WebDriverBiDiActivePort” (bug).
  • Henrik contributed many new web platform tests for “no such element” errors (bug)
  • Henrik fixed WebDriver:NewWindow to open new tabs on about:blank instead of about:newtab (bug)
  • Henrik updated the serialisation of Document objects to follow the current WebDriver Classic specification and stop serialising them as WebElements (bug).

ESMification status

Lint, Docs and Workflow

Migration Improvements (CalState LA Project)

Picture-in-Picture

Performance

Performance Tools (aka Firefox Profiler)

  • added 2 new transforms: collapse indirect recursion, and focus category
    • Reminder: transforms are available from the right-click menu in the call tree, flame graph or stack chart. They transform the call tree to make it simpler to read.
    • (#4232) Collapse indirect recursion: this removes the nodes if they end up calling the same function. For example: From A -> B -> C -> A -> D, this keeps only A -> D. Thanks Simmo Saan!
    • (#4212) Focus category: this will keep only the nodes that belong to the same category as the currently right clicked node. Thanks Johannes Bechberger!

  • (#4286) add an item to show all local tracks for a process, and make that double clicking on the global track in the menu also shows all its local tracks.

  • (#4292) show the CPU model in the profile info panel

  • (#4295) sort the extensions list in the profile info panel
  • (#4296) fix a bug in the linux perf converter where single-letter executables wouldn’t be parsed. From our contributor Kitsu.
  • (#4305) display a blue border for selected tracks

  • (#4193) display categories in the flame graph’s tooltip — only available for converters, not available for gecko profiles yet. The style for the graphs in the tooltip changed for everybody though. From our contributor Johannes Bechberger.

  • (#4261) The sourceview is now focusable, which makes it possible to copy paste text out of it.
  • (#4199) When moving between panels, the sidebar categories stays open (previously the state was forgotten). Thanks Johannes Bechberger!
  • (Bug 1788647) When we profile browsertime runs in our CI, the names in the generated zip were previously pretty bad. Now they should be much clearer.

  • Then your usual crash fixes and dependency updates, and some other minor or invisible changes.

Search and Navigation

Screenshots

  • We’re starting to identify and burn down the list of blocking issues to ship the new component implementation and replace the extension implementation

No comments yet

Post a comment

Leave a Reply

Your email address will not be published.