Firefox/Meeting/8-Feb-2022

From MozillaWiki
Jump to: navigation, search

General Topics / Roundtable

  • [gijs] You can now use `add_setup()` to add a setup task in an automated browser mochitest. This works correctly with .only() for individual tasks (ie we’ll keep running the setup tasks even if you use .only() with a given test task). 🎉🎉🎉🎉🎉🎉

    • Hoping to transform existing `add_task(async function setup()` and similar in this bug later in the 98 cycle.

    • Hoping to then make setting preferences either per-test-file or per-task more intuitive - right now it’s easy to make mistakes with them.

Friends of the Firefox team

Resolved bugs (excluding employees)

Volunteers that fixed more than one bug

  • Claudia Batista [:claubatista]
  • Jane Kotovich (:janey)
  • Jintao Hu
  • Masatoshi Kimura [:emk]
  • Shane Hughes [:aminomancer]

New contributors (🌟 = first patch)

General triage

This month’s group for Firefox::General, Toolkit::General triage is Mark Banner, Niklas, Florian.

Project Updates

Add-ons / Web Extensions

WebExtensions Framework

  • As part of the ongoing ManifestVersion 3 work (Proposal: Limited Event Pages for MV3 ¡ Issue #134 ¡ w3c/webextensions ¡ GitHub), we have started to introduce support for the non-persistent background page (also known as EventPage):

    • Bug 1748524 (initial set of changes to support non-persistent background page, currently gated by the ‘extensions.eventPages.enabled’ about:config preference)

    • Bug 1748541 (WebExtensions API Events internal refactoring, used in follow up patches to extend “persisting and priming of the API event listeners” to more WebExtensions APIs on extensions using a non persistent background script, either an event page or a service worker)

    • Bug 1748547 (persist alarm listeners to allow them to respawn the background script if fired after it has been terminated)

  • Thanks to Barret, the ‘pkcs11’ WebExtensions API does not use osfile.jsm anymore - Bug 1745352

Developer Tools

  • Hikota fixed a contrast issue when using the debugger command palette in dark mode (bug)
  • Angelina made it possible to open links displayed in the headers panel of the network monitor (bug)
  • Long time contributor sebo started to work on Custom Formatters for DevTools (bug), with funding from the Clojurist Together Foundation. Custom Formatters are a way for content pages to control how objects will be rendered in DevTools (console, debugger, …). It’s especially useful for debugging library custom data, like Immutable or ClojureScript.
  • Claudia, DevTools Outreachy intern, is about to enable the new “Edit and resend” panel of the Network Monitor on Nightly 🎉 (bug)

screenshot

  • The new performance panel is riding the train and will be enabled in Firefox release 98 (bug). The new panel will make it easier for web developers to record and share profiles as it opens a new profiler.firefox.com tab when capturing the profile. Many thanks to jwajsberg who fixed the last issues that were blocking this.

screenshot

  • Since the compatibility panel is also riding the 98 train, we polished it a bit: we added support for Internet Explorer 11 data (bug), reworked the tooltip for compatibility issues (bug) and last but not least, updated Firefox icon (bug)

screenshot

  • We fixed a nasty bug where DevTools would freeze when trying to inspect an iframe blocked by CSP (bug). Thanks Christoph Kerschbaumer for helping us on that.
  • Julian fixed an issue about:debugging where the tab list wasn’t updated properly (bug)
  • You can now see CSS layers data displayed in the rule view (bug). We took this opportunity to change how we display media queries data (bug), and display the full list of nested media queries/layers (bug)

screenshot

  • bomsy and ochameau are working on making the debugger more reliable and already landed a few patches to make the codebase easier to navigate and the test more robust and legible.

Form Autofill

Lint, Docs and Workflow

New Tab Page

  • Bug 1749583 - [DĂŁo] added colorways section placeholder in about:newtab’s personalize panel behind a pref (browser.newtabpage.activity-stream.colorway-closet.enabled).

Password Manager

Picture-in-Picture

  • Support of WebVTT is coming

Performance Tools (aka Firefox Profiler)

https://imgur.com/a/FohoSZd

Syntax highlighting in the new source view]

  • Experimental support for per-process CPU usage capturing

    • Enable the “Process CPU Utilization” feature in about:profiling first.

    • Then in the profiler viewer, open the console and run experimental.enableProcessCPUTracks()

  • Use ResizeObserver instead of DOM resize events to track window resizes, which fixes a few issues and improves performance
  • Fixes in how we capture the data from subprocesses: previously we were simply waiting for a timeout which could be a problem on slower machines, now we’re getting progress information which makes it possible to wait longer (Bugzilla 1673513)
  • Enable stackwalking on MacOS – always (Bugzilla 1753272). On ARM64 you’ll get all stacks, in Nightly and Beta too. For release x86-64… maybe soon?

Search and Navigation

  • Bug 1749397 and Bug 1751819 - When you type a url in the urlbar or the searchbar, press enter, and press a character, that character gets inputted. For example, “google.com” and enter, and “t”, which becomes “google.comt”. This was fixed by [daisuke].
  • Bug 1752251 - Drew [adw] implemented best match rows in the urlbar view, these rows have a large 52x52 icon with title and URL vertically centred. This is on en-US only for now and is always part of quick suggest results.
  • Bug 1752441 - [daisuke] changed the “<engine> Suggestions” group label to “suggestions” with a lowercase “s” because it describes a category rather than brand feature.

Screenshots

Community

  • [mconley] CTA for our Nightly testing community: help us test website compatibility for when Firefox reaches v100! In about:preferences#experimental, there is a toggle that lets you use the v100 UA string ahead of time. See issues with sites with the v100 on, but not when it’s off? File a webcompat.org bug and let us know!

This week I learned

  • [gijs] `./mach test browser_parsable_css.js` just runs that test. You don’t have to type/tab-complete the whole path (browser/base/content/test/static/browser_parsable_css.js) and risk typos etc.

    • Kicker: you can run `./mach test browser_download` and it’ll run all the tests whose filenames start with that prefix (!)

    • Similarly, you can run `./mach test urlbar_event`, and it’ll run all the tests whose filenames include that substring.

    • Unrelated, in case you didn’t know, you can also pass a manifest (ie a browser.ini or xpcshell.ini or similar file, that contains a list of tests) and it’ll run all the tests in that manifest.

    • Also unrelated, but as a reminder: you can run the equivalent of `test-verify` jobs on infrastructure locally by passing the `--verify` flag to `mach test`

    • You can also use `./mach mochitest browser_parsable_css.js`, which is helpful when you need the extra arguments available to `./mach mochitest`.

  • [florian] Assert.greater(NaN, 0) currently returns true.

    • That’s because any number comparison with NaN returns false, and ‘greater’ is implemented as !(lhs <= rhs).

    • There’s a check that we are comparing actual numbers, but typeof NaN returns “number”. I’m hoping to fix that check.

    • Thanks, Javascript!

  • [sfoster] `new Blob([filenameString]).size` gets you a better size check than string.length when multi-byte characters might be in the mix. Or use DownloadPaths.sanitize.