Highlights
- Firefox 105 is released today! Lots of goodies in there, as well as performance and stability improvements.
- WebExtension Manifest Version 3 support has been enabled by default in Nightly and Early Beta builds (starting from Firefox 106) – Bug 1789796
- This change will allow developers to start testing “manifest_version: 3” extensions without flipping a pref (by installing temporarily or permanently with signing checks disabled)
- Again, a reminder that Mozilla plans to continue support for the Manifest v2 blocking WebRequest API (this API powers, for example, uBlock Origin) while simultaneously supporting Manifest v3.
- Have a Manifest v2 WebExtension that you want to migrate? Here’s our migration guide!
- The DevTools Style Editor will now clearly indicate that system stylesheets cannot be disabled (bug). The icon used to disable stylesheets was updated to have a different state when the stylesheet is disabled or not (bug).
- New ./mach storybook commands are available for use! Check out the Storybook / Reusable components section for more information.
- Janvi added more sites to be supported under our videoJS wrapper for captions support starting in Firefox 106:
- Wired
- Brightcove
- PBS Kids
- Janvi also blogged about her experience working on Picture-in-Picture for Outreachy!
- With bug 1748724 Implement by-element region selection for the Screenshots component landed, the screenshots component is now at feature parity with the screenshots extension. Please enable the pref screenshots.browser.component.enabled in about:config to test out the component.
- An added benefit of the component is now being able to screenshot about: pages (trigger screenshots with ctrl+shift+s until bug 1790855 lands).
- Bug 1696573 – [Meta] Move screenshots into a dedicated browser component tracks this work
Friends of the Firefox team
Introductions/Shout-Outs
- Welcome Schalk! Schalk has been contributing for a while and is the community manager for MDN Web Docs, and is hanging out to hear about DevTools-y things and other interesting things going on in Firefox-land to help promote them to the wider community
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- axtinemvsn (one of our CalState students!)
- Itiel
New contributors (🌟 = first patch)
- 🌟 Alvin converted browser/actors/BrowserProcessChild.jsm JSM module to ESM
- 🌟 axtinemvsn converted browser/actors/AboutNewTab* and browser/actors/AboutTabCrashed* JSM modules to ESMs
- 🌟 Brian Pham converted screenshots component from JSM to ESM
- 🌟 Avery removed unused PiP telemetry variables `lastScreenX` and `lastScreenY`
- Eugene Simakin fixed wrong slicing of displayed WebSocket messages in devtools when ‘Keep all future messages’ is enabled
- Zach Harris converted AboutPlugins from JSM to ESM
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- Fixed a regression on accessing static theme resources from other extensions (introduced in Firefox 105 by Bug 1711168, new restrictions on accessing extensions resources not explicitly set as web_accessible_resources) – Bug 1786564 (landed in Firefox 105) and Bug 1790115 (landed in Firefox 106, followup fix related to extension pages running in private browsing windows)
- Small tweaks and fixes related to the unified extensions toolbar button – Bug 1790015 / Bug 1784223 / Bug 1789407
- Cleanups related to the Manifest Version 3 CSP – Bug 1789751 (removed localhost from script-src directive) / Bug 1766881 (removed unnecessary object-src)
Addon Manager & about:addons
- Emilio enable modern flexbox use in the about:addons page (instead of XUL layout) – Bug 1790308
- Itiel has updated the about:addons accent color var to use the Photon color and updated the “Available Updates” dot badge to use the expected Photon accent color – Bug 1787651
Developer Tools
DevTools
- Eugene fixed a bug with the Network Monitor Websocket inspector, where messages would disappear when using filters in combination with the “keep messages” checkbox (bug)
- Alex is updating the devtools codebase to prepare for ESM-ification:
- Bug 1789201 – Expose Services to all DevTools modules
- Bug 1789202 – Expose ChromeUtils to all DevTools modules
- Bug 1789595 – Convert devtools/server JSMs to ES Modules
- Bug 1788032 – Convert devtools/client JSMs to ES Modules
- The end goal is to convert all the commonjs-style DevTools modules to ESM which will finally make DevTools consistent with the rest of our codebase.
- The Network Monitor used to incorrectly show sizes in kibibytes (1024-based) instead of kilobytes (1000-based). Hubert fixed this issue and we now show the correct sizes and correct units everywhere in the Netmonitor (bug)
- Alex keeps fixing bugs and UX issues around WebExtension debugging. Whenever you reloaded an extension, the Debugger would no longer show its sources. This was a recent regression, but it is now fixed and tested (bug)
- Hubert fixed a bug with the new Edit and Resend panel, where we would crash if the request was too big. (bug)
- Nicolas fixed a performance regression in the StyleEditor (bug), which was caused by performing too many cross compartment property access.
WebDriver BiDi
- We added basic support for the “script.getRealms” command which returns the information about available WindowRealms, including sandboxes. This information contains realm ids which will be used to run script evaluation commands. (bug)
- We extended the Remote Agent implementation to allow Marionette and WebDriver BiDi to open and close tabs in GeckoView applications. As a result we were able to enable ~300 additional WebDriver tests on Android. (bug)
ESMification status
- Nearly ¼ of all JSMs under browser/ have been ESMified!! Keep up the good work!
- Total tree conversion: 11.5%
- #esmification on Matrix
- Migration Document (with a walkthrough!)
Lint, Docs and Workflow
- https is now the default to use in tests.
- Please only disable the rule if you explicitly need to test insecure connections – and add a comment if you do disable.
- You can now specify a –rule parameter to ./mach eslint (not ./mach lint -l eslint), which allows you to test turning on an ESLint rule.
- We now have two new rules which are currently manually run.
- The rules:
- mozilla/valid-ci-uses checks that:
- Ci.nsIFoo is a valid interface.
- Ci.nsIFoo.CONSTANT is a valid constant available on the interface.
- mozilla/valid-services-property checks that:
- Services.foo.bar() is a valid property on the interface associated with Services.foo.
- mozilla/valid-ci-uses checks that:
- These will be added to run on CI as a tier-2 task in the next couple of months.
- For now, they can be manually run via
- MOZ_OBJDIR=objdir-ff-opt ./mach eslint –rule=”mozilla/valid-services-property: error” –rule=”mozilla/valid-ci-uses: error” *
- There are a few non-critical existing failures which will be resolved before CI lands.
- The rules:
Migration Improvements (CalState LA Project)
- Students had a Hack Weekend the weekend before last to get up to speed with our tooling
- Quite a few Good First Bugs landed to support the ESMification process
- We’re starting the students off on researching the best ways of importing favicons from other browsers into Firefox. Watch this space!
Picture-in-Picture
Search and Navigation
- Daisuke (1, 2, 3, 4, 5) and Dale (1, 2) fixed a bunch of bugs related to QuickActions in preparation for the QuickActions experiment
- Dale also added a pref to disable the Private Search urlbar result and enabled seperatePrivateDefault by default (not the UI)
- Daisuke also added telemetry for number of sponsored visit that can not find triggering URL
- James made it so that we don’t show search terms for searches started in the search bar and landed a few followup fixes related to making the address bar show search terms instead of the default engine’s search results page URL
Storybook / Reusable components
- The ./mach storybook commands have landed!
- ./mach storybook install # Run this the first time
- ./mach storybook
- ./mach storybook launch # Run this in a separate shell
- Opens your local build browser at http://localhost:5703
No comments yet
Post a comment