Firefox/Meeting/15-Aug-2017
From MozillaWiki
Contents
General Topics / Roundtable
(tips/tricks/FYI, productivity improvements, industry news)
- (felipe) Three new locations to schedule jank-free initialization tasks, from bug 1388145:
- nsBrowserGlue: scheduleStartupIdleTasks
- browser.js: schedulePerWindowIdleTasks
- nsBrowserGlue: scheduleArbitrarilyLateIdleTasks
Friends of the Firefox team
- Resolved bugs (excluding employees): https://mzl.la/2x0m5n4
- More than one bug fixed:
- Alejandro Rodriguez Salamanca
- Dan Banner
- Hossain Al Ikram [:ikram] (QA Contact)
- Masatoshi Kimura [:emk]
- Michael Kohler [:mkohler]
- Michael Smith [:mismith]
- Richard Marti (:Paenglab)
- Rob Wu [:robwu]
- Tomislav Jovanovic :zombie
- flyingrub
- New contributors (🌟 = First Patch!)
- ♥ Ami ♥ refactored `_handleMessage` in `UpdateTopLevelContentWindowIDHelper.jsm`.
- Luciano I cleaned up unused variables in Sync code.
Project Updates
Add-ons
- Numerous bugs on out-of-process webextensions have been fixed.
- kmag has fixed a bunch of webextension performance issues.
- Sending a message to a tab no longer instantiates lazy tabs.
- The browsingData API can now clear local storage.
- jkt has improved the webextensions contextualIdentities APIS to the point where the containers extension is able to be a webextension.
- ntim has added toolbar colors and per-window themes to the themes API.
- Little fixes to webRequest, optional permissions, downloads, experiments, hybrid extensions.
- rpl fixed several bugs with browser actions, page actions, and options on Android.
- Oh and we turned off legacy extensions.
Activity Stream
- landed in 56 Beta
- pref'ed off
- Snippets enabled
- localized
- perf telemetry
- up next
- about:home
- need to be careful about Comparative Benchmarks
- metadata
- HD icon metadata harvest (on DOM Added events) and Placed insertion
- site summary pipeline (HD Icon -> Tippytop -> Screenshot + Favicon)
- Query optimization
- Highlights
- Recent Bookmarks + Recently Visited
- customization features
- on demand image display, caching
- Top Site UI Customization features
- Pin/Dismiss, Show More/Less, Add/Edit Top Site
- Tippytop Icon DB improvements
- Firefox payload
- Server Based
- 10% roll out, en-US, geo USA, Canada
- Next will be >%, more locales/geos + Pocket in Germany
- Started work on Web Extension to allow Activity Stream customized sections
- https://github.com/mozilla/newtab-content-extension (by our intern Adam)
- about:home
Firefox Core Engineering
- Installer
- Profile cleanup option has landed in the stub installer for 57. Users who are running the stub installer and have an older version of Firefox installed will be presented with the option to clean up their profile.
- Updater
- LZMA/SHA384 changes have landed as of 56 beta 3.
- Quantum & Photon Performance pile-on:
- Felipe Gomes, Kirk Steuber, Adam Gashlin, Perry Jiang, Doug Thayer, Robert Strong
- Closed 16 bugs
- Currently on 11 bugs
- Some solid improvements, like this from Felipe’s patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1388145#c104
Form Autofill
- Planning to enable address autofill (with sync) on beta in the next two weeks for en-US builds geolocated in the U.S.. Please file any issues you see.
- Address sync is enabled on Nightly. Enable it in about:preferences#sync
- Landed
- Delay formautofill system add-on updates until the next restart
- Exclude "united" string when applying "address-level1" regular expression
- [Form Autofill Handle filling in country field select element]
- 3.08% ts_paint_webext (windows7-32) regression on push 347ea0d06092d7fcd6c34e2c7ade389b0b71ae31 (Mon Aug 7 2017)
- [Form Autofill Enable the feature based on locale and geoip]
- Unhide addresses sync engine by default
- Cache the matching result of select elements so we don't need to calculate it every time when previewing and filling
- [Form Autofill Edit dialog should not show horizontal and vertical scroll bars]
- [Form Autofill Collect information on how many people enable credit card Autofill]
- [Form Autofill Warn users on credit card fields that are not secure]
- The active area of the "Enable Profile Autofill" checkbox should expand to full width.
- [Form Autofill Autofill Options and Autofill phishing are not visible (w/o scrolling) in autofill dropdown when 6+ profiles]
- Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature
- Make dom.forms.autocomplete.formautofill reflect actually supported autocomplete tokens
- Preserve Form Autofill profiles during a Firefox Refresh/Reset
- In Progress
- [Form Autofill Add probe for form autofill availability]
- Autofill misdetects extra fields on page
- Duplicate addresses stored because of numeric state
- Various bugs for credit card support
Lint
- No updates.
Photon
Performance
- No updates.
Structure
- The Page Action panel now has a Pocket item. Code for a screenshots item has landed in screenshots’ github repo but needs screenshots to merge to m-c. Items can now be added/removed from the context menu. Finally, the Report Site Issue button has now also made its way into the page action menu for nightly/devedition.
- The main toolbar now has 2 flexible spaces, one on either side of the url/search bar(s). The library button has also replaced the bookmarks menu button in the default toolbar set.
- We’ve migrated any additions you made to the old hamburger panel to the overflow panel, and removed some of the old code as well as the photon structure pref.
- There’s still a lot more to remove, see this bug if you have cycles to help.
- Lots of polish fixes: https://mzl.la/2x15jUZ - highlights:
- WebExtension icons for sidebars now show up in the sidebar header
- Panel styling has been tightened up, some icons swapped out
- Keyboard navigation in panels was improved
- Some overly narrow panels are now wider
Animation
- The new tab loading indicator got r+, we will work on landing it this week pending Talos runs
- Consolidated our blue accent colors to make sure that the same color is used throughout our animations
- The Save to Pocket animation was re-landed now that it runs in the page action area
- The Pin to Overflow animation was tweaked to not move the arrow as far low
- Minor bugs
- Fixed a bug with entering/exiting Customize Mode causing the stop/reload animation to stop working
- The Windows 10 Start Tile will now update with the new icon upon Firefox update. It previously only updated the icon for new installs.
Visuals
- We’re mostly fixing bugs and polishing right now.
- Contributor UK92 made it possible to customize the position of the back/forward and reload/stop buttons.
- Johann added a UI migration for compact dark/light themes to enable compact mode.
- ntim updated the close icon style to match the Photon spec.
- Contributor Michael Kohler renamed the compact themes to just “Dark” and “Light” and removed all the MOZ_PHOTON_THEME ifdefs (phew!).
- Dao removed the tab title centering on Mac, making it consistent with our tab titles on the other platforms.
Preferences
- Continuing on visual refresh and update for 57. Please file bugs for visual styles in Preferences, Add-on Manager, other in-content pages, etc.
Privacy/Security
- Prathiksha added site permission settings for Location, Camera, Microphone and replaced the old permission dialog for Notifications. 🎉
- Prathiksha also made it that we hide the permission section in the identity popup on pages that display chrome UI (on about: pages).
Sync / Firefox Accounts
- Wrapping up iOS bidirectional sync work.
- Form Autofill Address sync is enabled on Nightly. Enable it in about:preferences#sync
Test Pilot
- Lots of good press for the new experiments (particularly Send)
- All Test Pilot experiments are off the SDK now
- All Test Pilot add-ons are getting signed through a new signing pipeline (not AMO) to allow for non-WebExtensions in the future
- Planning to roll out Screenshots to Release in the next couple of weeks
Web Payments
- JonathanGB’s internship ended on Friday. Development will resume in a month or two as other projects wind down.
- Landed:
- Open and close a stub dialog when PaymentUIService's showPayment and abortPayment are called (respectively)
- Moved to a remote frame for the dialog
- In Progress:
This week I learned
- [mconley] Did you pass a non-primitive Object (even one that only has primitives) to a JSM, and that JSM is holding onto it? You might be leaking a window!!!
- Is there a way we can Lint this?