Firefox/Meeting/05-Dec-2017
Today’s meeting leader is: bsilverberg
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 4 This week I learned
- 5 Meeting Leader Rotation
General Topics / Roundtable
Outreach / Student Project / Interns
We will be having a brainstorming/discussion time in Austin. Please think of ideas and bring them to the meeting
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
Resolved bugs (excluding employees): https://mzl.la/2je7cZF
More than one bug fixed:
- Ryan Leake
- Tim Nguyen :ntim
- Tushar Arora
New contributors (🌟 = First Patch!)
- 86ecce74 flattened some excessive inheritance, which got rid of another XBL binding. It’s great to see the XBL binding count go down!
- 🌟 Andrej Gorovoj cleaned up some element IDs in our prompting code.
- 🌟 Oliver Alonzo fixed a bug where right-clicks in about:preferences were interpreted as left-clicks.
- 🌟 Sean Prashad fixed some SASS linting errors in Activity Stream
- 🌟 Tushar Arora made the tabs.query WebExtension API support regular expression patterns, and also made it so that WebExtensions can clear title prefaces with the empty string
Project Updates
Add-ons
- The theme API now has support for setting the urlbar and searchbar border color.
- A message is now displayed on about:preferences after a user disables an extension reminding them how to re-enable it.
- Calling tabs.create without a windowId will now target only non-popup windows.
- browserSettings APIs were added for controlling the options to open bookmarks in new tabs and to open search results in new tabs.
- Tabs.query now does pattern matching on the title.
- Read-only browserSettings now return false when calling set or clear and also report an accurate levelofControl.
- “Scrollbars” has been added to window features for windows created via identity.launchWebAuthFlow.
- The pref for ui.context_menus.after_mouseup has also been exposed to extensions via the browserSettings API.
- The user is now notified the first time they visit the new tab page if an extension is controlling it.
- New blog post on hacks.mozilla.org: Using the new theming API in Firefox
Activity Stream
- Uplifted a couple of critical patches to 58 (Pocket Personalization, and Indonesia newtab breakage)
- The team is evolving their dev process from a GitHub centric approach for issue tracking to Bugzilla
- We are experiencing some slow queries on our Redshift instance. We are aware of the issue and are working on a fix for later this week
Browser Architecture
- Sync and Storage roadmap proposal successfully passed review
Austin meetings
Sync and Storage - Friday 10:30am - 11:30am
XBL and XUL Removal Friday 9:00am - 10:00am
Firefox Core Engineering
- Audible only
Form Autofill
MVP
Improved the accuracy of identifying fields related to credit card expiration date.
Fixed an issue that the cached "searchString" in the autocomplete module isn't consistent with the actual value in the input element.
Heartbeat for credit card autofill is live.
V2
[L10N] Polished the layout of dialogs in Preferences
[Clear Button] Fixed an issue that the clear button remains after the populated fields are cleared.
[CA/DE Support] Imported CA/DE country metadata.
[CA/DE Support] Refactored country data lookup process.
[Section Support] Supported multiple sections.
[Section Support] Implemented the basic algorithm to identify sections when @autocomplete isn't specified.
QA has started to test V2 features.
Lint
If you use `git mozreview push`, then lint should run automatically against the files in your push.
You may need to run `./mach mercurial-setup` to pick up the latest version-control-tools.
- Requiring the use of Services.jsm rather than .getService continues to roll out, all of toolkit/ & services/ now covered, browser/ is on its way.
Performance
Tab warming has landed, but is disabled by default
There is a bug where links that are opened in new tabs sometimes show perma-spinners with warming enabled, so haven’t yet enabled by default.
There’s another, harder-to-hit bug where permanent spinners can be presented to the user after closing tabs. This doesn’t require warming to be enabled, and is marked as a regression.
There’s also a Talos regression being investigated. Hooray!
Pref: browser.tabs.remote.warmup.enabled
- There’s a reason this isn’t yet enabled on Nightly though. Expect perma-spinners until the blockers for this bug are fixed
- Patches are up to make FormHistory.jsm use Sqlite.jsm instead of mozIStorageService, which allows us to avoid some main-thread IO when FormHistory is first accessed.
- We now have automated tests to prevent flickering regressions during startup and when opening new windows.
- Don’t forget our session in Austin - Photon Performance: How We Made Firefox Faster
Preferences
Platform Audibles
- samael made it so that nsBrowserStatusFilter::OnStateChange only gets STATE_IS_NETWORK updates.
- OMTP (Off-main-thread-painting) should be shipping to release in Firefox 58. Here’s a blog post explaining what it is and why it’s great!
Tommy Kuo is moving <select> dropdown rendering into the content process. This should re-enable a bunch of styling capabilities, and greatly improve performance and responsiveness for dropdowns with many items
The plan is to retain the OS native styling unless overridden by content
- billm is removing the Add-on Interposition Service, a.k.a. “transparent CPOWs for legacy add-ons”
Privacy/Security
- The official Firefox Multi-Account Containers extension has passed 100k downloads on AMO.
- nsIPermissionRequest now includes an isHandlingUserInput field to easily see whether the prompt comes from a user action.
- We’re starting a project to improve the user experience around site data (including cookies and cache) management. You can follow along here. This also includes thinking about how we can de-duplicate code that does data sanitization for users (bug 1422365) .
- Heads up: The definition of window.isSecureContext has changed to not consider the window opener anymore.
Address Bar & Search
- The Address Bar now freezes an ongoing search when the selection is changed through the keyboard, to avoid surprising the user by moving matches around
- With the update to Firefox 57.0.1, some users may experience a search reset. If they had their default a search plugin installed before Firefox 45 or installed by a legacy add-on, it will be silently reset to the default engine of their region. Users who are more likely to have customized the engine will see a prompt offering an easy one click way to keep the current default.
- Fixed some very frequent intermittent failures in browser_ext_omnibox.js
Places
- Landed a patch to reduce I/O when storing unchanged page metadata for Activity Stream
- Landed some clean up work for Places Maintenance
- Mardak fixed browser code to guess a favicon type from the file extension when the “type” attribute is not defined
- Milind contributed a patch making place:tag=NN queries case insensitive
- Doug Thayer landed 2 performance improvements in history: speeding up url hashes generation, and using a single runnable to notify multiple visits.
More
- :Kit made Sqlite.jsm copy over temp entities when creating a writable clone of a connection
Sync / Firefox Accounts
- No updates this week.
Test Pilot
- Check out recent blog posts on updates to the Notes experiment and on usage of react-storybook on the Test Pilot website: https://medium.com/firefox-test-pilot
Screenshots updates:
Usage & retention have dropped significantly with move to page action menu:
- We are investigating what we can do here. More graphs:
- https://datastudio.google.com/org/Ra9O2QIYT8We-1pOmnS_6w/reporting/1h_dnq4EL6O2_X4SpVBmIlu22Vz70bbY_/page/4kwK
Highly requested feature now in Nightly: copy image to clipboard instead of uploading or downloading.
- Tracking usage in Telemetry along with uploads & downloads
Tracking Firefox changes needed to become a pure webextension in bug 1422437
Features coming soon: annotations (draw on your shots) and FxA integration
A/B testing on two small website features shipping soon
Web Payments
- Making progress on the dialog and use of Custom Elements for implementing the dialog and UI components within it
- Continuing refinement on UX specs
This week I learned
- The pref devtools.inspector.showAllAnonymousContent shows anonymous content in the web inspector with e10s
- [mconley] WebRender is going to make tab switching even faster
Meeting Leader Rotation
Add your name below if you want to be in the rotation of leaders:
- mconley
- johannh
- MattN
- kitcambridge
- jaws
- bsilverberg
- RyanVM - Are we meeting on the 19th? NO - Next meeting 16-Jan
- mikedeboer
- felipe
- 6a68