Today’s meeting leader is: mtigley
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons / Web Extensions
- 3.2 Developer Tools
- 3.3 Fission
- 3.4 Form Autofill
- 3.5 Installer & Updater
- 3.6 Lint
- 3.7 Messaging System
- 3.8 Mobile
- 3.9 New Tab Page
- 3.10 Nimbus
- 3.11 NodeJS
- 3.12 New Tab Page
- 3.13 Password Manager
- 3.14 PDFs & Printing
- 3.15 Performance
- 3.16 Performance Tools
- 3.17 Picture-in-Picture
- 3.18 Pocket
- 3.19 Privacy/Security
- 3.20 Push
- 3.21 Search and Navigation
- 3.22 Screenshots
- 4 This week I learned
General Topics / Roundtable
Friends of the Firefox team
Fixed more than one bug
- Andrei Petcu [:petcuandrei]
- Erica Wright [:ewright]
- Sebastian Zartner [:sebo]
- Tim Nguyen :ntim
- Tom Schuster [:evilpie]
New contributors (🌟 = first patch)
- 🌟 Karthik Sundar [karthiksundar30092002] fixed a UI issue where expanding objects in the DevTools console made them jump around (Bug 1608571)
- 🌟 David [heftydav] fixed an issue where the Picture-in-Picture icon will disappear when dragging the tab to a new window (Bug 1669205)
- 🌟 Henry Vincent [henryvincent33] fixed a typo in an error message created by DevTools’ Front class (Bug 1699146)
- 🌟 Renuka Bhure [bhurerenuka14] replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_deleteLogin.js (Bug 1698812)
- 🌟 Sneha sai KNVS [snehaa2296] replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_protectionsUI_report_breakage.js (Bug 1698076)
Add-ons / Web Extensions
Addon Manager & about:addons
- Mark adjusted addon signature warning messagebar to make it easier to read on hover (Bug 1694428)
- Fix DocumentChannel process switching on sidebar and popup extension pages (Bug 1646817)
Logging a deprecation warning on extensions using fission-incompatible canvas drawWindow (Bug 1696976)
- As also described in the warning, extensions should use Use tabs.captureTab extensions API instead (which is fission compatible)
- Support for OOP iframes in webNavigation.getAllFrames (Bug 1698398)
Starting from Firefox 88 Services is exposed by default in all WebExtensions API scripts (included the experimental APIs embedded in privileged and builtin addons) - Bug 1698158:
- As part of the FTP removal in Firefox 88 (Bug 1626365):
- browserSettings.ftpProtocolEnable becomes read only
- “ftp” has been added to the list of allowed protocols that extension can register as a protocol handler
- in the proxy WebExtensions API, proxying ftp is deprecated
- Bug 1615242 - Stop uploading DevTools docs on docs.firefox-dev.tools
- Bug 1693147 - Use toggle button for switching between raw and formatted request view (contributed by :sebo). Screenshot online
- Fission M7 All bugs completed
- Decided not to fix the disabled WebPayments UI for fission.
- Closed the frontend fission metabug! 🎉🎉🎉🎉🎉🎉🎉
- Fission beta experiments will start this week (Firefox 88)
Installer & Updater
- bytesized Bug 1483399 - Add option in preferences to disable Background Update Agent
- bytesized Bug 1691495 - Add policy/policies for `app.update.background.enabled`
- bytesized Bug 1697924 - Migration of app.update.auto incorrectly migrates `false` when there is no un-migrated pref
- nalexander Bug 1687783 - macOS OS-level task scheduler component
- nalexander Bug 1694515 - Add background task utilities for locking and reading prefs and other data from particular profiles
- Support showing different about:welcome default experiences based on some targeting, e.g., Windows build version, that can still be remotely configured
- Various fixes in preparation for rapid turnaround from 87 release “Pin” experiment during 88 beta: landing strings, mac size regression, icon disappearing
New Tab Page
New Tab Page
Bug 1688213 Enable "signon.management.page.fileImport.enabled" for all channels fixed and in 88.
- Import logins from CSV is in beta! Congrats to :petcuandrei for taking this feature from a UX spec and aspirational bugs to implementing and now shipping a feature that rounds out our whole story around login management.
- We now import and export logins, allowing you to round-trip from other browsers, other password managers, backed-up profiles or any other exotic scenario for which you can prepare a comma-separated values sheet, with at least password and URL columns for successful import into Firefox.
- We also have the ability to delete all, so the cost is low to play around with it and file bugs.
- :dimi landed Bug 1166995 - Run login capture code when a form or a formless password field is removed from the document tree. This fixed some long standing issues with prompting to save passwords on sites e.g bigcommerce.com, and no doubt many many others we were never notified about
PDFs & Printing
- Bug 1682162 - Print margin unit should be localized. [sfoster] landed this in 88, so now margin units are displayed according to the unit indicated by your printer. Mms rule.
- dthayer improved the UX of slow script notifications in Fission
- dthayer is also working on various improvements and bug-fixes for the Pre-XUL Skeleton UI
- florian added some very handy profiler markers for CSS animations and transitions. Here’s an example profile.
- The Pre-XUL Skeleton UI experiment will be wrapping up next week, and we hope to have some data on how it impacts new and existing user behaviour
- The Process Priority Manager was originally going to be disabled for Fission, but it turns out that for weaker hardware, it seems to really help with pageload time. The Fission team is looking into how to adapt the Process Priority Manager to work for subframes.
- mconley spoke with k88hudson about using Nimbus / ExperimentsAPI to run an about:home startup cache experiment
- Originally, we had a Normandy experiment set up for about:home startup cache, but it turns out Normandy sets its prefs too late. Nimbus seems to do it earlier, which is good for us.
- barret fixed an AsyncShutdown bug for IOUtils, which should be the final blocker to remove the remainder of the OSFile uses in the tree! \o/
- Visualization of the CPU utilization is now landed and enabled by default on Firefox Nightly. Example profiles:
- Molly [mhowell] and Micah [mtigley] are working on setting up a foundation for site-specific video wrappers (Bug 1670108)
- Oliver [popeoliv]
- Swapnik [katkoor2] submitted a patch where we prevent showing the PiP toggle button for videos with an invalid duration (Bug 1697616)
- If a search engine that is set as default is removed, we will now revert to the region/locale default if it is not hidden, or we will try revert to a general search engine.
- Fixed an issue where updating an add-on which defined a search engine, and changing the search engine name could cause issues.
- `nsISearchService.addEngineWithDetails` has now been removed. This had become a test-only function, but conflicted with future work. Please prefer `SearchTestUtils.installSearchExtension` instead.
- Cleaned up the Search Telemetry in tree documentation - Bug 1698847
- Improved Address Bar handling of pasted strings containing white spaces - Bug 1327589
- Fixed a problem with editing the case of the url ref fragment - Bug 1693320
- Fixed a problem causing Tab to Search results to appear at the wrong index - Bug 1697517
- Reordered the “take a screenshot” context menu item
- Removed screenshots from the page action panel and moved to a dedicated toolbarbutton
- Working on a patch to take into account the zoom factor into when taking a screenshot
This week I learned
- [agashlin] Windows FILE_FLAG_DELETE_ON_CLOSE starts deleting when the first handle closes, but doesn't actually delete it until the last handle closes; it is inaccessible in between (Bug 1696772)
- [florian] `TestUtils.waitForCondition` waits first 100ms (or the specified interval) before checking the condition for the first time. This implicit timer is a cause of several intermittent test failures when the condition isn’t exactly what the test needs, and the test relies on something happening during the initial timer. Attempting to change this behavior made 20+ intermittent failures become perma-fails. I’m fixing this.
- [florian] `BrowserTestUtils.openNewForegroundTab` awaits `BrowserTestUtils.switchTab` which also has an implicit 300ms timer
[florian] EventUtils.synthesizeKey can sometimes trigger 2 “keypress” events instead of one, when the event is transmitted to remote content.
- The Event object has isWaitingReplyFromRemoteContent and isReplyEventFromRemoteContent attributes that I didn’t know existed.
- Some intermittent failures are caused by a test waiting for a synthesized keypress event, and the next test receiving it too!
- Event.preventDefault() stops the event from being sent to the content process after having been handled by a listener in the parent.