Firefox/Meeting/27-Feb-2018
From MozillaWiki
Today’s meeting leader is: mconley
General Topics / Roundtable
- [mconley] Introducing window.promiseDocumentFlushed! This is a more reliable way of having JS run just after the refresh driver tick when we know that style and layout information is cheap to get. See this document for examples on how to use it, or check out the tests.
- [bgrins] Incoming <tabbrowser> changes. In Bug 1392352 we will rewrite the tabbrowser implementation out of XBL and into a JS class. Once this lands:
- You shouldn’t have to change (almost) any code that accesses `gBrowser`.
- There will still be a XBL binding, but just for <content> and to initialize this class in the <constructor>.
- Any in-flight patches touching the tabbrowser binding will need to be rebased away from tabbrowser.xml and to tabbrowser.js (sorry).
- `gBrowser` will no longer be a reference to a DOM node, but a plain JS object. If you need access to the <tabbrowser> node, you can still get to it via `gBrowser.container`. For some examples, see the patch that migrates away from the XBL binding.
- [mconley] Don’t forget about --try-test-paths and test-verify-e10s
- Example
- try: -b do -p linux64 -u mochitest-e10s-bc,test-verify-e10s -t none
- try: -b do -p linux64 -u mochitest-e10s-bc,test-verify-e10s -t none
- Example
--try-test-paths browser-chrome:browser/base/content/test/performance
--artifact
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Introductions
- Anthony Liddle - owner of Pocket Extension (anthony on Slack)
- Resolved bugs (excluding employees): https://mzl.la/2F5TXXk
- More than one bug fixed:
- :prathiksha
- Arthur Edelstein [:arthuredelstein]
- Oriol Brufau [:Oriol]
- Richard Marti (:Paenglab)
- Tim Nguyen :ntim
- New contributors (🌟 = First Patch!)
- 🌟 Apoorv Goel made it so that about:telemetry uses the new Symbol Server
- 🌟 Connor Masini made it so that WebExtensions can theme arrow panels 🚀
- Dark Theme Darkening 🌘 update #3 was sent to firefox-dev
- More than one bug fixed:
Project Updates
Add-ons
(ddurst has no voice: read-only)
- Only one homepage can be set by extensions, in 60
- Clearer messages for when an extension is controlling New Tab and Home pages, in 60
- Buncha test fixes, notably chasing down NS_ERROR_FILE_ACCESS_DENIED, fixed in 59
- devtools.network.onRequestFinished implemented, mostly useful for DevTools extensions, in 60
- removed some innerHTML (and fixed some bolding broken by sanitization in 1432966), in 59
- ...and some more (in dynamic install prompt messages), in 60
- Fixed a regression on WebExtension themes in Thunderbird, in 60
- Helped out with reducing FOUC by running document_idle after DOMContentLoaded and after layout has had a chance to start, in 60
- Theming of arrow panels! in 60
- Fixed browser and page actions cleared when navigating, in 59
- Fixed pageAction visibility error (conflict between show_matches and hide_matches), in 59
- Opening a popup now gets focus, in 60
- Hidden tabs are restored when the extension that hid them is removed, in 60 -- didn’t make 59, though :(
- (sorry)
Activity Stream
- Added section context menus allowing for more in-page customizations: reordering
- Highlights include “Saved to Pocket” cards with more caching heuristics incoming
- Reevaluating approach for about:preferences move to incorporate Fluent
Browser Architecture
- Investigating XULStore alternatives.
- Proposing using Node as part of the Firefox build.
- Migrating <tabbrowser> to a JS class.
- Sync and Storage folks are holding weekly show and tells for their cross-platform syncing code, ping Emily Toop if you’re interested.
- Continued progress on removing XBL bindings and XUL overlays.
Lint
- Working on rolling out more Cc/Ci/Cr/Cu fixes to the rules & spread the coverage of the rules out further.
- Rolling out no-unused-vars for the global scope (as well as the existing local checks) in *.jsm files (meta).
- ESlint bumped to 4.18.1, includes support for “ecmaVersion: 2018”, especially async iteration (for-await-of)
Policy Engine
- Bug 1433136 - GPO support landed!
- Bug 1438243 - UI improvements to blocked page
- Policies
- Bug 1428924 - Bookmarks
- Bug 1429185 - Block Devtools
- Bug 1432355 - Block Private Browsing - Will land today
- Bug 1429148 - Don’t Remember passwords, Disable Master Password
- Bug 1429186 - Homepage setting and locking
Performance
- [mconley]
- [florian]
- The address bar is now focused before first paint, to avoid flicker
- There are Talos profiles generated automatically for each nightly build, look for T-P-e10s job on treeherder.
- Doug Thayer fixed a 1-frame, eye-straining flash that was occurring on macOS when clicking on a link in Activity Stream
- Gijs has been reducing blocklist sizes, and is working on making accessing the blocklist lazier
- paolo has been refactoring PanelMultiView to make it less buggy, removes an XBL binding, and in preparation for removing a sync layout flush
Platform Audibles
- None today!
Privacy/Security
- Heads up: We are currently testing upgrading mixed passive content on Nightly. This will probably break images on some sites. See the dev-platform post for more info.
- Some larger UI changes to about:preferences landed last week, combining cookies, site data and cache into a single section. User Study [Mozilla Confidential]
- Related to that, the tiny “Clear Recent History” link in about:preferences is now a nice regular button.
- We’re no longer showing the (admittedly quite annoying) canvas permission prompt unless the canvas data was accessed from a user interaction.
- We are looking to deprecate navigator.registerProtocolHandler over insecure HTTP in the ~62 timeframe. It’s already disabled on Nightly. Please file bugs in the DOM Security component.
- There are new identity UI pieces for showing disabled (“paused”) WebRTC streams (which will be available to sites starting with Firefox 60 to avoid showing another permission prompt when temporarily turning off devices).
- The Symantec CA distrust policy action is underway in Nightly. This policy is being implemented by Chrome in M66, which will release ahead of Firefox 60.
- Please direct questions and concerns to jc@mozilla.com [:jcj] @jcj
- Note that filing bugs for particular websites is not useful; we’ve been duping them on Bug 1436062.
- TLS Canary shows ~300 high-ranking sites broken: https://tlscanary.mozilla.org/runs/2018-02-23-11-56-37/index.htm
Address Bar & Search
- It’s now easier to find open tabs in the Address Bar. Remote Tabs got a weight bump, and switch-to-tab matches can now replace identical matches.
- Fixed a problem with delayed key handling in the Address Bar, causing Enter to be ineffective in some cases.
- The top preloaded sites feature in the Address Bar, has been disabled globally, to reduce Nightly users confusion about foreign domains used for testing.
- Enhanced autofill will likely land in 61, to have longer Nightly testing.
- Work in progress to add Search engines discovery to the Address Bar.
Places
- It’s no more possible to have multiple keywords for the same url, unless POST data differs. May cause minor dataloss of duplicate keywords (rel-noted).
- treeview.js is no more loaded on every window opening.
- Bookmark roots localized titles are not stored anymore in the database but handled by the frontend code
- Fixed various regressions in bookmarks features
- Removed more synchronous Bookmarks APIs: GetRemoveFolderTransaction, moveItem, insertSeparator, GetKeywordForBookmark, SetKeywordForBookmark, RemoveFolderChildren.
More
- Removed tree autocomplete support from the autocomplete controller.
- A Sanitize on Shutdown forced through autoconfig or policies won’t sanitize anymore at every browser startup.
Sync / Firefox Accounts
- Mark refactored how Sync authenticates with FxA 🔑, removing a lot of technical debt.
- Thom is working on persisting synced bookmark deletions, which should avoid resurrecting deleted bookmarks in certain cases ⛔️, refactored the bookmark validator ✅, and modularized and rewrote the About Sync add-on ✏️.
- Thom and Ed significantly improved new bookmark mirror performance 🏃♀️.
- Kit is working on storing more Sync metadata in Places 🗺, which improves how we handle bookmark restores and corrupt database recovery.
- We have a plan to fix the storage thread hang ⛄️ that blocks dogfooding of new bookmarks 📚.
Test Pilot
- Incoming: theme creator experiment shipping soon; tab split experiment exploring a rewrite. Both experiments set to launch in Q2
- Outgoing: Cliqz, Voice Fill, Snooze Tabs, Min Vid graduating Q1
- Min Vid shield study launching soon
- Screenshots:
- Usage steady at 2.8M MAU, 62M+ shots as of today
- Lots of bug fixes exported into the tree recently (bug 1436218); another release landing in 60 today-ish, pending QA (bug 1440524)
- ICYMI: rad Screenshots article on Firefox blog last week (bug filed to put that youtube video on the screenshots homepage :-)
- Lo-fi user research happening this week on discoverability & onboarding
- Annotations shipping soon: edit, highlight, & draw on uploaded shots
- Here’s a usage graph, now with all the shot types:602x237px
Web Payments
- Team meetings in Vancouver last week
- On track to finish M1 by the end of the quarter
- M1: End-to-end test with valid user data and merchant update/change events, no Firefox validation, generic merchant error string, only already stored cards/addresses
- Fixed:
- Shipping address/option pickers
- The shipping-option-picker doesn't show the selected option when the popup is closed
- Dispatch `shippingoptionchange` when the shipping option is changed
- Only show shipping (option & address) pickers in the payment request dialog when requestShipping is true
- Vary the payment request address label according to the `shippingType`
- Implement the "processing" screen for when the pay button is clicked
- Show shipping address errors on the summary screen
- Cleanup
- Shipping address/option pickers
- In Progress