Firefox/Meeting/25-Sep-2018
From MozillaWiki
Today’s meeting leader is: felipe
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Activity Stream [read only]
- 3.2 Add-ons / Web Extensions
- 3.3 Application Services (Sync / Firefox Accounts / Push)
- 3.4 Browser Architecture
- 3.5 Developer Tools
- 3.6 Fission
- 3.7 Fluent
- 3.8 Lint
- 3.9 NodeJS
- 3.10 Performance
- 3.11 Policy Engine
- 3.12 Privacy/Security
- 3.13 Search and Navigation
- 3.14 Test Pilot
- 3.15 Web Payments
- 4 This week I learned
General Topics / Roundtable
- [standard8] General reminder that xpcshell-tests can use the Developer Tools for debugging. A new section has been added to the xpcshell-test page on devmo on how to do this.
- [mconley, unvoiced] I’m getting rid of contentWindowAsCPOW, contentDocumentAsCPOW, and the APIs that rely on them
- Please don’t use these anymore.
- [felipe] LegNeato will be working on Firefox desktop development efficiency and is looking for feedback:
- [johannh] The update to OSX Mojave breaks Firefox compilation unless you install header files manually. Then it compiles successfully but you’ll have a black window unless you downgrade to the 10.13 SDK.
- ac_add_options --with-macos-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/xSTtqTrY8Z8
Friends of the Firefox team
Introductions
- None this week.
Resolved bugs (excluding employees)
- Fixed more than one bug
- Adam Hillier :ahillier
- Arshad Kazmi [:arshadkazmi42]
- Jonas Jenwald [:Snuffleupagus]
- Preeti[:preeti]
- Shivam Singhal [:championshuttler]
- Tim Nguyen :ntim (please use needinfo?)
- New contributors (🌟 = first patch)
- 🌟 Alec Clarke removed an unneeded _manifestURI field and MozApplicationManifest message from our browser bindings
- 🌟 Artyom Pranovich made it so that if a user attempts to install an add-on that’s already installed but disabled, that the add-on will be enabled
- 🌟 dev increased the input history limit in the DevTools console, and also got rid of an obsolete reference from an .eslintrc
- 🌟 Jack Smith ported about:url-classifier to Fluent
- 🌟 Kajal Kumari Sah (:kajalsah) got rid of an unneeded Places maintainance task
- 🌟 Korina swapped out an old PNG image for a shiny SVG image
- 🌟 Luke Schwalfenberg [:lschwalf] fixed a broken about:policies link from about:support
- 🌟 Collin Wing ported about:profiles to Fluent
- 🌟 Siddharth Maurya [:savvysiddharth] made about:privatebrowsing more accurate by adding “copied text” to the list of things about:privatebrowsing reports that Firefox will save in Private Browsing mode
Project Updates
Activity Stream [read only]
- Running experiment with new onboarding experience (only one overlay screen) in release
- Contextual Feature recommender (doorhanger that recommends addons) is now in Nightly and will soon (next week) run as an experiment in Beta
- Bug 1487772 - show logo and wordmark when only search enabled
- 307x231px
Add-ons / Web Extensions
- Many pieces for the new userScripts API landed. See the tracking bug to follow them all.
- The delayed background script startup optimization is now enabled on Fennec.
- Location bar focus is now handled properly when extensions open new tabs.
- A glitch with uninstalling themes was fixed.
- Links in extension sidebars now work properly.
- We no longer get a yellow-screen-of-death if a language pack is updated from an unpacked version or removed from disk.
- And of course, bootstrap.js removal continues...
Application Services (Sync / Firefox Accounts / Push)
- Account recovery keys have shipped for Firefox Accounts! 🔑
- The team is working on a bookmarks 📚 and history 🕒 Android components, based on the Places schema.
- We’re currently building a command-line awesomebar demo, using Desktop’s autocomplete algorithm.
- We have a syncable logins store, based on the iOS implementation, and an Android component that’s now integrated into Lockbox 🔒.
- We’re writing a Sync storage server in Rust! 🖥
- There’s a prototype of porting the synced bookmark merger on Desktop to Rust 🦀.
- The patch has a minimal mozStorage Rust wrapper, and an nsISyncedBookmarksMirror component implemented in Rust. The merger can run off the main thread, unlike JS.
- Myk has also been working on an XPCOM component for rkv 📦.
Browser Architecture
Developer Tools
- Arai’s work to massively cut down devtools opening delay on script-heavy pages by fixing a 5y old bug to add Debugger.findSources
- Removes a 1s hang when opening Console on GMail
Fission
- Fission is our codename for the process-per-site isolation project
- Front-end: converting frame scripts to actors. Check out:
- Bug 1490810 - Simulate Fission for browser actors by blocking them from receiving subframe events
- Bug 1493984 - Simulate Fission behavior for browser actors' receiveMessage
Fluent
- No updates this week.
Lint
- ESLint is now enabled for editor/
- Picked up performance improvement from eslint-plugin-html
NodeJS
- Removing --disable-nodejs still planned, but no longer a blocker for making node available to select moz.build files https://bugzilla.mozilla.org/show_bug.cgi?id=1482433
- Up next: beta support for moz.build files, use for JSX transpilation by debugger team, eslint
Performance
- dthayer
- Has sorted out an Nvidia bug with client storage that was causing some really strange graphics artifacts on macOS. Patch is reviewed, hopefully landing soon.
- Removed some InitOSFileConstants’ main thread IO
- This is a qf:p1 targeted for Firefox 64, so it’s great to see this coming along.
- Unfortunately, it’s unlikely that all of InitOSFileConstants will come off of the main thread, but some is better than none! dthayer will be filing a follow-up bug for the rest.
- Starting to look into Document Splitting for WebRender
- This should isolate the updating of the browser UI from the web content, which should be more efficient.
- florian
- Recent about:performance improvements
- Instead of displaying ‘dispatches’ and ‘duration’, the values are combined into something (labelled “Energy Impact”) that users can better understand, with “High/Medium/Low/None” categories.
- Sort order is more stable, and subframes/workers have values.
- It’s possible to select a row. A double click will select the tab.
- Tarek Ziade is making good progress on counting webextension activity in frame scripts, and is experimenting on collecting memory information per tab.
- Recent about:performance improvements
- Gijs
- Fixed a bunch of tests.
- Recent trypush (and an earlier one with more tests/platforms) indicating remaining work will likely take at least another few weeks - probably 5-10 other test issues to sort out. They often don’t reproduce locally, and seem to largely be Linux-focused.
- Working on a qf:p1 for removing a layout flush when focusing the URL bar
- Slowly making inroads here, but needing to spend time untangling how focus causes flushes only some of the time
- mconley
- Removing the layout flush for Tabs in Titlebar proceeding apace. Have it looking good on macOS, Linux, Windows 10, and Windows 7 “aero”. Need to fix up Windows 7 non-compositor, and then I can have this up for review.
- Removed the toolbar.toolbox XBL property as a dependency
- Tested the background process priority manager on the 2018 Quantum Reference hardware, discovered a tab switcher bug, and got that fixed and uplifted.
- This caused mconley to file a bug about how the compositor seems to have more information than it’s letting on.
- Working on eliminating CPOWs from WebProgressChild messages. This will hopefully unblock the separate content process for Activity Stream from landing, which will enable the ScriptPreloading work that imjching worked on a few months back that improves about:newtab loading time.
Policy Engine
- Mac policy engine try builds available. Mac Admins already love it! (Thanks Stephen Pohl)
- Working on security devices, certificates and generic prefs for 64.
- MSI installer happening as well.
Privacy/Security
- Rolling out Firefox Monitor [moco-only]
- Full rollout of the system add-on has been delayed for now, due to crash issues and other concerns
- Publishing the website right now
- https://blog.mozilla.org/blog/2018/09/25/introducing-firefox-monitor-helping-people-take-control-after-a-data-breach/
- https://medium.com/@mgrimes/the-road-to-firefox-monitor-7c342c54bf27
Address Bar & Search
- Nicolas made the Address Bar complete about: addresses (autoFill is being fixed)
- Fixed a bug where copying a search shortcut from the Address Bar copied the wrong string
- We’re actively investigating cases where autofill doesn’t work with bookmarks, when history is disabled or cleared on shutdown
- Fixed a bug when mozParams can’t be the first entries in a search engine definition
Places
- Fixed a bug causing a favicon to be assigned to the wrong page
- Fixed a bug where the downloads API may call into the history API causing a waterfall of console errors
Test Pilot
- Conversation getting started around reusable React components that fit the Photon UI specs for websites, ping #testpilot if interested
- Screenshots: bootstrap removal should land this week 🤞, see metabug (1422437)
- Bootstrap removal introduced Talos regressions (1491997) that seem to be caused by unexpected storage init at startup (1492963)
- Looks like we’ll finally be able to enable Screenshots for all tests, based on an encouraging Try run from yesterday
- Huge thanks to aswan & kmag for jumping on addons bugs surfaced by the migration
Web Payments
- Completed highlights
- Support all countries 🌎 in form autofill preferences for use by Payment Request
- More form validation improvements ✅
- Nicer card/address pickers
- 💳 Improvedcredit card form layout and added placeholder credit card network logos
- String changes to support user testing
- DOM
- Implement PaymentResponse.retry() method
- Add support for "onmerchantvalidation" and MerchantValidationEvent
- Implement PaymentResponse.prototype.onpayerdetailchange
- In Progress
- Only 8 remaining bugs for Milestone 3 after which we’ll enable on Nightly by default (not riding the trains yet). 🎉
- Bug 1470168 - Add tooltip beside 'save to Firefox' checkbox
- Bug 1477102 - Show card network logos on the card add/edit screens
- Bug 1490805 - Add the CVV security code field to the add card form and make it required in all places
- Bug 1432939 - Link to Firefox Options/Preferences from the PaymentRequest dialog
This week I learned
- We now have support for Array<> in XPIDL. That means that all of those awkward entries can be converted to more maintainable API signatures.