Firefox/Meeting/14-Nov-2023
Today’s meeting leader is: mconley
Contents
- 1 Nov 14, 2023
- 2 General Topics / Roundtable
- 3 General triage
- 4 Project Updates
- 4.1 Accessibility
- 4.2 Add-ons / Web Extensions
- 4.3 Developer Tools
- 4.4 Desktop Integrations
- 4.5 Downloads Panel
- 4.6 Credential Management
- 4.7 Fluent
- 4.8 Form Autofill
- 4.9 ESMification status
- 4.10 Information Management
- 4.11 Lint, Docs and Workflow
- 4.12 macOS Spotlight
- 4.13 Migration Improvements
- 4.14 New Tab Page
- 4.15 Nimbus / Experiments
- 4.16 Password Manager
- 4.17 PDFs & Printing
- 4.18 Picture-in-Picture
- 4.19 Performance
- 4.20 Performance Tools (aka Firefox Profiler)
- 4.21 2048x1019px
- 4.22 Search and Navigation
- 4.23 Storybook/Reusable Components
- 5 This week I learned
Nov 14, 2023
General Topics / Roundtable
Friends of the Firefox team
Introductions/Shout-Outs
- Welcome to Nikki Sharpley! Nikki is joining the Information Management team, and will be focusing on Firefox View.
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Ganna
- Jonas Jenwald [:Snuffleupagus]
New contributors (🌟 = first patch)
- 🌟 astrid removed extra ';' after member function definition in updater.cpp
- 🌟 nzaih18 removed browser.translations.autoTranslate preference
General triage
This month’s Firefox / Toolkit :: General triagers are:
Dan Mosedale, Fred Chasen, Amy Churchwell, Shane Hughes
Project Updates
Accessibility
Add-ons / Web Extensions
WebExtensions Framework
- Thanks to Gregory Pappas for investigating and contributing a fix for Bug 1859236 - `event.getCoalescedEvents` not working in content script (fixed in the 120 cycle, the same nightly cycle where the regression was introduced as a side effect of the changes for Bug 1858434)
As part of improvements to the migration path to Manifest Version 3 and from persistent background pages to the event pages:
the lifetime of the event page is going to be implicitly extended by WebExtensions API calls originated by the event page itself - Bug 1844041
To allow extensions developers to use the same manifest.json file across multiple browser vendors, extensions with a manifest.json file including both background.service_worker and background.scripts will load successfully instead of failing at install time, a warning will be logged and background.scripts will take precedence over the currently unsupported background.service_worker - Bug 1860304
Remaining bits of the WebExtensions telemetry are being ported to Glean (and get data for these metrics on Firefox for Android builds as a side effect of that):
Addon Manager & about:addons
Investigated and fixed failures hit by AddonManager mochitest-browser tests in a11_checks jobs Bug 1859035
Developer Tools
DevTools
Alex added error message when evaluating unknown commands (bug)
- Alex fixed logging SharedArrayBuffer from Worklets and Workers (bug)
Nicolas made some progress on the DevTools Accessibility projects (bug , bug, bug, bug). The most visible one is that a thick, noticeable focus indicator was added to focusable element across the toolbox
WebDriver BiDi
- Sasha added support for userActivation parameter in script evaluation (bug)
- Sasha added support for the origin argument in the browsingContext.captureScreenshot command, allowing a script to, for example, take a screenshot of part of the page that is not visible (bug) …
- … which also allowed to remove the now unnecessary scrollIntoView argument usage in browsingContext.captureScreenshot (bug)
- Finally, Sasha added a context property on WindowProxy serialized object (bug)
- Julian fixed an issue where browsingContext.navigate would not return the expected navigation id when wait=none was passed (bug)
Desktop Integrations
Downloads Panel
Credential Management
Fluent
Form Autofill
ESMification status
- (no voice update)
- Arai converted the remaining reftest harness modules.
- Mike Conley is working on reworking the new tab tests and converting to ES modules.
ESMified status:
browser: 88%
toolkit: 99%
Total: 96.33% (up from 96.13%)
- #esmification on Matrix
Information Management
Lint, Docs and Workflow
- (no voice update)
The CI task, source-test-doc-generate, now has improved summaries on treeherder for when there's more warnings than expected.
Previously, the summary would only show some random issues, and not the actual "x new warnings" line.
The line is now exposed, but only gives the amount of new warnings. Currently you need to compare with a passing run to figure out what the new warnings actually are. There is a bug filed for improving this further.
- Logan extended the license linter to also check idl and webidl files.
- The reject-importGlobalProperties rule has been extended to apply to sjs files, and to reject more unnecessary cases in privileged scopes.
- The valid-jsdoc environment has been enabled on more parts of the browser/ code.
macOS Spotlight
Migration Improvements
- The Ubuntu Snap improvements have gotten a green light from QA! It will be riding the trains out in Firefox 120, and hopefully will make it easier for users on Ubuntu migrate data from other browsers.
- The last vestiges of the old XUL-based migration dialog have now been removed.
- In Device Migration land, we’re primed to add helpful email and calendar reminders to our switching-devices SUMO page to make it easier for users to remember to download Firefox on their new devices! Emails are just going through localization, but we aim to have this enabled by the end of the month.
New Tab Page
mconley is:
Next things:
Talking to the Onboarding team about moving the ASRouter code (starting with the administrative tool) out from about:newtab into its own about: page.
Nimbus / Experiments
Password Manager
PDFs & Printing
Picture-in-Picture
Performance
Performance Tools (aka Firefox Profiler)
- The profile size upload limit has been increased from 50MB to 150MB.
- LargestContentfulPaint marker added, FirstContentfulPaint now visible (example profile).
Test jobs now upload resource use profiles too (similar to build jobs).
Example profile of a mochitest job
- In addition to markers for the names of the tests, there are also markers showing the name of the test folders, making it clear which tests take long, when we restart the browser, and if the time was used with the CPU busy or idle.
Example profile of an xpcshell job
2048x1019px
- ** *** This profile makes it easy to see which tests ran in parallel.
Enhanced Cross-Platform Suggest, which expands our Firefox Suggest capabilities and brings Suggest to mobile browsers
- Drew removed adM/wikipedia suggestions from memory. Before these suggestions were sticking around even when disabled. 1832198.
- Drew has added tests and refactors for Firefox Suggest in 1859389 and 1861540.
- Dao implemented the layout for Firefox Suggest Opt-in Experiment in 1852055.
General improvements
- Marc Seibert fixed a bug where the container label was not properly displayed in a bookmark result. 1859810
- Marc Seibert fixed a bug where a part of the url is crossed out when the security padlock is clicked. This bug happens when browser.urlbar.trimHttps is enabled. 1860528.
- Dale and Dao refactored CSS to use `moz-bool-pref` for richSuggestions in 1862704 and 1862930.
Search and SERP (Search Engine Result Page) telemetry
- Mandy added telemetry to track search service failures. 1849013.
- James added remote settings listeners for when SearchSERPTelemetry was updated in 1785104.
- Standard8 extended SERP telemetry config for mobile. 1861676.
- Standard8 updated Yahoo! Auctions branding. 1861925
- Stephanie fixed broken marionette tests for search. 1863023
Consolidated Search Configuration
- This is an initiative that consolidates search engine configurations across our desktop and mobile browsers
- Mandy and Standard8 have just started rewriting the configuration to address some limitations of the previous configuration, and to allow it to be shared with our mobile products.
- Mandy added a new application search engine class in 1861080 and 1863360.
- Standard8 added search engine config schema v2. 1854965
- Standard8 updated search tests in 1862287 , 1862462 and 1863023.
- Standard8 updated the new and old search engine selectors to use the right keys. 1862679
- Standard8 enables spell check for schemas and docs in search. 1862624
Storybook/Reusable Components
This week I learned
[Luca] AccessibilityUtils vs. intermittent failures hit on clicking popup panel elements
As mentioned in Bug 1859035 comment 2, when popupshown event is dispatched popup’s panel state may technically be still showing before becoming open, from the AccessibilityUtils perspective elements from a showing panel are still considered to be in a “programmatically hidden state” (nsIAccessibilityStates::STATE_INVISIBLE)
clicking buttons while the popup is still in this showing state will hit an AccessibilityUtils assertion failure (because the panel button will be considered still invisible)
nsXULPoupShownEvent::Run notifies a popup-shown topic on the observer service right after having set the panel state to open (which is also how in Bug 1859035 we have currently prevented the intermittent failures to be hit)
[Nicolas] Can I :has()
shipping in 121
Igalia's video: https://www.youtube.com/watch?v=axkefJvfS9U