Firefox/Meeting/29-Aug-2017
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 4 Add-ons
- 5 Activity Stream
- 6 Electrolysis (e10s)
- 7 Firefox Core Engineering
- 8 Form Autofill
- 9 Lint
- 10 Photon
- 11 Platform Audibles
- 12 Privacy/Security
- 13 Search and Navigation
- 14 Sync / Firefox Accounts
- 15 Test Pilot
- 16 Web Payments
- 17 This week I learned
General Topics / Roundtable
(tips/tricks/FYI, productivity improvements, industry news)
[bgrins]
For talos pushes, this syntax should be sufficient to prevent unnecessary builds and also the ‘more runs are needed warning’ on perfherder: ./mach try -b o -p linux64,macosx64,win32,win64 -u none -t all --rebuild-talos 6
- Can also include --artifact if you only have frontend changes but aren’t using artifact builds locally
Browser Toolbox can be opened on more than one instance
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/2xJHvoO
More than one bug fixed:
- :prathiksha
- Dan Banner
- Henry Chang [:hchang]
- Kate Ustiuzhanina
- Masatoshi Kimura [:emk]
- Simon Lindholm
- Tim Nguyen :ntim
- flyingrub
New contributors (🌟 = First Patch!)
Project Updates
Add-ons
- Added API events for containers (ContextualIdentities) for onUpdated, onCreated and onRemoved
- More fixes for[1]webextension performance issues.
- Added support for suggest_url to chrome_settings_overrides.search_provider.
- Added support for tab.openerTabId.
- Added support for estimatedEndTime in DownloadItem.
- Added openPopup to browserAction and pageAction, and open/close to sidebarAction.
- Code was added to allow extensions which use containers to enable container support automatically.
- Added UI for flagging long running WebExtension scripts and providing the option to stop them.
- Enhanced themes to allow for changing urlbar and search input background and text color.
- Added support for setting the default search engine to a built in engine.
- Introduced a new Find API, which includes find, highlightResults and removeHighlighting.
- Added an API for privacy.websites.trackingProtectionMode.
- Various fixes for webRequest, sidebars and proxies.
Activity Stream
- Pref’d on to 10% of Beta 56 en-US (opt-out Shield study), next is 50%, then lots of locales including with Pocket in Germany (https://docs.google.com/document/d/1wizj95pDfb4YTc2kDxTJn5TIm7SwGetAsn1e0OgeOh4/edit)
- Activity Stream on about:home landed pref’d off (for now) in Nightly
- Crucial site summary metadata (hi-res icons and article thumbnail/description) patch is currently in review. Landing site summary metadata will improve Top Sites and un-block landing Highlights section
- Activity Stream - Test Pilot (2016/05/11 - 2017/08/28 RIP) 😔 🏴
Electrolysis (e10s)
- No updates this week.
Firefox Core Engineering
- No updates this week - everything since the 15th is still in progress.
Form Autofill
- Address autofill with sync is now enabled on beta 56 for en-US builds in the US!
- Focus is on polishing address autofill and feature completion for credit cards
Fixed
(Form Autofill) Warn users on credit card fields that are not secure
(Form Autofill) Handle credit card number encryption while normalizing
(Form Autofill) Always adopt autocomplete attribute and the info should not be changed.
Create MasterPassword.jsm to provide async wrappers around crypto-SDR and handle existing dialogs
(Form Autofill) Add addresses sync checkbox in first time saving doorhanger
(Form Autofill) Implement offline heuristics to determine Credit Card related fields
(Form Autofill) Properly fill cc-exp/cc-exp-month/cc-exp-year into a select element
(Form Autofill) Support credit card record filling and previewing in FormAutofillHandler
(Form Autofill) Decrypt credit card number for filtering when MasterPassword is disabled
(Form Autofill) Dialog to add/edit/view a credit card profile
(Form Autofill) Allow users to view the list of credit card profiles
(Form Autofill) Wrap up masterpassword decrypt API in FormAutofillHandler
(Form Autofill) Preview decrypted credit card numbers when MasterPassword isn't set
Various wpt autocomplete tests are going to permafail when Gecko 57 merges to Beta on 2017-09-18
[a11y Feedback needed for Form Autofill UX design]
(Form Autofill) Improve the performance before calling identifyAutofillFields
In Progress
[Creditcard Autofill Collect information on how many times did users apply credit card autofill]
(Form Autofill) - Record one for each non-empty field at submission time (keyed by fieldName)
[Creditcard Autofill Collect information on how many users save creditcard information]
(Form Autofill) Add "Learn more" links to SUMO pages in preferences
Lint
- ESLint now enabled for toolkit/components/osfile
- No-caller now enabled across the tree (disallow deprecated calls to arguments.callee / arguments.caller)
Photon
Performance
- mconley added a reflow test to the AwesomeBar for when it accepts key inputs
- mconley also landed a patch that pre-emptively warms up tabs that we think we’re likely to switch to: we are doing this on mouse hover on tabs, and early telemetry data shows a spectacular reduction of tab switch times
- Florian is working on reducing flickering when opening new windows, when moving tabs between windows, and when opening tabs. When opening a new browser window, the toolbar doesn’t flicker anymore, and gandalf is working on eliminating the ‘new tab’ tab title that still flickers.
- Paolo landed a patch to remove one of the slow sync reflows of the awesomebar panel, and Kris has updated patches to limit sync reflows in the awesomebar to at most one per frame.
- Evelyn made it so that when we tell the content process to load a URI, we first initiate a speculative connection in the parent process so that we don’t have to wait for the content process to request network access for the connection to be set up.
Structure
A “Bookmarking Tools” subview has been added to the Library button so you can easily get to the bookmarks toolbar, sidebar, and bookmarks menu button
You might have noticed that the downloads button will only appear when downloads exist and isn't movable anymore. This is something we're still tinkering with, so stay tuned.
A Downloads view will be added to the Library soon, which is part of the grander strategy. Again, please stay tuned!
- We made the sync animation prettier! Check it out!
- The order of items in the URLBar has been updated.
- Keyboard navigation in Photon-style panels now remembers the last selected item.
- Many more polish bugs landed or in progress.
Animation
- Landed the new tab loading indicator and the “burst” across the tab when the page load is complete.
- A new “Copy URL” and “Send to Device” confirmation popup landed on autoland and should be merged to mozilla-central very soon.
- Various fixes to animations of the library button, tab loading indicator in RTL, pocket icon corruption.
Visuals
-
Sidebar stuff landed, followups
New notification bars
Updated media icon
Updates to misc. icons and tab styling
Onboarding
- No updates this week.
Preferences
- No updates this week.
Platform Audibles
- No updates this week.
Privacy/Security
- We are getting more (and more interesting) data from the Improved Privacy Settings shield study:
https://sql.telemetry.mozilla.org/dashboard/shield-study-improve-privacy-settings
- tl;dr - Tracking Protection is very promising: very low breakage. Peter Dolanjski is arranging an opt-out follow-up study to measure acquisition & retention for users with tracking protection enabled.
- First-Party Isolation is the most problematic - higher breakage, and lots of login failures which are associated with users disabling the study.
- Talk to Luke Crouch (groovecoder on IRC, or email) if you have any specific questions!
- Prathiksha has been working on making the hostname more visible in permissions prompts (by making it bold, bug 1369482)
Location Bar:
Search suggestions now include one historical suggestion from form history
The Location bar can now interrupt an ongoing sqlite query when starting a new search. Since all the searches are serialized, this means we can react faster to user input
Evelyn enabled Speculative connections on mousedown for the location bar results
A new contributor, Simon Lindholm, provided various patches to speed up the location bar searches (some still in-flight):
Search
The Follow-on Search Add-on has been updated to v0.9.3 to fix problems with the recent changes to Google
Places:
Continued squashing Places Async Transactions regression bugs
Fixed a notification issue so that we can skip some notification in Places Views
Improved performance of the Recently Bookmarked menu entries so that it doesn’t slow down bookmarks removal
Ryan contributed a patch to generate guids more efficiently on bookmarks creation
A user reported his bookmarks toolbar taking more than 200MB of memory. Working on a patch to reduce memory usage and speed up populating it that should help when opening a new window (included the first one).
Downloads and Apps
Handlers.json is now read asynchronously
Misc:
Sqlite has been updated twice in a week, to fix a memory leak discovered by Thunderbird in the new version
Investigating a more responsive way to chunk results from mozStorage async statements, may help most consumers.
StopIteration has been removed from Sqlite.jsm. The onRow callback now gets a canceler function as second argument.
Sync / Firefox Accounts
- No updates this week.
Test Pilot
- Screenshots has been rolled out to 5% of release users.
- Activity Stream is now completely out of Test Pilot.
- The Test Pilot website is now fully off l20n and on fluent-react, fixing some long standing issues.
- We have added an l10n branch which will allow us to better batch strings going into and out of pontoon. Strings on master will not go to pontoon until master has been merged to l10n, and strings from pontoon will not go to master until l10n has been merged into master.
Web Payments
- Read-only: (No major updates since Jonathan’s internship is done. MattN has been trying to fix test failures in one patch that blocks others from landing.)
This week I learned
- [mikedeboer] “SVG when loaded as-a-document (in iframe, etc.) can run script and load external resources. When it's loaded as-an-image (<img>, 'background-image', etc.) it is blocked from running script or loading external resources.” - :jwatt