Categories: News

These Weeks in Firefox: Issue 107

Highlights

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Fixed more than one bug

  • Joaquín Serna
  • Jonas Jenwald [:Snuffleupagus]
  • Mathew Hodson
  • Oriol Brufau [:Oriol]
  • Rashelle

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • Mathew Hodson contributed some more cleanup patches (to get rid of ChromeUtils.import calls with more than one parameters, Bug 1746709, and to remove old extension-data migration logic which have been unused for a while, Bug 1704144). Thanks Mathew!!!
  • The team has created a new “Site Permissions” add-on type: Starting from Firefox 97 we are introducing a new add-on type that provides access to experimental WebAPIs (initially only “Web MIDI”) to specific website origins – Tracking meta Bug 1737161 (adding Firefox developers docs related to “adding support for new experimental WebAPIs gated by a SitePermissions addon” is tracked by Bug 1742518).
WebExtensions Framework
  • Mark Hammond created a new in-tree doc page that describes the underlying architecture of the storage.sync API data backend – Bug 1745683
  • As part of the ongoing work related to Manifest Version 3 WebExtensions, we have introduced a new nsIServiceWorkerManager.wakeForExtensionAPIEvent method to spawn an active background service worker when the related extension has received an API event to be handled by the background script – Bug 1728327
WebExtension APIs
  • Investigated and fixed (in Firefox 97) an issue related to the runtime API’s sender.frameId / port.sender.frameId property, which was regressing LastPass browserAction popup in private windows – Bug 1748158 (regression introduced in Firefox 95 by Bug 1708243)
  • Fix contextMenus / menus APIs issue triggered when the user right click on DOM elements with invalid link urls – Bug 1746494
  • Landed (in Firefox 97) a small userScript API fix (to make sure that registered userScripts are unregistered as expected when the extension context that has registered them is destroyed) – Bug 1746852

Developer Tools

  • After being enabled for a while on Nightly, the context selector is enabled by default in Firefox 96 (bug)
      • In the Firefox DevTools WebConsole, on the top corner of the input, a toggle button is enabled, and its associated popup shows 2 items: “Top” and “odvarko.com”, which is selected. In the input has the following text: “globalThis”, which is instantly evaluated to “Window http://odvarko.com/”

        Now it’s easier than ever to make sure the console is executing script in the context that you think it is.

    • The context selector allows the user to execute a snippet from the webconsole on a specific document used in the page (e.g. an iframe, a worker, …)
    • The context is automatically updated on specific interaction in DevTools, like selecting an element from an iframe in the inspector, or being paused in the debugger
  • Still in the webconsole, wartmanm improved autocompletion by showing the original name of source-mapped variables when the debugger is paused (bug)
  • Elise made the webconsole regex filtering case sensitive by default. You can do a regex insensitive search by appending the “i” (e.g. “/needle/i”)  flag at the end of your search term (bug)
  • Raphaël improved the Inspector “.cls” UI so it applies the classname as you type it (previously it was only added once you pressed Enter) (bug)
  • Emilio and sebo added DevTools support for the new hwb() color function (bug1 & bug2)
      • In the Inspector rule view, a rule has the following property: “background-color: hwb(28 13% 10%)”. A color swatch is displayed before the property value, and the color picker is displayed.

        There’s a new way to express colour in CSS, and our DevTools are ready for it.

  • We’re working on removing all debugger usage of lodash (meta bug) as it’s pretty large and makes the debugger slower to open. Some of this work already led to performance improvements, and we expect more. Folks are helping us on this task, thanks Tawah, Joaquín and Sai
  • ochameau fixed a Netmonitor bug that caused HAR file to be empty (bug1 & bug2)
  • We’re pleased to have Claudia working on a new, beefed-up version of the Netmonitor “Edit and Resend” feature as part of the Outreachy project 🎉 (meta bug)
  • For the last couple months, we teamed up with the WebCompat folks to improve diagnosing webcompat issues:
    • A warning message is now displayed in the console when the current page is in quirks mode (e.g. there is no/invalid doctype) (bug)
    • It is now possible to “pick” element from the page with “pointer-events: none” by holding the Shift key as you’re using the picker (bug)
    • You may be surprised to learn that you can pick a node when debugging Firefox for Android in about:debugging. This wasn’t really highlighted anywhere, so we now update the “pick” icon when debugging an android phone, and a notice is displayed on the phone to tell the user they can pick a node with a tap. (bug)
    • Bomsy added an initial patch to make it possible to ignore specific lines from a script in the debugger. This is behind the `devtools.debugger.features.blackbox-lines` pref and we’re looking for feedback on this (there are already follow up patches in flight) (bug)

Downloads Panel

Form Autofill

Reader Mode (MSU Capstone project)

  • Spring capstone project starts today. The students will be working on general improvements to make Reader Mode even more awesome!

Password Manager

Picture-in-Picture

Performance

Performance Tools

  • Added initial support for inline source view to the Firefox Profiler. Example profile: https://share.firefox.dev/3qe5bQk For now it supports local builds and local symbol servers only, but broader support will be coming.
    • The Firefox Profiler showing a function call in the Call Tree highlighted. Below the Call Tree, a section is visible which shows the source code of the selected function.

      Double clicking on a call node will open up the source view at the bottom of the page!

  • Limited the visible threads to 15 by default.
  • Quick reminders:
    • If you profiled something and are puzzled with the profile you captured, we have the Joy of Profiling (#joy-of-profiling:mozilla.org) channel where people share their profiles and get help from the people who are more familiar with the Firefox Profiler.
    • We also have Joy of Profiling Open Sessions where people bring their profile and we try to analyze the profile together over Zoom. See the Performance Office Hours calendar.

Privacy/Security

  • In Nightly 98 we will be enabling enforcement of Script Name restrictions, which prevents (nearly all) scripts that don’t begin with chrome:// or resource:// from loading/executing in the parent process.  In release builds, it will fail with a console warning; in debug builds it will crash.

Search and Navigation

  • Drew fixed an issue in the address bar where typing ‘g’ and <enter> vs ‘g’ (wait a little) <enter> could lead to different results.
  • Drew also fixed a couple of cases of apparent jank when opening the address bar pop-up.
  • Mandy fixed a case where the “Switch to Tab” result could be duplicated in the address bar.

No comments yet

Post a comment

Leave a Reply

Your email address will not be published.