Firefox/Meeting/14-May-2024
Today’s meeting leader is: mconley
Contents
- 1 May 14, 2024
- 2 General Topics / Roundtable
- 3 Friends of the Firefox team
- 4 Project Updates
- 4.1 Accessibility
- 4.2 Add-ons / Web Extensions
- 4.3 Developer Tools
- 4.4 DevTools
- 4.5 WebDriver BiDi
- 4.6 Desktop Integrations
- 4.7 Downloads Panel
- 4.8 Credential Management
- 4.9 Fluent
- 4.10 Form Autofill
- 4.11 Lint, Docs and Workflow
- 4.12 Information Management
- 4.13 macOS Spotlight
- 4.14 Migration Improvements
- 4.15 New Tab Page
- 4.16 Nimbus / Experiments
- 4.17 Password Manager
- 4.18 PDFs & Printing
- 4.19 Picture-in-Picture
- 4.20 Performance
- 4.21 Performance Tools (aka Firefox Profiler)
- 4.22 Privacy & Security
- 4.23 Profile Management
- 4.24 Reader Mode
- 4.25 Screenshots
- 4.26 Search and Navigation
- 4.27 Storybook/Reusable Components
- 5 This week I learned
May 14, 2024
General Topics / Roundtable
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
Itiel
New contributors (🌟 = first patch)
Will be filled in after the meeting
General triage
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
As already anticipated in this meeting, starting from Firefox 127, installing new single-signed add-ons is disallowed. The QA verification has been completed and this restriction is now enabled on all channels and riding the Firefox 127 release train (Bug 1886160).
WebExtension APIs
Starting from Firefox 127, the installType property returned by the management API (e.g. management.getSelf) will be set to ”admin” for extensions that are installed through Enterprise Policy Settings (Bug 1895341)
Thanks to mkaply for working on this API improvement for Enterprise Firefox add-ons!!!
As part of the ongoing work related to improving cross-browser compatibility for Manifest Version 3 extensions, starting from Firefox 127:
Host permissions requested by Manifest V3 extensions will be listed in the install dialog and granted as part of the add-on installation flow (Bug 1889402).
Extensions using the ”incognito”: “split” mode will be allowed to install successfully in Firefox (Bug 1876924)
Incognito split mode is still not supported in Firefox, and so the extensions using this mode will not be allowed access to private browsing tabs.
The new runtime.getContexts API method is now supported (Bug 1875480).
This new API method allows extensions to discover their existing Extensions contexts (but unlike runtime.getViews it returns a json representation of the metadata for the related extension contexts).
Developer Tools
DevTools
Pier Angelo Vendrame prevented new request data to be persisted in Private Browsing (#1892052)
Arai fixed exceptions that could happen when evaluating Services.prompt and Services.droppedLinkHandler in the Browser Console (#1893611)
Nicolas fixed an issue that was preventing users to see stacktrace from WASM-issued error messages (#1888645)
Alexandre managed to tackle an issue that would prevent DevTools to be initialized when a page was using Atomics.wait , e.g. stackblitz.com (#1821250)
Nicolas added the new textInput event to the Event Listener Breakpoints in the Debugger (#1892459)
Hubert is making good progress migrating the Debugger to CodeMirror 6 (#1887649, #1889277, #1889283, #1894379, #1894659, #1889276)
Nicolas made sure that ::backdrop pseudo-element rules are visible in the Rules view for popover elements (#1893644), as well as @keyframes rules nested in other at-rules (#1894603)
Nicolas fixed performance issue in the Inspector when displaying deeply nested rule (#1844446)
for example, a 15-level deep rule was taking almost 9 seconds to be displayed, now it's only a few milliseconds
Julian removed code that was forcing the Performance tab to be always enabled in the Browser Toolbox, even if the user disabled it in a previous session (#1895434)
WebDriver BiDi
Thanks to Victoria Ajala for replacing the usage of the "isElementEnabled" selenium atom with a custom implementation which is more lightweight and maintainable (#1798464)
Sasha implemented the permissions.setPermission command which allows clients to set permissions such as geolocation, notifications, … (#1875065)
Sasha fixed a bug where wheel scroll actions would not use the provided modifiers (eg shift, ctrl, …) (#1885542)
Sasha improved the implementation of the browsingContext.locateNodes command to also accept Document objects as the root to locate nodes. Previously this was restricted to Elements only, but Puppeteer relies heavily on using Document for this command. (#1893922)
Henrik fixed a bug where the WebDriver classic GetElementText command would fail to capitalize text containing a underscore (#1888004)
Desktop Integrations
Downloads Panel
Credential Management
Fluent
[mconley] I just ran the numbers, and we’re just shy of 50% of all strings in mozilla-central being Fluent!
Form Autofill
Lint, Docs and Workflow
No updates this week
Information Management
macOS Spotlight
Migration Improvements
Device Migration
We’ve completed the staging and recovery metabugs, and have started into the management UI metabug. We’re also branching a bit, and some of us are working on the single-file archive metabug.
New Tab Page
Finishing up a newtab weather widget, landed it recently but fixing some bugs. You can turn it on in nightly with a set of 2 prefs found in about:config, searching for `showWeather`. Known bugs but let us know if you see something. It may or may not be a known bug.
Set the following to TRUE:
browser.newtabpage.activity-stream.showWeather
browser.newtabpage.activity-stream.system.showWeather
Newtab wallpaper experiment going out either this release (next week) or next release, depending on some telemetry bug fix uplifts.
To enable wallpapers on HNT, set the following to TRUE:
browser.newtabpage.activity-stream.newtabWallpapers.enabled
Newtab wallpapers are getting some updates soon. A bunch more wallpapers as options, and some tweaks to the customize menu, a nested menu, to better organize the wallpapers so it’s easier to explore as we add more options.
Nimbus / Experiments
Password Manager
PDFs & Printing
Picture-in-Picture
Thanks to Joseph Webster for adding PiP captions support for more sites with our JWPlayer wrapper (bug)
Also thanks to Joseph Webster for adding PiP captions support for Vimeo players (bug)
kpatenio added PiP captions support + fixed some live video playback issues on the PiP window for Canal+ and Timvision (bug)
Thanks to leojellimann for helping identify how video captions are loaded. Without his help, this patch would not have been possible!
Performance
mconley has patches up that move the favicon-fetching part of the Windows Jump List off of the main thread.
Performance Tools (aka Firefox Profiler)
Privacy & Security
Bounce Tracking Protection has been enabled in Nightly (Bug 1846492)
The feature detects bounce trackers based on redirect behavior and periodically purges their cookies & site data to prevent tracking.
If you notice that you lose site data or get logged out of sites more than usual please file a bug under Core :: Anti-Tracking so we can investigate
The feature is still in development so detected trackers are not yet counted as part of our regular ETP stats or on about:protections.
Advanced: If you want to see which bounce trackers get detected and purged you can enable the logging by going to about:logging and adding the following logger: BounceTrackingProtection:3
Profile Management
Reader Mode
Screenshots
Thanks to Kelly for joining the screenshots team!
Kelly added the “take screenshot” item to image and video elements
Niklas fixed a bug where clicking the preview copy or download buttons before the image loaded would not actually save the image
Niklas refactored the screenshots preview to use LitElement and moz-button
Niklas fixed an issue with RTL pages with negative scrollMinX
Niklas made the screenshots initial state (crosshairs) keyboard accessible
Contributor has fixed a 5 digit 25 year old bug! that enables transparent windows @ 28354
Clipboard suggestions have been temporarily disabled in nightly as it was possible to freeze Firefox on Windows - we’re moving the feature to asynchronous clipboard API - 1894614
Features for an update to the urlbar UX codenamed scotchBonnet have started landing, secondary Actions have landed and dedicated search button + others are in progress. These will be enabled in nightly at some point so keep an eye out. Meta bug tracking @ 1891857
Mandy fixed an issue with stripping a leading question mark when the urlbar is already in search mode @ 1837624
Marco fixed protocols being trimmed when copying urls @ 1893871
In Nightly, when https stripping is enabled, the loaded URL will gain back the trimmed protocol when the user interacts with the urlbar input field text
Marco changed domain inline completion, so that when permanent private browsing is active domain will be picked based on the number of bookmarks to that domain. Bug 1893840
The new search configuration (aka search consolidation) is now rolling out in FF 126 release.
Ebay support in Poland has been added to application provided engines in the new search configuration and so will become available during FF 126 @ 1885391
(Places) Daisuke removed the ReplaceFaviconData() and ReplaceFaviconDataFromDataURL() APIs, replacing their use with a new SetFaviconForPage() API accepting a data URL for the favicon. Long term this is the API we want to use, Places should never fetch from the Network, only store data.
Storybook/Reusable Components
Work has started on form components with an eye for the Sidebar Settings feature (and potentially the Experiments section of preferences). Initial components: moz-checkbox, moz-radio-group and moz-fieldset
The message-bar component has been fully removed from the codebase (replaced by moz-message-bar) Bug 1845151 - Remove all code associated with the message-bar component - Thanks Anna!
This week I learned
[paul] Marionette tests don’t run as part of mach test. I thought a test was passing, until it didn’t on try.
Bug 1893223 - Some marionette manifests are not included by the master manifest
Here’s the file that you have to (currently) manually add Marionette manifest references to to get the tests to run in CI: https://searchfox.org/mozilla-central/rev/b3f40fd7c4671537ed29a232e76c962977650045/testing/marionette/harness/marionette_harness/tests/unit-tests.toml
This was an issue we reported for a similar issue Bug 1892038 - ./mach try cannot run specific marionette tests; marionette.py prepends build/tests/marionette/tests/ to the passed test paths