Firefox/Meeting/17-Dec-2019
From MozillaWiki
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Accessibility
- 3.2 Add-ons / Web Extensions
- 3.3 Applications
- 3.4 Browser Architecture
- 3.5 Developer Tools
- 3.6 Fission
- 3.7 Lint
- 3.8 New Tab Page
- 3.9 NodeJS
- 3.10 Password Manager
- 3.11 Performance
- 3.12 Performance Tools
- 3.13 Picture-in-Picture
- 3.14 Privacy/Security
- 3.15 Remote Debugging (Chromium Protocol) (read only)
- 3.16 Search and Navigation
- 3.17 User Journey
- 3.18 This week I learned
General Topics / Roundtable
- [Gijs] Mossop (Dave) posted a plan to m.governance for reorganizing some of how the Firefox and Toolkit modules work.
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- Itiel
- jaril
- Logan Smyth [:loganfsmyth]
- Masatoshi Kimura [:emk]
- Miriam
- Tim Nguyen :ntim
New contributors (đ = first patch)
- Edward Billington made it possible to use dataURL background images in styled console log messages
- Marco Vega enabled ESLint for all of the devtools/shared folder
- Carson Greene ported about:logins to work with JSWindowActors
- đ saihemanth9019 added an indication that a WebSocket connection has been closed in the Network Monitor
- Tanner Davies updated the menuitem to reset the zoom level so that the label is âActual Sizeâ
- đ Thiago Arrais fixed the protocol entry for WebSocket connections in the Network Monitor so that they show ws:// or wss://
- Tri cleaned up and simplified some of the code in the Safe Browsing service
- đ Wendy removed some dead code from our Session Restore code
Project Updates
Accessibility
Add-ons / Web Extensions
- Addon Manager and about:addons:
- Removed the deprecated remote discovery panel (Bug 1337627) \o/
- Removed the "extensions.htmlaboutaddons.enabled" and âextensions.legacy.exceptionsâ preferences (Bug 1564525 and Bug 1393834)
- Removed the addon compat overrides (Bug 1572140)
- ntim removed XUL grid from pluginPrefs.xul (Bug 1584311) \o/
- AbuseReports:
- Reports triggered from the Firefox UI (e.g. from about:addons) are now opened in a dialog window by default on Firefox 73 (Bug 1598079), like the ones triggered from AMO using the mozAddonManager API
- Calling mozAddonManager.reportAbuse now closes an existing report dialog and open a new one instead of rejecting (Bug 1602758)
- WebExtensions Framework:
- Tom Schuster landed a follow up fix for Bug 1405971 - Webextension UUID leak via Fetch requests, which now replaces disallowed schemes in the Origin header with null
- As part of Bug 1548700, Shane applied the first part of changes needed to support selecting which extension is controlling a browser preference (the UI part will come next)
- Nihanth landed a follow up fix to cache the CSP prefs in ExtensionPolicyService (Bug 1600390)
- Shane applied a follow up fix to the activityLog API to avoid an extension from locking up by monitor its own activity (Bug 1601357)
- WebExtensions APIs:
- Shane landed a fix to avoid tabs.onUpdated to be fired before tabs.onCreated when a new tab is created (Bug 1586612)
- MĂ©lanie Chauvel contributed a new sidebar.toggle API method (Bug 1453355)
Applications
Firefox Accounts
- No updates this week.
Sync and Storage
- No updates this week.
Push
- No updates this week.
Browser Architecture
- Reminder - DTDs are deprecated. Please use Fluent instead.
Developer Tools
- Console:
- You can now use data-uri as background image in styled messages â Bug 1579663
- Logged functions now indicates if theyâre async/generator â Bug 1316265
- Debugger:
- Watchpoints enabled in all channels (bug)
- Service Worker debugging is landing behind a pref and is ready for early testing: devtools.debugger.features.windowless-service-workers (Enabling bug)
- Async stacks in Debugger are just landing and can be already enabled via devtools.debugger.features.async-live-stacks (bug)
- Netmonitor:
- RDM:
- RDM now shows browser and OS information of simulated devices (1306198)!
- Browser Toolbox:
- We plan on enabling the new Multiprocess Browser Toolbox (formerly known as the Omniscient Browser Toolbox) this week in nightly!
- This will give users of the Browser Toolbox new super power in the inspector, debugger and console, and gets the DevTools team ever closer to really supporting Fission.
- Email going out to various mailing lists soon.
- Also, check out our new project charts on https://arewefissionyet.com/devtools/
Fission
- Weâre somewhere between M4.1 and M5 being completed
- M5 is for âdogfoodable Fissionâ
- According to cpeterson, our current forecast is for M5 to be completed sometime in late February
- M4.1 is for the remaining mochitest failures
- Paradoxically, this is forecasted to be completed in March.
- M5 is for âdogfoodable Fissionâ
- ContentTask.spawn uses are being switched to SpecialPowers.spawn. Use SpecialPowers.spawn now.
- asurkov is chugging along with getting AutoScroll working
- Neil finished porting Form Autofill to be Fission-compatible
- Neil has patches up to make WebRTC permission dialogs work with Fission
- MSU students have completed their semester
- Thank you to Alex Vamvounis, Teja Bayya, James Jahns, Tyler Staats, and Carson Greene for all of your hard work.
- Check out their project video! Really great explanation of what Fission is all about.
- LoginManager port is done
- Patches up to remove ImageDocument messages that are no longer needed - landed and bounced.
- PopupBlocking port is going through polish, mconley to take over after the semester ends
Lint
- Better no-undef support has been landed for xhtml files - ESLint now understands self-closing script tags, and will attempt to find the files referenced to work out what globals they provide.
New Tab Page
- Finishing up some promo topsites changes for an experiment coming later.
- Finishing up Discovery Stream rest of world.
- Finished Discovery Stream responsive design updates.
- Researching performance improvements for a personalization feature weâve experimented with in the past to see if we can get something reasonable.
NodeJS
- The NodeJS installed by `mach bootstrap` will be upgraded (probably today) to a new 8.* version to fix a security hole.
- Will be announced in the usual lists/newsgroups when it happens
- Old version of Node 8 probably will be unsupported (i.e. builds will break without an upgrade) later this week; need to chat with a few more folks about this.
- NodeJS 10.x hopefully coming early in the new year; discussions still need to happen
Password Manager
- Fixed
- Landed and enabled: Only prompting to save logins if a field in a login form was modified by the user
- The GeckoView login storage backend allows a GeckoView app (e.g. Fenix) to provide login results for autofill.
- test_prompt_async.html Fission test fix
- Password generation in private windows follow-up:
- In Progress
- Bug 1604366 - Split login manager auth prompt code from DOM/form prompting code
- Cleanup to make login prompts code cleaner and easier to implement for GeckoView
- Show a dismissed login capture doorhanger when a user edits a password field (before submission)
- Bug 1604366 - Split login manager auth prompt code from DOM/form prompting code
Performance
- Mike has been investigating about:home performance bottlenecks
- Mike has also been working on various Talos tests including a tart regression and trying to enable the blocklist for startup talos tests.
- Gijs has been working on the performance (esp. mainthread IO) of the external helper app service and the blocklist
- Emma has been working on making inserting many tabs during session restore faster
- Doug has been working on making large <select> dropdowns more performant
- Doug also wrote up a timeline of shutdown and a speculative plan of how we can make it more performant.
- Dougâs also put up a patch to make the tresize talos test fission-compatible
- Doug and Florian made our BHR (Background Hang Reporter) data more easily accessible.
- The Remote Settings blocklist is turned on for nightly and beta and that seems to have gone well. Weâre still hoping to turn it on for 72 release.
Performance Tools
- No updates this week.
Picture-in-Picture
- Picture-in-Picture is set to ride out enabled by default for macOS and Linux in Firefox 72, due for release Jan 7th, 2020!
- Fixed:
- Bug 1601761 - Enable the PiP audio toggle in nightly
- Held to Nightly for now for testing and UI feedback
- Bug 1535437 - Picture-in-Picture window should resize when the video changes dimensions
- Bug 1591253 - Move the PIP player based on its screen position when resized
- Bug 1599421 - There is no minimum size for the PiP video frame on Ubuntu
- Bug 1599529 - PictureInPicture keyboard shortcut code uses message manager instead of JSWindowActors
- Bug 1599887 - [Windows] PiP (Picture in Picture) -> Crash Report [@ OOM | small ] / Process Type = gpu / Crash Reason = EXCEPTION_BREAKPOINT
- Bug 1601761 - Enable the PiP audio toggle in nightly
- In progress:
- Bug 1592286 - Investigate whether we can add hooks for the webcompat add-on to modify the position and visibility of the Picture-in-Picture toggle
- Current design lets us position the toggle in a few different positions for particular URLs.
- Bug 1592286 - Investigate whether we can add hooks for the webcompat add-on to modify the position and visibility of the Picture-in-Picture toggle
Privacy/Security
Remote Debugging (Chromium Protocol) (read only)
Priorities for our next deliverable in 2020 include Fission compatibility, the CDP Network domain and more upstream Puppeteer work.
Weâve made important progress in our support of CDPâs Page and IO domains:
- Maja implemented parts of Page.createIsolatedWorld and Page.addScriptToEvaluateNewDocument to enable the creation of extra JavaScript execution contexts on page load.
- Henrik implemented parts of Page.getLayoutMetrics to retrieve the layout (fixed) viewport and the full content size. Both are needed for better screenshot capabilities like capturing the full page.
- Henrik added support for Page.printToPDF to allow the current web page to be printed to a PDF file. This also includes the implementation for handling streams via IO.read and IO.close.
Search:
- Notable changes:
- Removed the âAutomatically update search enginesâ option, because it was confusing for users; built-in engines donât respect it, most Search Engines installed don't support it, and it doesn't stop the engine lists changing (which is what some people thought it would do) - Bug 1444426
- Search configuration modernization
- No notable updates, work continues.
Address Bar:
- Notable changes:
- New in-tree technical documentation about urlbar telemetry
- Visual redesign
- The new design has been re-enabled in Nightly, but wonât be released in 73 - bug 1599784
- Expanded text on focus has been disabled because of usability problems with input selection - bug 1601339
- Container indicators have been modified so they are no longer covered by the urlbar expansion - bug 1588780
- URLs wrap to a second line sooner when shrinking the urlbar - bug 1601325
- Retained results work more reliably - bug 1593964, bug 1601450
- Increased panel opacity for themes using a transparent background for the urlbar - bug 1601664
- Search Interventions experiment
- Search Tips experiment
- QA ongoing.
Other:
- Favicons added dynamically after the pageshow event, or with âCache-Control: no-storeâ, are no more stored in Places - bug 1598371.
- Fixed a regression in history where titles from sub frames could overwrite top frames titles, thanks Emilio! - bug 1601563
User Journey
- We launched a Whatâs New campaign in 71
- 121x241px
- Goal is to get more people to use Firefox on their phone and sign in to FxA
- Moments campaign promoting mobile Firefox following a new release process for remote deployment to a large percentage of the Firefox userbase
- With so many types of messages and contributions from other teams, improving various aspects of Messaging System platform
- Focusing on performance, e.g., caching
- Improved devtools for development and QA verification
This week I learned
- [RyanVM] Fx72 ships in 3 weeks!