Firefox/Meeting/17-Jul-2018
From MozillaWiki
Contents
General Topics / Roundtable
- [6a68] Favorite ways to keep up with developments in other browsers?
- [mconley] Looks like multi-select tabs have been enabled by default on Nightly!
- [mconley] Remember Services.[c|p]pmm.initialProcessData? Introducing Services.[c|ppmm.sharedData], a better solution!
- Key-value store stashed in shared memory, instead of cloned to each content process
- Read/Write in parent, Read-only in content
- Decoded lazily
- Sync’d to content on idle (with “change” events firing on the message manager to let you know what updated)
- [gijs] is there a bug tracking moving existing consumers to the newfangled thing?
Friends of the Firefox team
Introductions
- Kanika Saini is working on about:policies and other parts of our Policy Engine!
Resolved bugs (excluding employees)
- More than one bug fixed
- Abdoulaye O. LY
- Manish Kumar [:manishkk]
- New contributors (🌟 = First Patch!)
- Igor Oliveira fixed a bug in our Addons Manager code where an undefined variable was being used
Project Updates
Add-ons / Web Extensions (read only)
- 61 (and 60ESR?):
- Kris fixed an issue with filterResponseData that broke window.load in XML documents (fixed in 61, waiting for rebase to consider for 60ESR).
- 62:
- Peter Simonyi fixed a bug in menus.onShown when the context is a bookmark (possibly to be uplifted to 62).
- Shane fixed webRequest.getSecurityInfo in 62 to:
- not return localised values…
- …and return undefined for keaGroupName and signatureSchemeName if SSLStatus returns "none"…
- …and have the timestamp in milliseconds.
- Ian Moody fixed a devtools regression that was introduced in 61 (to be uplifted to 62).
- 63:
- Aswan enabled the delayed background page startup on all channels (was just Nightly in 62).
- Luca fixed a bug with extension storage, as part of the move to IndexedDB.
- Smaug made extensions work with shadow DOM/WebComponents.
- Oriol made it so that browser.tab.highlight() with a single tab does not set multiselected to true.
- Shane updated tabs.onUpdated filtering to use “isArticle” (capital A).
- Mkaply cleaned up the search API.
Activity Stream
- Work on turning Activity Stream into a component started (bug meta) primarily moving init from bootstrap to a jsm then packaging from feature to browser.jar
- Implement New Tab Page background and text color properties bug 1347204
- Switching remote tippy top site data to use RemoteSettings
- Getting about:welcome ready with a bunch of fixes
Lint
- Automated code analysis is now running in Phabricator
Performance
- In progress
- dthayer
- ClientStorage work (which should help lower the jank on the compositor on macOS) is nearing completion. One more patch to get reviewed!
- mconley suspects this is the major blocker to enable tab warming by default on macOS
- Also working on migrating more of our code to use the new Places Observer system, which should handle operations over many entries more efficiently (great for sync’ing and imports!)
- ClientStorage work (which should help lower the jank on the compositor on macOS) is nearing completion. One more patch to get reviewed!
- florian
- Working on beefing up about:performance!
- Gijs
- Researching ways in which we can classify machines as “low powered”, and then adjust parts of our browser accordingly
- Working on avoiding spurious about:blank loads when creating new windows
- imjching
- Working on enabling the Activity Stream content process - just working through some test failures.
- Researching ways in which we could use the moz-page-thumbs protocol in the privileged content process - this could allow us to persist the Activity Stream state in a way that avoids having to calculate new state during start-up
- dthayer
- Done
- dthayer
- Moved some of the WindowJumpList code off of the main thread
- According to arewesmoothyet, this was a significant source of jank
- Moved some of the WindowJumpList code off of the main thread
- florian
- The memory reporter table in about:performance was removed - a more performant and actionable replacement is in the works
- Gijs
- Made browser resizing with devtools open smoother, also here.
- imjching
- dthayer
Policy Engine
- Uplift to ESR 60 is starting to happen
Privacy/Security
Anti-Tracking
- Meta-Bug, Front-End Meta Bug, FastBlock Meta Bug
- There’s a new animation for the tracking protection icon in the identity block.
- Baku added a pref that allows us to block storage access for third party trackers on the TP blocklist, unless they have user interaction.
- This will get some UI in the 63 cycle and possibly ship as a default.
Firefox Monitor
- The Firefox Monitor shield study (bug) has finished and we’re evaluating the results.
Address Bar & Search
- WebExtension Search Query API landed
- Fixed bugs in the mercadolibre search plugin
- Autofill fixes have been uplifted to 62. Please help us testing it by reporting (through Bugzilla, Slack or IRC) cases where you’d expect an origin to be autofilled (because you use it often) but it’s not.
- Florian Hartmann will present his work on the federated learning addon (original blog post) today during internship presentations
Places
- We are in the process of removing nsIDownloadHistory, to directly use the async History API and remove page annotations:
- Removed nsIGlobalHistory2.idl & the docshell implementation of nsDownloadHistory
- Removed nsIDownloadHistory::removeAllDownloads
- DownloadCore.jsm is now the only responsible to add downloads, rather than sharing the task with nsExternalHelperAppService
- We are reducing the maximum favicon size from 256 to 192px. To shrink the favicons database size a bit, since nobody is using 256px icons in the UI.
Other
- Fixed a formfill autocomplete bug on the Google login page. Formfill will now act on keydown, rather than keypress, disallowing pages from bypassing it.
- There is a known issue on Windows 10 with the Antimalware Service slowing down the system when Firefox is running. A new Defender version, expected to solve the problem, should be available in the next weeks.
- Sqlite now uses an exclusive locking vfs on Linux. This prevents some SIBGUS crashes and makes Sqlite work more reliably on nfs filesystems. On the other side, it’s not possible anymore to access Sqlite databases while Firefox is running. If you work with Sqlite in Linux and need concurrent access to debug, you can create a boolean “storage.multiProcessAccess.enabled” pref and restart the browser.
Application Services (Sync / Firefox Accounts / Push)
- Carol fixed the threading model in the FxA client component for Fenix 🎻.
- Ed is removing dependencies on C libraries in Sync.next, preferring pure Rust libraries where possible 🦀.
- Thom is continuing to work on a Sync Logins API in Rust for Lockbox 🔐.
- Mark is working on a strategy for shipping the Sync.next Rust library in products 🚢.
- Lina fixed a bug where moving bookmarks between folders wouldn’t move them on other devices, and changed the bookmarks mirror to be snappier 📚.
Test Pilot
- Side View:
- A Firefox blog post drove about 10k new installs last week 🎉
- Interesting note: Side View is the 4th iteration of an idea that started out as a pre-57 XUL Overlay addon. Donovan recounts its history in a new blog post: https://medium.com/firefox-test-pilot/the-evolution-of-side-view-c32c428d9644
- Notes:
- Shipped on Android. Up next, we’re triaging, responding to early feedback and meeting with the Applications Services team to figure out next steps for the Notes experiment.
- Firefox Lockbox:
- Released to the public on July 10th, 2018 at 6 AM Pacific via Test Pilot
- Social media response (hackernews, reddit) relatively positive!
- Starting small with just a few EN-only countries, will get feedback and roll out to more regions and languages soon
- Future: update Firefox Accounts OAuth integration, iOS 12 autofill support
- Next week: kick-off Android app planning...
- Color:
- Les has been live coding while he works on adding custom background image support (inspired by mconley :-). Check it out on twitch or youtube
- John has been working on palette generators
- Design intern Vicky is working on a complete UX overhaul for Color so we can replace Personas Plus which will be retiring soon.
- Send:
- Working with Platform to allow much larger file transfers via WritableStream API (bug). We hope to release a completely overhauled product experience when Streams are preffed on in Firefox.
- Donovan has a working demo of Send for Android
- Test Pilot platform:
- Closed a ton of last minute bugs to make sure mobile launches were successful.
- Special high fives to Jess, Jesslyn, Cherry, Sylvestre, Devin, and Sandy for helping make our latest launch successful
- Screenshots:
- Most requested annotation features (undo/redo, add text/emoji) are on stage & shipping this week
- Heartbeat study is complete; talking with Teon on Friday about the results
- Talking with devtools about screenshots integration
Web Payments
- [prathiksha] Landed native
<select>
dropdowns. Polishing dropdowns. - [sfoster] Implementing error pages and handling the user closing the dialog with the native window controls (outside of macOS).
- [jaws] Breaking down work required to continue using a window modal PaymentRequest dialog for the MVP so we can compare to the effort required to build a new tab-modal widget.
- [MattN] Header and footer visual polish landed. Working on payment card add/edit page improvements.