Firefox/Meeting/14-Feb-2017
From MozillaWiki
Actions from last meeting
- Select a new meeting leader for 28 February’s meeting. Today’s meeting leader is: jared (jaws)
- Next meeting leader will be Kit
General Topics / Roundtable (tips/tricks/FYI, productivity improvements, industry news)
- [MattN] You can auto-publish your mozreview requests on the command line using `hg push review --config reviewboard.autopublish=True` or setting the following in your hgrc file:[reviewboard]autopublish=True
- [mak] XPCShell tests’ do_register_cleanup() now also accepts generators or async functions
Friends of the Firefox team
- Resolved bugs (excluding employees): https://mzl.la/2ksFIxm
- More than one bug fixed:
- Iaroslav Sheptykin
- Mayank
- Sebastian Hengst [:aryx][:archaeopteryx]
- Tomislav Jovanovic :zombie
- Tooru Fujisawa [:arai]
- New contributors (🌟 = First Patch!)
- ahsan.r.kazmi reorganized some of the code that queries the Places database
- Dorel Barbu converted some of the graphics used for our Sync interfaces from PNG to SVG
- More than one bug fixed:
Project Updates Add-ons
- [mconley] I noticed that the Sidebar API (compatible with Opera’s API) has been implemented 💰
Activity Stream
- Intent to Implement System Add-on thread on firefox-dev
- https://pontoon.mozilla.org/projects/activity-stream-new-tab/ AS localized in 30+ locales :+1: @flod and @mathjazz and team for all the help
- Two separate teams working on ‘graduation’ (landing AS in m-c) and ‘mvp’ (product features and A/B testing to ensure high user engagement).
Content Handling Enhancement
- Landed string redesign inside Downloads Panel (bug 1282662)
- Next is the download progress indication redesign (bug 1270006, bug 1270012)
- Both scheduled for Firefox 54, while the visual redesign landed in Firefox 52
Electrolysis (e10s)
- e10s-multi is tentatively targeted to ride the trains in Firefox 55
- Hoping to use a scheme where we measure the user’s available memory in order to determine maximum content process count
- Here’s the bug to track requirements to enable e10s-multi on Dev Edition by default
- According to our Telemetry, ~62% of our release population has e10s enabled by default now 😎
- This week we’re forcing Flash on Linux to be windowless and removing the support code for windowed mode. Should cause much better scrolling behavior with e10s, and kill a class of random-oranges. https://bugzilla.mozilla.org/show_bug.cgi?id=1337781 and https://bugzilla.mozilla.org/show_bug.cgi?id=1338172
- “Ping sender” landed! Will allow us to get telemetry data immediately at shutdown instead of waiting for next startup. Dramatically reduced data latency, starting with crash pings: https://bugzilla.mozilla.org/show_bug.cgi?id=1310703
- https://chuttenblog.wordpress.com/2017/02/14/the-most-satisfying-graph/
- Team meetings in Taipei this week
- Iterations on the UX spec
- Refactoring completed and more in-progress
- Moved a lot of logic from a frame script to process scope
- Ability to fill a mock profile from autocomplete now works on forms using @autocomplete.
- Landed
- Make adjustHeight method adapt profile item list
- Cleanup browser/extensions/formautofill/.eslintrc.js
- Need to have a place in the Preference -> Setting for users to launch the profile list add/edit/remove dialog
- Fallback to form history if form autofill pref is disabled
- [Form Autofill Prevent duplicate autocomplete search registration ]
- Fill the selected autofill profile when an autocomplete entry is chosen
- In Progress
- add a new profile item and make rich-result-popup append item accordingly
- Implement two column layout for profile item binding
- Replace async getEnabledStatus with initialProcessData for content process init
- Fallback to form history if there is no form autofill profile saved
- Dialog to add/edit/view an autofill profile
Go Faster
- 1-day uptake of system add-ons is ~85% in beta (thanks to restartless), and ~72% in release (Wiki)
Platform UI and other Platform Audibles
- mconley made it so that opening new maximized windows on Windows skips the opening animation
- Have filed a number of Photon-related bugs for Platform to aid in performance (both perceived and legit)
- Patch up for review to turn on menulist powered dropdown on non-e10s by default
- This is based on work from last semester’s MSU students, Fred_ and miguel!
- jaws has been landing patches to add more styling support to and with the menulist popup
- bram gave UX feedback on requirements / bugs for search in long ’s
- jaws has started to turn those into bugs
Privacy/Security
- All but one P1 52 beta bug for the insecure login field contextual warning are fixed so the plan is to ship the feature in 52. If you haven’t already, please give it a try and file any bugs blocking 1304224 before it’s too late. Existing bugs are in the spreadsheet.
- More polish work for the permissions project happening in 53. More ongoing work on improving accessibility in particular.
- Team meeting in MV next week with platform security
Project Mortar (PDFium)
- Just had a workweek, working on ways to separate PDFium to make it more standalone and import-able to Firefox
Quality of Experience
- Preferences reorg and search project is fully underway. jaws and mconley lead a “hack-weekend” this past weekend with the MSU students working on the reorg and search projects
- Video of search, https://youtu.be/7dVcj2PoubY
- Preference reorg screenshots: https://www.dropbox.com/s/0ttvocn18yhey0l/re-arrange-sections.zip?dl=0
- Onboarding work continues
- Prepared to run a survey on Beta to users with automigration, to better understand why users elect to undo the import and how they feel about it
- Verdi did some user testing with the about-to-launch Funnelcake test, and found that 3 of 7 participants experienced long Firefox hangs on startup (multiple minutes, while importing data). Currently diagnosing and working on a fix as our top priority.
- Woo, science! 🔬
Search
- Fixed a glaring problem with one-off buttons in scaled (zoomed) display configurations that made the search settings button appear in a separate line.
- We now correctly report when a search engine could not be installed due to an invalid format.
- Some Places work mostly in preparation of support for hi-res favicons.
- The study results from the unified-search experiment came in: one-off buttons in the awesomebar were an undeniable success, removing the search bar not so much. A followup study is being planned.
Sync / Firefox Accounts
- Bookmark repair is coming. This is important for unblocking sync on Firefox iOS, which won’t sync if the server has missing or structurally incorrect bookmarks.
- Digging in to password sync failures, including the infamous key3.db issue that prevents Sync from working entirely.
- Fixed a regression when disabling and re-enabling bookmark syncing in Sync preferences.
- Caching the avatar and display name to avoid extra requests to the FxA profile server.
Storage Management
- Fischer has been working on implementing Persistent Storage section of preferences. Right now this section is hidden by default and if shown it will only show sites that have requested Persistent Storage. Eventually it will show other site data and we will remove the redundant areas of the Preferences.
Test Pilot* Two experiments, No More 404s and Tracking Protection, are graduating this week from the Test Pilot program.
- Page Shot is going to land in Firefox 54. We are planning on making it a normal (meaning, you can remove it) WebExtension.
- Three new experiments coming on February 22nd.
- Test Pilot experiment pipeline Trello board
This week I learned
- [mconley / jaws]: If you do window.getComputedStyle on a node that is not appended, you can still cause a style / layout flush for the global that the node belongs to.
- [mconley] A reminder that setting an unload or beforeunload event handler within “content” bypasses bfcache.
- [MattN] You can often use a pagehide listener instead
- [MattN] Be careful with `this` in content scripts since it refers to the tab global, not the scripts’ top-level scope. e.g. `XPCOMUtils.defineLazyModuleGetter(this, "SomeName", …)` leaks `SomeName` outside the content script onto the tab global. See https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Frame_script_environment, bug 1338907 and bug 673569.
- [jaws] Can we have an eslint rule for this? We would need a way to mark scripts as content scripts