Issam and Micah have updated about:logins with some new UI improvements!
Issam made it so search input is aligned with the logins list
Micah added a new timeline component for visualizing when a login has been created, updated, and last used
Before: [screenshot]
After: [screenshot]
Picture-in-Picture updates:
kpatenio updated the Dailymotion wrapper, so captions should appear again on the PiP window
kpatenio resolved issues where PiP touch events changed playback while toggling PiP
Niklas fixed the Netflix wrapper when seeking forward or backward and scrubbing
Niklas increased the seek bar slider clickable area, making it easier to select the scrubber with the mouse
The DevTools team have updated our main highlighters to use less aggressive styling when prefers-reduced-motion is enabled (bug)
There is a new context menu option for opening source view in Firefox Profiler. Thanks to our contributor Krishna Ravishankar!
James from the Search team has enabled persisting search terms in the address bar in early beta, and is looking for more user feedback! You can file bugs against the feature here.
[mconley] Introducing Jonathan Epstein (jepstein) who is coming to us from the Rally team as a new Engineering Manager! Welcome!
CanadaHonk [:CanadaHonk]
Gregory Pappas [:gregp]
Jonas Jenwald [:Snuffleupagus]
kernp25
Oriol Brufau [:Oriol]
🌟 eprendergast changed learnMore labels on non mozilla support links in Privacy settings to html:a elements
🌟 Qijia Liu fixed promise constructor anti-pattern in ExtensionControlledPopup.jsm
Oriol Brufau contributed a fix to the “tabs.move” API method when used to move multiple tabs into a different browser window - Bug 1809364
Gregory Pappas contributed a new “matchDiacritics” option to the (Firefox-specific) find API - Bug 1680606
All manifest_version 3 extensions that want to use the “webRequest.filterResponseData” API method will have to request the new “webRequestFilterResponse” permission (in addition to the “webRequest” and “webRequestBlocking” permissions that were already needed to get access to this API in manifest_version 2 extensions) - Bug 1809235
declarativeNetRequest API:
Constants representing the values, used internally to enforce limits to the DNR rules that each extension is allowed to define and enable, are now exposed as declarativeNetRequest API namespace properties - Bug 1809721
Update JSONSchema and tests to explicitly cover the expected default value set for the DNR rule condition property “isUrlFilterCaseSensitive”, which should be false per consensus reached in the WECG (WebExtensions Community Group) - Bug 1811498
As part of tweaks that aim to reduce the number of changes needed to port a Chrome’s manifest_version 3 extension to Firefox, In Firefox >= 110 the optional “extension_ids” property part of the manifest_version 3 “web_accessible_resources” manifest property can be set to an empty array - Bug 1809431
Extensions button and panel:
Cleanups for the remaining bits of the legacy implementation (which also covered the removal of the pref) - Bug 1799009, Bug 1801540
Introduction of a new “Origin Controls” string to be shown to the users in the extensions panel when an extension has access to the currently active tab but limited to the current visit (which will only be valid while the tab is not navigated) - Bug 1805523
Thanks to Tom for grouping CSP warnings in the console (bug)
Thanks to rpl for fixing dynamic updates of the extension storage in the Storage panel (bug)
Alex fixed a recent regression for the Browser Toolbox in parent process mode, where several panels would start breaking when doing a navigation in the Browser (bug)
Alex also fixed several issues in the Debugger for sources created using `new Function` (eg bug)
Nicolas fixed several bugs for the autocomplete in the Browser Toolbox / Console, which could happen when changing context in the context selector (bug and bug)
Thanks to :CanadaHonk for fixing bugs or adding missing features in our CDP implementation (bug, bug, bug, bug, bug)
Henrik updated events of the browsingContext module (eg `domContentLoaded`, `load`, …) to provide a timestamp, which can be useful to collect page performance data (bug)
Sasha updated our vendored Puppeteer to version 18.0.0, which now includes a shared test expectation file, which means less maintenance for us and a better test coverage for Firefox on puppeteer side (bug and bug).
We implemented the network.responseCompleted event (bug) and updated our example web-client for webdriver BiDi to provide a simplified version of a network monitor (https://github.com/firefox-devtools/bidi-webconsole-prototype)
browser: 46.1%
Dropped a little bit because we removed a large number of sys.mjs files we didn't need any more.
toolkit: 38.3%
Bilal has been working on migrating various actors.
Total: 46.54% (up from 46.0%)
#esmification on Matrix
Migration Document (with a walkthrough!)
Mossop has posted a topic on mozilla.governance about a new module for JavaScript usage, tools and style
The no-cu-reportError rule now handles promise callbacks and a few other cases.
The rule has also now been rolled out to most of browser/ and toolkit/, with a few places remaining.
The ESLint rule no-shadow has been enabled for .mjs files.
The intent is to soon enable the builtInGlobals option, and then later roll it out to .sys.mjs files as well.
./mach doc should no longer lose the document tree when a change is made to a doc.
After a solid winter break, the CalState LA students are starting up again this week!
mconley closed out some infrastructure bugs on the new migration wizard in preparation for the students taking over primary development
Thanks to mak for fixing an annoying frequent intermittent orange!
Bilal updated PiP extension manifest to use `browser_specific_settings` for manifest V3
Molly made a change where PiP video duration is hidden when visible duration is NaN or infinite
Support zip files on windows. Thanks to our contributor Krishna Ravishankar!
Scroll item horizontally in the virtuallist, taking into account the fixed size.
Remove the "optimizations" field from the frame table. This should reduce our profile data size.
Allow pinning source code view files to specific git tags.
Enable screenshots on talos profiling jobs on treeherder.
Remove some Timestamp::Now calls when the profiler is not running.
Fix Firefox version inside the profile data.
Mandy and Drew making progress on weather suggestions (from accuweather via merino):
Bug 1808974 - Implement new client UI for weather suggestions
Bug 1809201 - Weather suggestions should respect regional locale preferences for C/F
Bug 1811373 - Weather suggestion text pops in and causes flicker
Bug 1811387 - Weather suggestion icon pops in and causes flicker
Daisuke has refactored urlbar engagement telemetry tests
mak: Bug 1750317 - location bar search intermittently fails to reach search engine input
gregp: Bug 1779400 - Omnibox API: onInputChanged runs in private windows but suggestions do not appear
Nanj: Bug 1771380 - Firefox Suggest should not recommend "Vietnam War" when user searches for "Vietnam"
standard8:
Dao working on address bar result menu:
Bug 1790024 - Add urlbar result menu for top pick and sponsored Firefox Suggest items
Bug 1809705 - Implement "Learn more about Firefox Suggest" menu item in the urlbar result menu
Bug 1801298 - Fix down/up arrow behavior with multiple selectable elements per row
Bug 1801297 - Better align urlbar result menu button styling with the UX spec
Bug 1810647 - Prepare for enabling the urlbar result menu in Nightly
Public storybook updated as of this morning with new about:logins timeline component
Bug 1799699 - Storybook Docs tab now lists component attributes from JSDoc
Bug 1798335 - The moz-toggle is now used on about:addons
Bug 1809457 - Our common stylesheet no longer conflicts with Storybook styles
Bug 1801927 - The “Learn more” links in the about:preferences#general tab have been updated to use `moz-support-link`
Bug 1803155 (Heading to autoland) - ./mach storybook install is going away in favor of automatically installing dependencies when ./mach storybook is run
General Triage
This month’s Firefox / Toolkit :: General triagers are mstriemer, hjones, niklas and sclements
We’re looking for people to slot their names into the blank months - don’t wait! Jump on in! This is a great way to learn about a wide variety of components in Firefox.
[gijs] OK, I’m cheating, this should probably have been in the general section but I thought of it too late - BrowserTestUtils.loadURI is being renamed to BrowserTestUtils.loadURIString. I renamed all ~1000 in-tree consumers by using jscodeshift, so you don’t need to do anything about that - but don’t add new callsites because they won’t work! (and also because openNewForegroundTab and/or withNewTab are better APIs).
But why!?
[gijs] We have a bunch of things called loadURI that take strings instead of URI object references. This means we convert between strings and URIs a lot, which has both CPU and memory costs (also because we actually try to deal with arbitrary string input, not just actual URIs!). We’re trying to fix some of that in bug 1810141. The test-only change made it easier to find all the JS callsites of “production” code that is (also) called loadURI, and is more precise.
[mconley] Tip: keep your mochitest / xpcshell test manifests in alphabetical order, because that’s actually the order they run in. Here’s my attempt to add a linting rule to encourage this.
[mstriemer] Also mach addtest is a thing and you should use it! (and then you can mostly forget about the gnarly .ini files)