Highlights
- Starting from Firefox 96, a new “browser.runtime.getFrameId” method allows an extension content script to retrieve the frameId associated to a WindowProxy of an embedder DOM element (e.g. frame, object etc) – Bug 1733104
- This is also the first enhancement to the WebExtensions APIs coming directly from the W3C Community Group! (https://github.com/w3c/webextensions/issues/12)
- We published the Performance Tools Newsletter for Q3 2021. You can find it here if you are curious about the things we’ve worked on in Q3.
- We have improved the flow around PDFs being downloaded/opened.
- Content-Disposition: attachment pdfs will now open in PDF.js if it’s available.
- Clicking the save/download button on Nightly now prompts for a location instead of opening another tab with PDF.js
- Are you a volunteer contributor on Windows 10 or up? Good news! mozilla-build works with the latest version of the Windows Terminal, which is a much improved experience over using the old default terminal.
- Features include:
- Tabs
- Better color, link, icon and font support
- Opacity
- Being open source!
- You can set it up to just run the mozilla-build start-shell script inside of it.
- New profile in settings, set command line to C:\mozilla-build\start-shell.bat (or wherever your start-shell.bat is)
- Features include:
Friends of the Firefox team
Introductions/Shout-Outs
- Introducing Chris Bellini, a new Engineering Manager for the Search / New Tab team!
Resolved bugs (excluding employees)
Fixed more than one bug
- Ava Katushka
- Evgenia Kotovich
- Geoff Lankow (:darktrojan)
- Mathew Hodson
New contributors (🌟 = first patch)
- 🌟 Kian updated nsBrowserGlue.js to use weak references when adding observers
- 🌟 Raphaël Ferrand applied new classnames as you type in the .cls section of the rule-view
- 🌟 Jake Gealer added migration from Brave
- Danielle Lamoureux removed remaining (non-negated) -moz-proton media queries
- Shaoting Huang updated certificate error page action buttons to match Figma spec in high contrast mode
- Tawah Peggy removed lodash union usage
- Clinton removed lodash uniq usage
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- As part of Fission related changes for the WebExtensions and AddonManager internals, one more of the remaining framescripts has been removed (and we got a small but still good improvement on the Base Content JS perftest \o/) – Bug 1708193
WebExtensions Framework
- Fixed a leak due to the ExpandedPrincipal and nsCSPContext keeping a strong reference to each other – Bug 1741600
- This leak was only happening with content scripts defined by a “manifest_version: 3” addon, and so never actually triggered in release, our tests caught it first.
WebExtension APIs
- As part of the ongoing ManifestVersion 3 work, William Durand landed in Firefox 96 the initial bits of the new “browser.scripting” API – Bug 1740601
- This API requires the new “scripting” permission and it is currently only allowed in “manifest_version: 3” extension manifests (and so also locked behind the about:config preference “extensions.manifestV3.enabled”)
- The work for “scripting” API namespace is tracked by the Bug 1687764 meta
Downloads Panel
- mtigley made it a little easier to follow the download autolaunch code by renaming `LaunchWithApplication` to `SetDownloadToLaunch`.
- mtigley fixed a Nightly (improvements-pref specific) issue where files were created twice when selecting a save destination using the file picker
- Ava landed the first UI piece for showing blocked downloads in the panel. This feature is still very much WIP, so test at your own risk:.
- Behind browser.download.enable_spam_prevention preference
- Currently working on saving whether or not user will allow blocking downloads per site
- kpatenio is working on fixing the “Always Open Similar Files” context menu item showing intermittently
Fission
- Rollout to 100% on release is almost done!
Form Autofill
- :dimi resolved a performance issue in our autofill heuristics that was causing noticeable jank when focusing fields in certain situations
- :dimi closed out an intermittent where there was an internal state desync between form autofill and the login manager
- :tgiles fixed an issue where form autofill was not recognizing the card holder name on Amazon.de
- :tgiles fixed an issue where the credit card name heuristic was not generic enough for Amazon’s other localized sites
- :tgiles fixed an issue where the expiry date on ebay.de was not autofilled correctly
High-Contrast Mode (MSU Capstone project)
- Noah fixed a UI glitch for the PiP toggle button
- Danielle removed remaining usages of `-moz-proton-` media queries from our codebase! 🎉🎉🎉
Desktop Integrations (Installer & Updater)
- MSIX developer improvements:
- `./mach repackage msix –sign` will produce a usable MSIX package in most cases
- Some documentation updates, including debugging information.
Lint, Docs and Workflow
- Standard8 enabled ESLint rules no-undef and no-unused-vars on xhtml files under dom/.
- This also found a broken test which was largely not running due to errors which were caught and hidden due to the test’s use of promise chaining and not checking the exceptions of thrown errors.
macOS Spotlight
- Work is underway to support Apple’s Screen Time API. This lets you define time-based and/or parental control limits for certain webpages. When you’ve reached the limit, across all your devices, an overlay will occlude the webpage. Don’t worry: this is an opt-in feature at the OS level and the overlay can be dismissed.
- We’re working on fixing issues where the video power consumption improvements from a few weeks ago were actually regressing power consumption on older Macs. Those improvements are disabled on affected Macs while we investigate.
Printing
- Bug 1740630 – Printing selection from parent process browsers is broken and disabled
- Bug 1661663 – Popular sites prevent the print preview Margins menu from working (users need a way to override @page margins)
Picture-in-Picture
- We’ll be kicking off an Outreachy project next week! Molly, Katherine, and Micah will be mentoring the project. See metabug for this project to follow along.
- kpatenio is working on making it possible for PiP to handle transition between “autoplay” videos
Performance
- Shout-out to mtigley who figured out a ~19% tp5 responsiveness issue caused by an earlier Downloads Panel bug
Search and Navigation
- Mandy Cheang [mcheang] improved copying partial URLs from the Address Bar so that the resulting url is encoded (note: there is a browser.urlbar.decodeURLsOnCopy pref to change the Address Bar behavior) – Bug 1539511
- Drew has landed various improvements to Firefox Suggest and enabled the Merino service (Mozilla owned server for suggestions) for users who opted-in.