Firefox/Meeting/3-Dec-2019

From MozillaWiki
Jump to: navigation, search

Today’s meeting leader is: RyanVM

General Topics / Roundtable

Friends of the Firefox team

Introductions/Shout-Outs

Resolved bugs (excluding employees)

Fixed more than one bug

  • Bryan Kok [:transfusion]
  • Itiel
  • Jacob Stenson
  • jaril
  • Ruturaj Vartak
  • Tim Nguyen :ntim

New contributors (🌟 = first patch)

Project Updates

Accessibility (read only)

Add-ons / Web Extensions

  • Adapting WebExtensions Framework to Fission:

    • Tomislav landed the first part of the changes needed to port the WebExtensions internals to Fission-compatible IPC (Bug 1577498)

    • Let us know if you notice any regression that may be related to this (in particular errors related to the new internals introduced by this change, e.g. ConduitsParent.jsm / ConduitsChild.jsm). If you file a bug related to this, link it to Bug 1577498 as a blocker

  • HTML about:addons:

514x552px

Enabling / disabling themes (Bug 1575905) and extensions (Bug 1570792)


Link to screenshot: https://bug1570792.bmoattachments.org/attachment.cgi?id=9111881


  • APIs and features for builtin and/or line extensions:

    • Built in extensions (like screenshot) can load localized strings for some of their manifest properties (e.g. name and description) from Fluent files (Bug 1457865), Thanks to Andrew Swan for working on this!

    • Drew Willcoxon added new browser.telemetry API methods to allow privileged extensions to record keyed scalars (Bug 1596661)

    • Andrea worked on moving a number of features implemented in secure-proxy using an embedded experimental APIs into in-tree WebExtensions APIs (Bug 1593651, Bug 1593635)

  • APIs and fixes related to browser settings:

    • Shane investigated and fixed some settings-related issues (Bug 1599205, Bug 1578513, Bug 1599708, Bug 1548700) and it has introduced browserSetting.onChange API event (Bug 1410412)

    • Myeongjun Go contributed a fix to the chrome_settings_overrides API schema to allow an extension to specify a custom icon packaged with the extension as part of the extension manifest.json file (Bug 1571110)

  • Extension Storages and browsingData APIs

    • Rob fixed a regression that prevented content scripts from being able to access storage.managed data (Bug 1575162)

    • A regression related to the browsingData API when LSNG is enabled has been fixed in Firefox 72 (Bug 1575891, Bug 1596542)

    • Bianca enabled the DevTools storage panel to change the data stored by an extension using the storage.local API (Bug 1573201)

    • Matthew contributed a fix to the browsingData API to prevent extensions for mistakenly disconnecting sync when clearing website credentials (Bug 1595656)

  • Theme API:

    • James Jahns ported LightweightThemeChild to JSWindowActors (Bug 1595143)

    • Dao fixed a theme bug which was making the megabar results to be rendered on a transparent background (Bug 1586054 and Bug 1590759 as a follow up)

  • Integrated Abuse Report and mozAddonManager.reportAbuse API:

  • Other / General:

    • Haik added a disclaim option to Subprocess which leverages the undocumented posix_spawn attribute to prevent Native messaging applications (started by Firefox for the WebExtensions) from inheriting Firefox entitlement on MacOS Catalina (Bug 1576733)

    • Mélanie Chauvel contributed a fix for tabs.duplicate called on pinned tabs (Bug 1563380)

    • Mossop landed one more fix for an AsyncShutdownTimeout which was being investigated for awhile (Bug 1513855), the last fix landed on both 72 and 71 and a sensible drops on crashes with this signature has been noticed

    • Perry fixed a bug in webRequest StreamFilter which was corrupting data received from a service worker running in the parent intercept mode (Bug 1587960)

    • Tom Schuster (:evilpie) made sure that .mjs file are recognized as javascript modules, which makes extensions able to use them as ES6 modules (Bug 1589895)

Applications

Firefox Accounts

  • No updates this week.

Sync and Storage

  • No updates this week.

Push

  • No updates this week.

Browser Architecture (read only)

