Firefox/Meeting/18-May-2021
Todayâs meeting leader is: emalysz
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons / Web Extensions
- 3.2 Fission
- 3.3 Installer & Updater
- 3.4 macOS Spotlight
- 3.5 Messaging System
- 3.6 New Tab Page
- 3.7 Nimbus
- 3.8 NodeJS
- 3.9 Password Manager
- 3.10 PDFs & Printing
- 3.11 Performance
- 3.12 Performance Tools
- 3.13 Picture-in-Picture
- 3.14 Privacy/Security
- 3.15 Proton/MR1
- 3.16 Search and Navigation
- 3.17 Screenshots
- 4 This week I learned
General Topics / Roundtable
[mconley] The Joy of Profiling!
Sharpen your profiling skills! Good for performance work, but also for understanding the steps the browser goes through to do things. Helps reveal the invisible!
Matrix channel: #joy-of-profiling
Open sessions
- Currently scheduled every Monday.
- Find them in the Performance Office Hours calendar:
</li>
Last session was yesterday, Monday, May 17. 4pm Paris/Berlin, 10am Toronto. Every other week, itâs 4h later to be more North America-friendly
Additionally: Bas has performance office hours on Tuesdays. Take advantage! Even if itâs just to bat some ideas back and forth.
</li></ul>
Friends of the Firefox team
For contributions from May 4 to May 18 2021, inclusive.
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Introductions/Shout-Outs
- None
New contributors (đ = first patch)
- Alej0hio2007 đ
- Ava Katushka
- Gagah Pangeran Rosfatiputra
- Manuel Carretero
- Ryedu.09
- Silke Hofmann
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Landed some more styling tweaks for making sure about:addons does better match the new Proton UI conventions: Bug 1709464 and Bug 1709655
WebExtensions Framework
- More Fission-related changes landed in Firefox 90: Bug 1708238
- Work related to the âmanifest_version 3â: Support for new web_accessible_resources manifest property formats - Bug 1696580, Bug 1697334
WebExtension APIs
Starting from Firefox 90, Extensions will be allowed to use the Cache web API from extension pages to cache HTTP resources (caching an http url using the Cache web API will be still enforcing the extensions host permissions, as it would if the extension would be fetching from the same URLS using fetch or XHR) - Bug 1575625 and Bug 1710138
Thanks to André Natal for contributing this change as part of his work on the Project Bergamot extension
Announced deprecation of canvas drawWindow webAPI method, due to incompatibility with the Fission architecture:
Developer Tools
Fission
- mccr8 enabled the Process Priority Manager for subframes
- pbone landed some GC scheduling tweaks to make it less likely that closing many tabs all at once will result in long GC pauses
Installer & Updater
Lint and Docs
Silke did a patch to stop using the second argument to ChromeUtils.import when importing EnterprisePolicies.jsm.
This is part of a set of bugs to finish enabling the mozilla/reject-chromeutils-import-params ESLint rule everywhere which will aid potentially switching the module system to es6 modules in future.
macOS Spotlight
(No update in the last meeting. These changes are since April 26.)
Native context menus landed in Firefox 89! This closes the 21-year-old bug 34572.
We also fixed a number of follow-up issues, like supporting dark mode context menus on macOS 10.14+.
Ongoing work on enabling native fullscreen by default (Bug 1631735). Enable full-screen-api.macos-native-full-screen to try out macOS native fullscreen.
Always using native fullscreen will (among other things) create new fullscreen Spaces for fullscreen content like videos. You could, for example, put a fullscreen YouTube video in native Split Screen next to another application.
Ongoing work on enhanced dark mode support. Enable widget.macos.respect-system-appearance to try it out (expect breakage!) (Bug 1623686).
Recent fixes include a dark library window (Bug 1698763), dark page info dialog (Bug 1698754), and a dark âClear Recent Historyâ window (Bug 1710269).
- Scrollbars now squish during rubber banding.
Messaging System
- about:welcome improvements: accessibility, design, experiments, localization, talos
Animations/transitions added to about:welcome proton designs (dialog, noodles, text)
- Tightened up upgrade dialog whitespace to better fit shorter screens
New Tab Page
- Accessibility bug fixes for the âpersonalizeâ drawer allowing it to operate better with screen readers (Bug 1707022) Thanks to :eeejay for the patches! \o/ Also a fix for high contrast mode (Bug 1708248) thanks to :morgan and :thecount
- Snippets has been disabled in Firefox 89 (Bug 1709984)
Nimbus
NodeJS
Password Manager
- No updates
PDFs & Printing
- No updates
Performance
- dthayer has a patch up for review to reduce the UI freezes caused by sending SessionStore data to the SessionFile worker.
- mconley would like to experiment with the about:home startup cache using Nimbus, and is considering having the startup cache enabled in MR1.1.
- mconley fixed Bug 1703494 - Remove sync layout flush for hamburger menu opening with proton
- emalysz landed a patch to provide async support for promise workers, and removed OS.File from PageThumbs.jsm. Only 3 callers of OS.File left during startup!
Several BHR improvements:
- Itâs possible to navigate to the data of previous days, and to link to a specific day.
- For hangs with an associated bug, the whiteboard annotation is shown in the top right
- when using the filter box, the filtered word is highlighted in the stack on the right side.
Better data:
- (chrome) JS function names are now included in BHR stacks.
- these label frames are now visible: âChromeUtils::Importâ, âmozJSSubScriptLoader::DoLoadSubScriptWithOptionsâ, ânsThreadManager::SpinEventLoopâ, âCategory observer notificationâ, âServices_Resolveâ, âTaskâ
Doug is working on showing annotations (eg. âUserInteractingâ, âbrowser.tabs.openingâ) in the dashboard
Performance Tools
- Profiler buffer memory is no longer counted in the profiler memory tracks, making it possible to see small memory use variations.
- New label frames for XPIDL method/getter/setter calls (similar to what we already had for WebIDL)
Picture-in-Picture
Privacy/Security
Proton/MR1
AppMenu / Library
Panels
Updated Protections Panel to use the same subview navigation arrow icons as everywhere else
Fixed an issue where the input colour in Dark Theme wasnât 100% correct. Originally filed for Bookmarks Panel, but affects password panel and findbar as well.
Protections Panel Milestone icon dimensions are now enforced
The spacing in the Bookmarks Panel was improved to avoid overlapping the label with focus rings
The Pocket Panel now uses system fonts and em units
Context menus
Modals
2 changes to modal backgrounds in dark mode (2), which were uplifted to 89
Infobars
Onboarding
- Daisuke fixed a bug on Linux where opening new tabs by middle clicking the tabs bar could paste clipboard contents into the urlbar. Bug 1710289
- Daisuke also fixed a bug where pasting a string ending with a combination of CR, LF may drop the search terms. Bug 1709971
- Marco landed a patch improving the tooltips and accessible text when adding new OpenSearch engines - Bug 1706334
- Mark fixed a bug in the separate search bar, where certain characters could be shown encoded in the results panel - Bug 1529220
Screenshots
- Screenshots now factors in Firefox zoom values
- Weâve accepted an Outreachy intern who will start next week!
This week I learned
Adding pauses to our film-strip animations: Bug 1709173 - Extend the pause in the download-complete button before transitioning back to the download icon
Uses a delay in our animation by specifying keyframes to start and resume at specific %ages