Firefox/Meeting/24-Sep-2019
Today’s meeting leader is: lina
Contents
- 1 General Topics / Roundtable
- 2 Project Updates
- 2.1 Add-ons / Web Extensions
- 2.2 Applications
- 2.3 Firefox Accounts
- 2.4 Sync and Storage
- 2.5 Push
- 2.6 Browser Architecture
- 2.7 Developer Tools
- 2.8 Console
- 2.9 Debugger
- 2.10 Inspector
- 2.11 Network
- 2.12 Fission
- 2.13 Lint
- 2.14 New Tab Page
- 2.15 Password Manager
- 2.16 Performance
- 2.17 Performance Tools
- 2.18 Picture-in-Picture
- 2.19 Privacy/Security
- 2.20 Search and Navigation
- 2.21 User Journey
- 3 This week I learned
General Topics / Roundtable
- Fx71 Feature technical documentation is due on Friday
- [johannh] You can now use Services.console.logMessage in the parent process and specify a windowID to log an (error) message in devtools the content process. (Like this) (Thank you to :pbz)
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- :prathiksha
- Itiel
- Maxime Vaillancourt
- Miriam
- Nils Maier [:nmaier]
- Sorin Davidoi
- Yuan Cheng
New contributors (🌟 = first patch)
- 🌟 abowler2 cleaned up some unused variables in some of our WebExtensions tests and also got rid of some redundant CSS in our certificate viewer code
- Alex R. fixed a bug where our JavaScript Debugger would sometimes show an older script when pretty-printing
- Brian Chen made it so that more of about:preferences uses Fluent for localization
- Yuan Cheng fixed a bug where sometimes we’d show a modal warning the user about discarding edits to a login that they were already deleting in about:logins, and also fixed an issue in about:logins where the favicon for a site wouldn’t display correctly
- 🌟 Maxime Vaillancourt added a separator after the Computed Style filter input in the DevTools Inspector, and also fixed a keyboard navigation bug in the Inspector when using an RTL locale
Project Updates
Add-ons / Web Extensions
- As part of Bug 1578508 - [meta Extension Settings and Preferences issues], Shane worked on fixing bugs related to cleaning up the preferences controlled by the extensions when the extension is uninstalled (Bug 1576266, Bug 1580049, Bug 1438364 and Bug 1411046)
- Rob ensured that the expected scroll offset is restored when navigating between the HTML about:addons views,
- as part of Bug 1570715, Rob has also added a new “extensions.webextensions.warnings-as-errors” preference (which defaults to true in tests), this preference is used to ensure that errors are raised when a deprecated WebExtensions manifest property or API in used in a test where it wasn’t expected (ExtensionTestUtils.failOnSchemaWarnings test helper allows the developer to avoid the error when/where appropriate).
- Luca removed the "extensions.cookiesBehavior.overrideOnTopLevel" preference and the unused (and deprecated) code locked behind it, as it was also problematic for Fission-related changes to the AntiTracking internals (and the deprecated behavior was planned to be removed in Firefox 71, after 3 releases)
- Nils Maier (DownThemAll! author) contributed a new allowHttpStatus option to browser.downloads.download API method, this new option allows an extension to ask Firefox to do not cancel downloads on HTTP errors (which was the behavior of the downloads API on Firefox before the chrome-compatibility fixes applied by Bug 1576333 and Bug 1579850)
- April Bowler cleaned up some unused parts of the MockProvider (which is used in the AOM tests). Thanks April for your contribution!
Applications
Firefox Accounts
You’ll soon be able to sign in to FxA without automatically signing in to Sync. This is an important step in our subscription services story. ✨
Mark landed a large refactor (bug TBD) of the FxA module—please file bugs if you notice regressions with FxA sign in, Send Tab, or Sync!
- We’ll be replacing confirmation links in emails with codes soon, to improve the experience when signing in to a second device. 📱
Sync and Storage
- “Choose What to Sync” coming soon to Fenix! ♻️
- New bookmark sync enabled by default in Nightly and Beta, and will be gradually rolled out to all users in Release 70. 📚
Push
- No updates this week.
Browser Architecture
- Five. XBL. Bindings. Left! 🎊🎉
Developer Tools
Console
- inspect(x) helper shows x in the appropriate panel (bug 1575240)
- Editor Mode is now in DevEdition (bug 1580871)
Debugger
- Added UI to disable debugger statements (bug 1577376)
- Added ability to log event listener calls and search event listener breakpoints (bug 1567966)
- Performance improvements for startup and inline preview
- Watchpoints landed behind pref (devtools.debugger.features.watchpoints) (bug 740548)
Inspector
- Fixed bug where the Inspector stopped working when “disable HTTP cache” option was used (bug 1572933)
- Made auto-complete in rules view more resilient (bug 1543782)
- Rules view now shows :visited styles (bug 713106)
- Color swatches now appear next to custom properties that appear to be valid colors! (bug 1456167)
Network
Enabled search in the Network Monitor (ctrl+shift+f / cmd+shift+f)
The user can search across all HTTP requests including response bodies, request bodies (aka POST data), request/response headers and request/response cookies
We are seeking for feedback at this point!
554x257px
Fission
- Findbar is done. Only one regression so far to be fixed soon.
- Next up: autocomplete for login manager! 🔐
mconley, Gijs and barret are mentoring MSU students to fix some smaller components
PopupBlocking
Picture-in-Picture
Page Style
PageThumbs
PurgeSessionHistory
Lint
Shashank enabled ESLint for dom/xhr.
We've now got ESLint enabled everywhere except dom/media/test/ and a few devtools files/directories.
- Monika enabled prefer-boolean-length-check for browser/ and toolkit/
- no-async-promise-executor has been fully rolled out to browser, toolkit and devtools.
New Tab Page
Password Manager
- Logins can now be imported from Chrome on macOS.
-
Last round of beta uplifts completed on Sunday, will be shipping with Firefox 70.
Highlights of the most recent work:
- Made available to UITour for first-run experience
- Added telemetry probes for sorting the list and how the page is accessed
- Search filter searches passwords when MP is disabled
- Fixes for favicons disappearing
- UI tweaks to get closer to the design spec: 1, 2, 3, 4, 5, 6, 7, 8
Performance
- emalysz made it cheaper to gather some process and operating system information for TelemetryEnvironment.jsm on startup, and got rid of some unnecessary main-thread IO we were doing every startup
- Gijs is slogging away trying to avoid synchronous scanning for Flash on startup, and recently removed a bunch of plugins main-thread IO that’s no longer necessary
- dthayer is consulting with the team that worked on Price Wise to figure out how Fathom can be used performantly to examine pages for things like buyable items, and also trying to speed up the StartupCache
- mconley is consulting with the Fluent team to evaluate the performance impacts of the current implementation and make recommendations
Performance Tools
- Recording of native allocation stacks have landed in Nightly. It's experimental but you can enable it in the features and give it a try. Front-end side is still WIP but you can also see an example profile here.
602x74px
(You should check the native allocations checkbox in the profiler settings. https://i.imgur.com/gCdn5Hq.png)
540x383px
(Allocation stacks in the call tree https://i.imgur.com/02GVHwM.png)
- New marker infrastructure has landed. Reducing the cost of markers by storing them in the profiler buffer.
- Visualization of JS tracer data has landed. JS tracer is not enabled right now in Firefox but you can see your old JS tracer data currently. You can also see an example here: https://perfht.ml/2lafPch
- Michael, our one of the most impactful contributors, is working on the profiler popup dark mode.
Picture-in-Picture
- We’re still on track to do a slow rollout of the feature in Firefox 71 for Windows users. Coordinating with pascalc on the relman side.
- Notice a PiP bug on Windows? Please file it blocking this meta bug.
Fixed:
Bug 1545924 - Picture-in-Picture toggle icon should not display if set media.videocontrols.picture-in-picture.video-toggle.enabled = false
Bug 1543810 - New Picture-in-Picture toggle is not detected when video has pointer-events: none
Bug 1543027 - Snapping Picture-In-Picture videos to the left/right/top with the mouse displays thick white bars on the video's sides
Bug 1536011 - Windows taskbar button title is empty in Picture in Picture mode
Bug 1568318 - Picture-in-Picture indicator icon is hard to see with a dark theme
Upcoming:
Bug 1549442 - Picture-in-Picture toggle does not collapse or disappear if the mouse moves outside of the window.
Bug 1581942 - Snapping Picture-In-Picture videos to the left/right/top with the keyboard displays thick white bars on the video's sides
Bug 1582171 - [Amazon Prime] PiP window becomes white if the next episode is loaded
Bug 1582178 - [Amazon Prime] PiP window becomes white after closing the video in the main window of the browser
Bug 1582106 - PiP window conflicts with Youtube miniplayer functionality
Bug 1562218 - [Intermittent] PiP window displays only a white border instead of a video
- (Presuming we can find a way of reproducing it reliably)
Privacy/Security
Firefox Private Network is out in Public Beta! The current version is V11 and is ready for testing! Get it on https://private-network.firefox.com/ (US only, Mozilla internal folks can get it on Mana)
Thank you for testing and filing tons of issues. Make sure you’re on the latest version.
We’re getting ready to ship our big UI update: the new protections panel and protections report in Firefox 70!
Lots of bug fixes and improvements going on.
- Tim made the lock icon on certificate errors be a consistent warning triangle
- Firefox 69 shipped Enhanced Tracking Protection turned on by default. Our goal for ETP (in “standard” mode) is that it should not break websites. If you’re running on “standard” mode and notice website breakage from ETP, please file a bug against bug 1480137.
Paul is working on removing nsPermissionManager interfaces that accept a URI and he’s almost done! Follow along here.
There’s also a slightly bigger effort going on to avoid using URIs to make security decisions and use principals instead.
We’re looking into what it takes to remove nsContentBlocker for performance and maintenance reasons.
Previous attempt didn’t take into account image blocking, we’re now adding telemetry for that.
- Prathiksha picked up some loose ends from her internship and is now almost done with transitioning about:certerror to use RemotePageManager.
- Thomas is working on shipping Feature Policy and adding Permission Delegation on top of it.
Search:
Regression fixes:
Fixed a case where upgrading to Firefox 69 could break search engines configuration
Work continues on search engine for private browsing
Work continues on search configuration modernization
Tests are now running on both the legacy and the new configuration
Quantum Bar:
Regression fixes:
Fixed urlbar support for browser.fixup.dns_first_for_single_words and single word host user notification
Work continues on the “megabar” redesign
Got animation
Fixed url selection on focus
Work continues on Search Interventions experiment
Added a new “tip” result type, that can consume more space than common results and have a different selection behavior
User Journey
Added support for remote Fluent files via Remote Settings
Working on more CFR messages that promote various Firefox features:
This week I learned
Mach has tab completion for bash/zsh
There is currently a bug related to the python2=>python3 transition
- [mconley] BrowsingContext’s can be sent across JSWindowActors (and maybe the message managers as well), so you don’t have to send the IDs around anymore.