Highlights
- The DevTools team has improved Pretty Printing performance in the Debugger by ~30%! This improvement is available in Beta and currently slated to go out in Firefox 111.
- Mak has changed the frecency (the URL bar ranking algorithm) recalculation to happen on idle, rather than immediately when bookmarks are added/removed, or when visits are removed. This allows for more performant recalculation during large operations!
- Daisuke has completed the conversion of bookmarks from the old Places notifications to new ones, and has finally removed the nsINavBookmarksObserver interface. The new notifications, originally designed with the help of Doug Thayer from the Perf Team, are much more performant and detailed, and will improve the performance of history and bookmarks consumers.
- Our WebExtensions team has made it easier for extension authors to migrate from Manifest V2 to Manifest V3:
- Bug 1811443 (landed in Firefox 111) introduced an optional “background.type” manifest property that can be set to either “classic” or “module”. When set to “module”, all the background scripts are loaded as ES Modules in the auto-generated background and event pages
- All of the Colorways are now available as themes at addons.mozilla.org. If there was one you never got to try, now’s your chance!
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- CanadaHonk [:CanadaHonk]
- Itiel
- portiawuu
- Razvan Cojocaru
- steven w
New contributors (🌟 = first patch)
- fanie renamed ExperimentManager’s getAllActive and getAllRollouts functions
- Malte Jürgens now takes `extensions.getAddons.showPane` into consideration when clicking on empty unified extensions button
- Nolan Ishii added ‘variant 2’ version of the main selector page for the migration wizard
- 🌟 portiawuu converted AboutPrivateBrowsing* and browser/components/attribution JSM modules to ESMs and added branding assets for each browser that can be imported from
- steven w removed cookies migration (except for FirefoxProfileMigrator) and added a Cancel and Done button to the bottom of the progress page of the migration wizard
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Colorway built-in themes migration:
- A brief mention about the Colorway themes migrating to AMO is in the Firefox 110 release notes
- Colorway closet section in about:addons themes list view has been disabled along with the last active colorways collection reaching its expire date – Bug 1801044
- Enabling Colorway built-in themes to be migrated to themes hosted on addons.mozilla.org (gated by an about:config pref, disabled by default) – Bug 1806701, Bug 1810231
- QA verifications on the Colorway migration has been completed and is is now enabled by default and riding the Firefox 111 release train (Bug 1808589)
WebExtensions Framework
- As part of fixing a regression (originally introduced in Firefox 96 by Bug 1675456) in Bug 1792559, we landed an initial (partial) fix for the issue with extension exceptions raised from a WebExtensions API event listener being missing from the add-on debugging toolbox (which technically is logged in the Browser Console when the multiprocess mode is enabled, but logged without the expected source url and line number from the extension code raising the exception in the error stack trace)
- Bug 1792559 is a partial fix because, without further changes, we can’t include the full error stack from the original exception (in particular when the extension code is throwing “undefined” or an object that is not an instance of “Error”). Bug 1810582 is tracking further follow-ups to achieve a more comprehensive fix.
- Bug 1808459 made sure that if the “extensions.getAddons.showPane” pref is set to “false” then clicking the extensions button when there is no extension installed is going to open the about:addons “extensions list” view instead of opening the about:addons “recommendation” view (which is disabled by the pref).
- Thanks to Malte Jürgens for contributing the fix!
- Bug 1795213 fixed a Fluent error logged when the add-on install popup was being disabled (as a side note: besides the fluent error being logged, there wasn’t any issue from a user perspective)
WebExtension APIs
- As part of the ongoing work on the declarativeNetRequest API:
- Bug 1811947 introduced a permission warning for the “declarativeNetRequestFeedback” permission
- Bug 1816319 exposed the API namespace properties for the DYNAMIC_RULESET_ID and SESSION_RULESET_ID constants
Developer Tools
DevTools
- Christian Sonne landed a patch to display subgrid in the auto-complete suggestions for grid-template-* and grid properties in the Rules view (bug)
- Emilio fixed an issue that would leave the page in a weird state when closing Responsive Design Mode (bug)
- Arai fixed eager evaluation so it does not assume getters are effect-free anymore (bug)
- Nicolas added support for “Change array by copy” methods in eager evaluation (bug)
- See https://github.com/tc39/proposal-change-array-by-copy
- This is behind the javascript.options.experimental.enable_change_array_by_copy pref.
- Julian fixed the “Disable javascript” feature (bug)
- Alex made it possible (again) to select or click html response in the Network panel (bug)
- Hubert is working on the Debugger “Search in all files” feature:
WebDriver BiDi
- Sasha added support for two new commands script.addPreloadScript (bug) and script.removePreloadScript (bug) to schedule scripts guaranteed to run before any other content script (used by test frameworks to preload helpers for instance).
- Sasha fixed a bug which prevented us from using preload scripts and events simultaneously (bug)
- Henrik released a new version of geckodriver v0.32.2 which fixes a semver issue introduced with the previous version (bug).
ESMification status
- We’ve crossed the half-way mark! Over 50% of the tree converted to ESMs, over 50% of browser/ as well
- ESMified status:
- browser: 52.4%
- toolkit: 39.2%
- Total: 53.5% (up from 47.1%)
- #esmification on Matrix
- Migration Document (with a walkthrough!)
Migration Improvements (CalState LA Project)
- Steven got rid of cookie migration for most of our migrators. This resource migration type was always a bit finicky, and ran the risk of importing tracking cookies, or cookies that still wouldn’t allow the user to maintain their existing sessions because of the User Agent change. Migrating cookies during a Firefox Reset still works.
- Steven also added “Cancel” and “Done” buttons for the “progress” page of the new migration wizard.
- Nolan implemented the second variant for the new migration dialog, which makes it easier and simpler for users to select to migrate all resource types by default (while still allowing them to disable individual ones). We will be experimenting with this variant along with the default variant once this ships by default.
- Portia added branding assets for each browser that we migrate from. This will be used to show icons for those browsers in the new migration wizard.
- More exciting upcoming things:
- Bryan and Alvin are getting quite close with favicon import for Safari and Chrome-based browsers. The students are in the midst of writing automated tests.
- Ani has a working solution for importing from Chromium on Ubuntu when Chromium is installed as a Snap package (and when Firefox is not installed as a Snap package). This patch is currently going through review cycles.
- We believe we have a solution for importing when Firefox is installed as a Snap package, and will begin on that next.
- Brian is working on showing an error message when no other browser/profile pairs can be found to import from.
- Portia is adding the new rich browser/profile selection dropdown to the new MigrationWizard, powered by the <panel-list> reusable component.
- Zach is still working on getting credit cards stored in Chrome imported into Firefox’s credit card database (presuming the user has authorized Firefox to do so)
Picture-in-Picture
- Janvi updated our AirMozilla wrapper so that the play/pause and mute buttons sync up
- Niklas fixed an issue where PiP controls don’t hide after adjusting PiP font settings
- Niklas landed a patch that ensures that PiP dimensions and position are saved after closing full screen mode when video src changes
- kpatenio made the PiP window easier to move if the PiP window is of a smaller dimension
Performance Tools (aka Firefox Profiler)
- Improved timer markers make it easier to see what timers are running when and at which frequency. Add the Timer thread to the thread filter to see them. Example profile
Search and Navigation
- Dao:
- has added a new Learn More option to the result menu of history results in the URL bar
- has fixed a bug with the menu not disappearing
- has also improved high contrast mode. The feature has been enabled in early beta for testing purposes.
- Standard8 has cleaned up some search service code: Bug 1800892, Bug 1815842, Bug 1815911
- Standard8 has solved a problem with the list of search engines in Preferences having duplicate entries after a Restore Defaults
- James has resolved a bug where permission prompts would not properly anchor to the URL bar when the persisted search terms feature is enabled
- James has resolved a visual problem with the Got It button in urlbar tips looking focused even if it was not
- Daisuke has added telemetry to understand how often users dismiss autofill text in the urlbar input field. This will allow us to experiment with new URL bar autofill features.
- Stephanie improved search telemetry.
- Special thanks:
- Ryan Johnson has corrected a few articles on SUMO that were returning a Not Found error when reached from urlbar tips.
- Gregory Pappas has removed results limit for omnibox WebExtension providers, to align the behaviour with other browsers
No comments yet
Post a comment