Highlights
- Outreachy internships and GSoC projects have been announced!
- An Intent to Ship for tab warming on Windows and Linux for Firefox 61 should be going out today
- Holding warming on Nightly for macOS until this bug is sorted.
- Our implementation of Same Site Cookies landed and was uplifted to Firefox 60.
- Our MSU students are wrapping up their semester working on the Dark Theme Darkening.
- Firefox for Fire TV will soon release v2.1, with polish, bug fixes, and better crash reporting.
- Firefox for iOS 11.1 will ship this week, with bug fixes for telemetry and properly handling opening new windows from scripts.
- Activity Stream now displays your most recent downloads in Highlights!
Friends of the Firefox team
- Resolved bugs (excluding employees):
- More than one bug fixed: https://mzl.la/2qVHpbY
- :prathiksha
- Manish Kumar [:manishkk]
- Michael Kohler [:mkohler]
- Tim Nguyen :ntim
- Vivek
- New contributors (🌟 = First Patch!)
- 🌟 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
toServices.io.newURI
inFeeds.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 usensPrintfCString
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
- 🌟 Sören Hentzschel made it so WebExtensions can access
browser.display.use_document_fonts
- More than one bug fixed: https://mzl.la/2qVHpbY
Project Updates
Add-ons / Web Extensions
- Andrew updated the docs, most importantly adding details on WebExtension 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 likecreate
does. - OOP WebExtension background scripts 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 on macOS
- Rob corrected Port.onDisconnect being fired with
tabs.onAttached
event - Luca fixed tab crash and “
chrome win is null
“ onchrome.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 resources 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 New Tab.
- Theming API changes:
- WebExtension arrow panel border line (jaws)
- Fixed a
tab_selected
bug whenheaderURL
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
- In Preferences > Home you can now choose which sources should display Highlights cards.
- The New Tab page now shows search engine icons (for defaults) in the search box.
Browser Architecture
- Tracking work to allow top-level HTML windows.
- Filed a spec bug for slight divergences in custom elements implementations.
- 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
Mobile
- Work for Firefox for iOS 12.0 is steadily moving forward, making progress on unifying our share extensions, and exposing Sync more prominently in the Application menu.
Fluent
- Migrated all Preferences DTD strings to Fluent
- Next: Continue with the long tail of
.properties
andimported-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 a few bits of work to make blocklist fully asynchronous. One just landed on autoland. \o/
- One tiny bit left after that (but Gijs hopes 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.
- 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!
- 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
toSqlite.jsm
patch from landing! ASpellChecker
(of all things) patch is now awaiting review so that this whole thing can land. - Moving to
Sqlite.jsm
means thatContentPrefService
initialization comes off of the main thread.
- dthayer figured out the shutdown leak that was preventing the
- LRU cache for tab layers
- dthayer is now investigating an LRU cache to make most tab switches (not just warmed tabs) feel instantaneous.
- 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
- Starting to evaluate new policies for next release
- Starting to see Enterprise-folks poking at the engine and testing it out
Privacy/Security
- We pref-ed off the
storage
option forindexedDB.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. - 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).
Search and Navigation
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 1 for Color and Side View
Web Payments
- The team has completed 58% of the Milestones 1 – 3 Backlog.
- The majority of the Payment Request code now uses ES modules!
- Marcos attended W3C Web Payments meetings last week
This week I learned
Below the fold
- [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%
- /
- [mossop] JS implemented WebIDL is being deprecated
Wellington Torrejais da Silva wrote on