Firefox/Meeting/20-Jun-2017
From MozillaWiki
Contents
Actions from last meeting
- Select a new meeting leader for July 18th meeting.
- Today’s meeting leader is: Felipe
- Next meeting leader is (note: let’s skip July 4th and go for July 18th): mconley
General Topics / Roundtable
(tips/tricks/FYI, productivity improvements, industry news)
- [mconley] nsIThread now has idleDispatch - this means you can now queue work to occur in the lowest tier priority, which is good, since it means that (with the Quantum DOM work going on) more important events and runnables will be able to occur earlier. See ehsan’s blog post for more details.
- The API changed today: > https://bugzilla.mozilla.org/show_bug.cgi?id=1368072 > nsIThread.idleDispatch is now > Services.tm.idleDispatchToMainThread
- This > bug > also adds the ability to set a Timeout on the idleDispatch! > Just landed in integration - send praise to :farre for his > great work here!
- [Pike] l10n repacks will get simple soon, bug is in review : ./mach package; ./mach build installers-de
- [felipe] Firefox 54 is out! \o/
- [felipe] Firefox Focus is now available for Android.
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- [johannh] Prathiksha [prathiksha]: Our new Outreachy intern who is working on permission management in about:preferences and other permission-related bugs.
- [mikedeboer] Bao Quan [beekill] is the sessionstore GSoC intern this year! 👋
- Resolved bugs (excluding employees): https://mzl.la/2ry91mG
- More than one bug fixed:
- Iaroslav Sheptykin
- Jeongkyu Kim
- Santiago Paez [:tiago]
- Tomislav Jovanovic :zombie
- UK92
- New contributors (🌟 = First Patch!)
- 🌟 Perry Jiang [:perry] fixed the broken Preferences button for Flash when it’s set to Never Activate! And with an automated test, too! And it got uplifted to beta!
- 🌟 meet1995 implemented History.hasVisits, also with an automated test!
- More than one bug fixed:
Project Updates
Add-ons
- chrome_settings_overrides now allows an extension to add a search engine to Firefox (but not change the default search engine).
- downloads.open() now requires user interaction.
- privacy.websites.referrersEnabled landed, allowing an extension to enable or disable referrers.
- Methods for getting information about installed extensions (management.get() and management.getAll()) as well as events for onEnabled, onDisabled, onInstalled and onUninstalled were all enabled for regular extensions in addition to themes.
- Updated WebExtensions code to put things in the permanent area in the overflow panel instead of the hamburger menu.
- A browser.menus namespace was added which becomes an alias for the browser.contextMenus namespace. This was added because we are in the process of adding APIs to add items to the main menu in addition to context menus.
- Support for ws and wss protocols were added to the webRequest API.
- WebExtension experiments are now allowed on release, however they need to be signed by AMO. This will be used by TestPilot to migrate away from the add-on SDK and replace unimplemented APIs with experiments.
- 57 release is 7 weeks away, at which point we will be disabling all add-ons except WebExtensions on Nightly. This doesn’t include internally signed legacy add-ons.
Activity Stream
- June 15th Newsletter (sent to firefox-dev, but strangely missing from the archive, so copied to GDocs)
- Highlights:
- “Graduation Team has landed the about:newtab Preferences Pane, > put in place a bunch of performance telemetry, and made some > amazing progress on making sure all existing Firefox > about:newtab tests pass.”
- “The MVP Team has built out controls for collapsing/expanding AS > sections, as well as landed the very cool ‘Recent Bookmarks’ > section.”
- “This iteration, we will be preffing on a minimal version of > Activity Stream in Firefox Nightly.”
- Shield Study to examine AS vs. Tiles starting June 26th
- User Research Diary Study completed last week:
Electrolysis (e10s)
- We shipped e10s-multi to release!
- We’ll be expanding e10s-multi to webextensions users with a system add-on update.
- Windows support for e10s+accessibility has been delayed until Firefox 56+ due to stability issues. Here’s the meta bug for the project. This bug appears to be the major blocker.
Firefox Core Engineering
- The Flash Shield Study is complete; Flash is set to click-to-activate (CTA) by default as of 55.
- The “streamlined” stub installer is shipping as part of improved onboarding in 55.
- The stub installer defaults to 64-bit for 64-bit OSes as of 55, provided it has sufficient memory. (Updates will follow suit in 56.)
- Preliminary top crashers lists from crash stacks, broken down by process type, sent via crash pings on release 53+ is blocked on Spark (or user) errors until further notice.
Form Autofill
- Summary of recent updates
- Status
- Enabled the heuristics algorithm. Form Autofill now supports > forms without @autocomplete attributes, i.e. most en-US sites.
- Enabled the auto-save feature and implemented the door hanger > for notifying users of this.
- Landed preview & highlight feature. You can now preview how > addresses will be filled in multiple fields.
- Landed the footer in the suggestion dropdown, which makes users > easier to find the preferences page.
- Landed basic select element support.
- Polished the dialogs in about:preferences (two-layer in-content > dialog and select element dropmark).
- In Progress
- Bug > 1303515 - > Prompt a door hanger to ask users to update profile when users > submit a modified populated form
- Bug > 1329628 - > Address phishing danger concerns
- Bug > 1352324 - > Store phone numbers in E.164 format
- Bug > 1365544 - > Handle filling inexact matches for select elements on > “address-level1” (states)
- Bug > 1368008 - > Cache the computed fields in profileStorage
- Bug > 1370429 - > Implement the infrastructure of Telephone parser to support > the various combination of telephone fields
Lint
- ESLint now has better path searching for node/npm on Windows and will work with the new version of MozillaBuild (with node pre-installed!) when it is released
- Get your RC build here! Be sure to clobber after installing.
- Get your RC build here! Be sure to clobber after installing.
> https://bugzilla.mozilla.org/show_bug.cgi?id=1346656#c9
- Work continues to harmonise rule set across mozilla-central:
- Rajesh > has > enabled > both comma-style > and > no-unneeded-ternary > across the whole repository.
- Next up (mentored): > no-caller, > no-tabs, > no-whitespace-before-property
Photon
Performance
- mconley is looking at Talos regressions
- Fixed the sessionrestore > tests > so that they don’t accidentally test the wrong thing
- Fixing Talos profiling in > automation > for (at least) pageloader tests
- Have a partial explanation for recent regressions on > tps in > automation, still figuring out the rest.
- [paolo] We have full parity of native Promises with Promise.jsm now that unhandled rejections of native Promises cause browser-chrome tests to fail.
- We can stop worrying about losing test coverage when removing > uses of > Promise.jsm > and > Task.jsm > from mozilla-central, and we can make Task.jsm use native > Promises > internally > for add-ons that still use it.
- Failures in the browser-chrome suite will be logged in the same > way as the xpcshell suite, with the messages:
- A promise chain failed to handle a rejection
- Unable to find a rejection expected by expectUncaughtRejection
- Some existing failures are whitelisted using > PromiseTestUtils.expectUncaughtRejection, > but new failures often just denote a missing > “.catch(Cu.reportError);” at the end of a Promise chain. A > new ESLint > rule > will help detecting these cases, after we’ve converted the > deprecated usage of .then(null, …) to the recommended > .catch(…).
- [florian] Startup work:
- browser_startup.js is a test everybody should know about, see > this mail about improving start-up > time > that Florian sent to firefox-dev
- We delayed initialization of Places, NSS, Task.jsm (still > pending reviews), and the search service. They no longer block > first paint.
Structure
- Photon structure pref has been flipped on nightly. Photon menus / customization etc. are now the default configuration on Nightly.
- Number of issues filed by Nightly users! \o/
- Fortunately no huge surprises.
- Also, this got us talos wins! :-)
- Sidebar button changes have landed - button now just toggles the sidebar
- One known issue with the button looking > checked on > startup being tracked - patch has r+, should be fixed soon.
- Library panel now has a pocket list item and looks more polished. The synced tabs view also got a small update.
- Panels now scroll correctly when necessary.
- Coming soon: more updates to the library panel, page action panel, and moving the bookmarks star (back) to the URL bar.
Animation
- Photon-themed download icon landed, work is underway on a new revised download animation
- Arrow-panel animations hope to land this week
- Stop/refresh animation getting close, going through review now and looking at Talos issues
- Tab loading indicator looking at fixing Talos issues
Visuals
- Thanks to UK92 for contributing several patches to photon-visual in the last weeks:
- Updated > about:about
- Updated > about:rights
- Made the window control buttons span the entire height of the > tabstrip in Windows > 10
- Nihanth implement new styling for the header and search box of the bookmarks and history sidebars
- Johann made Firefox Touch mode (browser.uidensity=2) automatically enable itself in Windows Tablet Mode (can be turned off)
- On OSX we’re experiencing some jumping in the tab strip if the user maximizes the window or goes fullscreen. Dao fixed part one of the problem (the maximizing) and we’ll have to figure out the fullscreen issue.
- Title bar will be colored by default on macOS (> Yosemite) from tomorrow’s Nightly (if it sticks)
- Dale is working on the new identity block appearance and updating the toolbar background colors on OS X and Windows
Onboarding
- The overlay is now fitting the UI spec, and we have 5 tours with call-to-action buttons & hide tour checkbox http://g.recordit.co/4sk1qfHf37.gif
- The Sync tour and tour notification to land soon.
Preferences
- Re-org v2 is being actively worked on https://bugzilla.mozilla.org/show_bug.cgi?id=1365133
- Search is turned on on Nightly
Search
- Recent perf work in the Location Bar code is showing interesting gains in the time to return the first result (source: https://telemetry.mozilla.org/)
- More[1]polish work on[2]searchsuggestions and[3]one-off buttons in the Location Bar. Both features are on-track to be released in version 55
- A User Research is ongoing on a Firefox version without a search bar, through an ad-hoc experimental add-on.
- The follow-on Search Add-on is now also enabled in Beta and Nightly. Some performance issues have been hammered.
- Follow-up work to Photon startup perf improvements by Florian: working on a patch todelay the wholePlaces connection opening to its first use, to improve cold startup times.
- The Bookmarks backups are now[4]restored using the asynchronous bookmarking API.
- Fixing some crash issues in[5]Storage and[6]Places
- Worked with community volunteers to replace some[7]synchronous history APIs.
Test Pilot
- New Screenshots landed in Nightly last night (bug fixes)
- Tab Center only works up to Firefox 55
- Currently best alternative is > https://addons.mozilla.org/en-US/firefox/addon/tab-center-redux/ > but it’s not perfect
- Graduating July 5th: Page Shot, Activity Stream
- Graduating “soon” after July 5th: Pulse, Tab Center
- Keep your eyes open for three new experiments coming mid-July!
This week I learned
- [mconley] Did you know that the SubScript loader can load scripts asynchronously and return a Promise when the load has finished? Now you do!
- [florian] Accessing from JavaScript a DOM node (eg. getElementById, firstChild, …) causes the node’s XBL binding to be attached and the constructor to run, even when the node is hidden (display: none). This caused us to construct the sidebar browser and 20 or so xul <label>s before first paint .
- [mikedeboer] mstange is working on beautiful panels on OSX: https://bug1348294.bmoattachments.org/attachment.cgi?id=8879305 (blurred, transparent background)