Developer Tools

  • DevTools & Fission

    • M1: Omniscient Browser Toolbox (OBT)

      • First step towards DevTools Fission compatibility
    • Development is currently happening behind a pref

    • We are planning to enable OBT in Nightly

    • Testing in progress, help welcome!

  1. Create a new profile
  2. Flip devtools.browsertoolbox.fission
  3. Open: Tools > Web Developer > Browser Toolbox
  4. The title should say: 💥 Omniscient Browser Toolbox 💥


  • What's New in DevTools Panel in Firefox 71 (bug 1594885)


602x301px

screenshot


  • Network Panel: Search across all HTTP Requests (bug), Manual Resource Blocking (bug) and WebSocket Inspector (bug) features enabled on all channels and riding the trains.


  • Console Panel: New Open URL in New Tab context menu entry on links in the console output (bug 1214556) - by Raymond


602x294px

Screenshot


  • console.table() can be used with Typed arrays (bug 1595594)
  • console.table(new Int8Array([1, 2, 3, 4]))


602x268px

screenshot

  • Inspector Panel: You can now do much more with nodes located under a shadow-root now (bug 1598944 and bug 1600084). Contributed by :emilio


490x359px

screenshot




Remote Debugging (Chromium Protocol)

Introduction: The Web Predictability team (#interop) is implementing a subset of CDP in Firefox; we’ve had a working prototype for some time, and our next milestone is to provide initial cross-browser support in Google's Puppeteer (a popular Node.js library for headless browser automation).

Fission

Lint

  • No updates this week.

New Tab Page

  • Discovery Stream shipping in Germany in 72, this has 1x3 pocket stories, same as the old new tab page, so it shouldn’t look different to the user, just changing how it’s being rendered. Once we have enough content for German stories we can turn on 7x3. Responsive design work incoming.

NodeJS

Password Manager

Performance

  • Doug updated the tabswitch test to be relevant for Fission and is now working on the tresize test.
  • Doug experimented with removing the early dll readaheads, and this seems to have a positive impact on Windows 10 on time to blank window shown, for all but the 95th percentile, which shows a sharp increase.
  • Doug landed a patch to record hangs preceding forced shutdown (which were previously unable to be sent due to, e.g. a user forcibly terminating the browser during a hang.)
  • Emma worked on a patch that makes Telemetry gather CPU info off main thread.
  • Emma also has a patch in progress to make launching sandboxed content processes cheaper
  • Gijs started working on reducing the startup cost of our external helper app / protocol handling service.
  • Gijs fixed some pref usage in plugins (where I also fixed some unnecessary IPC) and dom.ipc code.
  • Gijs pushed RemoteSettings blocklist through the finish line, and it is shipping to beta in 72!
  • We now have Talos runs on mozilla-central with profiling! Look for T-prof jobs.
  • Did you know you can cause Talos to run with profiling without re-pushing?

    • 358x301px

    • Creates a -p job - example, “o-p” to run “Talos other”, with profiling

  • OKR planning is underway - we’re likely going to be looking at both startup and shutdown in 2020 Q1
  • mconley is doing a deep-dive into about:home’s code to ultimately produce a set of recommendations on how to optimize it for first paint and responsiveness

Performance Tools

  • There is a new retained memory view for native allocations. It shows you the allocated but not deallocated memory. Example profile

491x358px
Screenshot

  • Markers are now grouped by their categories in Marker Chart. Also all markers are in a sorted order now(previously they were randomly listed)415x358px

Screenshot

  • It’s now possible to see which JS frame belongs to which web page.

602x129px
Screenshot

  • Profiler recording panel now has dark theme support. Thanks to Michael, our long term contributor, for implementing this feature!

Picture-in-Picture

Privacy/Security

  • No updates this week.

Search and Navigation

Search:

Address Bar:

User Journey

  • What’s New content for 72: promoting PiP, preview in QA docs; not live yet
  • New Onboarding cards experience: content is no longer fixed, it dynamically adjusts to user profile: bug, PRD doc
  • WIP for a CFR - ML solution (targets 73) meant to optimize how often we show recommendations to users

This week I learned