Firefox/Meeting/24-Apr-2018
From MozillaWiki
Contents
General Topics / Roundtable
- [mconley] Did you know that we have test coverage data for mozilla-central? Here, for example.
- /browser is at 69.30%
- /toolkit is at 68.51%
Friends of the Firefox team
Introductions
- [johannh] Outreachy internships have been announced yesterday!
- You can find our Outreachy interns here: https://www.outreachy.org/alums/
- Google Summer of Code projects, https://summerofcode.withgoogle.com/projects/?sp-search=mozilla
Resolved bugs (excluding employees)
More than one bug fixed
- :prathiksha
- Manish Kumar [:manishkk]
- Michael Kohler [:mkohler]
- Tim Nguyen :ntim
- Vivek
New contributors
- 🌟 Abdoulaye O. LY made it so that keyboard shortcut hints in the AppMenu are easier to see with the Dark Theme enabled
- Amy fixed some inconsistencies in the Synced Tabs icons between the sidebar and the Page Action menu
- 🌟 gilad.bau swapped all usage of BrowserUtils.makeURI to Services.io.newURI in Feeds.jsm
- Issei Horie added a note to browser/app/permissions to make it clearer to our Data Stewardship when Data Collection Review is needed
- 🌟 Jordan Hu added a test for Telemetry Histogram whitelists
- 🌟 jason made it so that the MEMORY_DISTRIBUTION_AMONG_CONTENT probe is only collected in the parent process
- 🌟 Maxim Kupfer made it so that the "Delete" key works again when deleting entries from the Saved Addresses list in about:preferences
- 🌟 Michael Calabrese rewrote part of the TelemetryScalars backend to use nsPrintfCString to avoid some awkward string construction
- 🌟 Jens Hausdorf made sure that the "What's New" links from about:preferences opens in a new tab
- 🌟 Sean Reeise updated a bunch of our Places tests to use some new async functions
Project Updates
Add-ons / Web Extensions
- Andrew updated the docs, most importantly adding details on web extension experiments.
- Rob Wu (Rob), Luca, and Kris fixed some tests.
- (Quantum Lights was un-briefly-broken via backout on Mac.)
- Jkt fixed contextualIdentities.update() so it now validates like create does.
- OOP is on by default for Mac (thank you, Kris Maglione)
- Kris continued to remove old legacy stuff (old API experiment support)
- Kris also fixed permissions in about:addons options browsers
- Markus Stange fixed initial size setting on some remote web extension panels (OSX)
- Rob corrected Port.onDisconnect being fired with tabs.onAttached event
- Luca fixed tab crash and "chrome win is null" on chrome.windows.create
- Shane created a browserSettings API to open awesomebar results in a new tab
- Shane also fixed an issue with an erroneous OAuth redirect determination in identity.launchWebAuthFlow
- Zombie (Tomislav) allowed Performance Timing to access cross-origin resource when the caller is a web extension that has permission
- Mark made it so that as of 61, users are notified when an extension changes their home page (this will probably need a tweak for distributions, like newTab)
- Sören Hentzschel (first contribution!) made it so web extensions can accessbrowser.display.use_document_fonts
- Theming API changes:
- webextension arrow panel border line (jaws)
- fixed tab_selected bug when headerURL is not set (uplifted to 60) (ntim)
- removed sanitation of fully transparent values (also ntim)
- apply toolbar properties to findbar as well (bogdan)
- The march to removing support for bootstrapped extensions, aimed for 64, continues...
Activity Stream
- Most recent download in Highlights
- Highlights options in about:preferences
- Show search engine icons (for defaults) in search box
- In progress
- Moving first run experience from website to about:welcome
Browser Architecture
- Tracking work to allow top-level HTML windows.
- Slight divergences from the custom elements spec.
- RKV proceeds with XULStore as a first testcase.
- Mentat now has an SDK for android as well as iOS.
Lint
- Be aware: Intent to require Node 8.9.1 / npm 5.5.1 to run ESLint
Fluent
- Migrated all Preferences DTD strings to Fluent
- Next: Continue with the long tail of .properties and imported-dtd
- Next (62):
- Next (63): Live language installation and switching
Performance
- Content Process Optimizations
- felipe has begun researching ways we can optimize content process start-up, and reduce the amount of script that needs to run
- Blocklist work
- Gijs has made it so that we load the blocklist asynchronously in the vast majority of cases. Telemetry reports that > 99% of the blocklist loads reported are occurring asynchronously!
- This is great for start-up, and responsiveness in general.
- There’s one last bit of work to make blocklist fully asynchronous and it just landed on autoland. \o/
- [gijs] sadly one tiny bit left (but I hope to have a patch for that today). Once that’s done, we aim to switch to using indexeddb rather than loading the entire 150k XML file, which even asynchronously isn’t great for perf. Async-ification has to come first because indexeddb fetch operations are always async.
- Blank first paint
- florian fixed a black flash that occurred for some users when showing the blank first paint window
- florian also fixed an issue where the blank window was actually slowing down start-up on Windows
- ContentPrefService off main thread
- dthayer figured out the shutdown leak that was preventing the ContentPrefService to SQLite.jsm patch from landing! A SpellChecker (of all things) patch is now awaiting review so that this whole thing can land.
- Moving to SQLite.jsm means that ContentPrefService initialization comes off of the main thread.
- LRU cache for tab layers
- dthayer is now investigating an LRU cache to make most tab switches (not just warmed tabs) feel instantaneous.
- Tab warming
- mconley is sending a note to PI and firefox-dev with an Intent to Ship for tab warming on Windows for Firefox 61. Going to hold back on Nightly for macOS until we can get bug 1453080 sorted.
- Lower-FPS throbber experiment
- mconley is preparing a study to test the effects of lowered framerates for tab throbbers on page load time.
- Ilana Segall is helping with definition and analysis, and waiting on a pre-requisite patch from hiro to land in central and get some testing.
- A layout flush from MousePosTracker that occurred most times the StatusPanel appeared (!) has been removed.
- Fun times - this opened a tp5 responsiveness regression that is currently being investigated
Policy Engine
- A couple bugs reported
- Starting to evaluate new policies for next release
- Finally starting to see folks take a look at things
Privacy/Security
- We pref-ed off the storage option for indexedDB.open for web content. It continues to work for WebExtensions for now, but we’re planning to get rid of that in 62 as well.
- Baku & Johann finished up a big patch that fixes the way we’re clearing ServiceWorkers when users delete their history or site data.
- We removed all usage of unsafeSetInnerHTML, the only remaining user is the (to be removed) GCLI.
- Our implementation of Same Site Cookies landed and was uplifted to Firefox 60.
- Firefox Beta (and Edge and Chrome) had an on-stage demo of Web Authentication last Friday at RSA 2018. (WebAuthn ships in 60)
- TLS 1.3 updated to Draft 28 in Firefox 61.
- Also, TLS 1.3 is being rolled out gradually to all Firefox Release users (Bug 1442042).
Address Bar & Search
- The placeholder in the address bar now will display the search engine name.
- about:newtab will now display the icon of the engine you’re searching with.
Places
- Landed some changes to fix up broken built-in root folders (missing roots, bad parents)
- Improved performance of download transitions query by not refreshing it for every update of history.
- Removed the nsINavBookmarks::GetDescendantFolders API
- Sean helped us rewrite some tests to use a better test-only API for adding history visits.
Sync / Firefox Accounts
- Dave Hunt is working on adding TPS to Mach and TaskCluster, with the goal of running Sync integration tests as Tier-2 on infra. 📝
Test Pilot
- Lots of focus on mobile in this quarter: Notes app is pre alpha, working with relman on a release pipeline
- New experiment launch dates are June 4 for Color and Side View
Web Payments
- The team has[1]completed 58% of the[2]Milestones 1 - 3 Backlog.
- Team meetings in Vancouver this week
- The majority of the Payment Request code nows uses ES modules!
- Marcos attended W3C Web Payments meetings last week
This week I learned
- [mossop] JS implemented WebIDL is being deprecated
- [jaws] Dark Theme Darkening project video: https://www.youtube.com/watch?v=czzffAjbUIY