Firefox/Meeting/25-Feb-2020

From MozillaWiki
Jump to: navigation, search

Today’s meeting leader is: K88hudson

General Topics / Roundtable

  • None

Friends of the Firefox team

Introductions/Shout-Outs

Resolved bugs (excluding employees)

Fixed more than one bug

  • aarushivij
  • Florens Verschelde :fvsch
  • Itiel
  • Pranav pandey
  • Vitalii

New contributors (🌟 = first patch)

  • (Will be filled out after the meeting)

Project Updates

Accessibility

Add-ons / Web Extensions

Addon Manager & about:addons

  • As part of the QA verification on Bug 1602839 (meta issue related to locking down the add-ons sideload locations) we noticed that we were still accepting sideloading of extensions dropped into the application directory, Shane fixed this in Bug 1616545 (currently landed in Firefox 75, may be uplifted to 74 beta).
  • The initial webpage that originated an addon installation is now stored in the addon db and sent as part of the abuse reports submitted by a user for the related extension (Bug 1610844)

WebExtensions Framework

  • In Bug 1493620 Tomislav removed the creation of about:blank in the windowless browsers created to load the extension background pages
  • In Bug 1614966 Shane moved the RemoteSettings prefs overriding out of ExtensionXPCShellUtils.jsm, which should make it simpler to re-use ExtensionTestUtils in xpcshell tests that would need RemoteSettings prefs to not be overwritten (e.g. see Bug 1612416)

Bugs fixed by contributors:

  • saroyanm fixed a bug that was preventing browser.permissions.request to work correctly when called from an extension popup (Bug 1432083)

Applications

Firefox Accounts

Sync and Storage

Push

Developer Tools

Debugger

  • The newly added "beforeinput" event is now also available as "Event Listener Breakpoints", thanks to farooqbckk
  • The secondary footer in the Debugger was removed to save some space
  • File tabs in Debugger can now be reordered with drag & drop, thanks to transfusion
  • Command-Click to highlight and jump to a location, thanks to janelledement
518x223px

Console

  • Instant Evaluation keeps getting better (scheduled for 75)

    • 📯 Call for Feedback: File in the meta bug

    • Oriol added support for Proxy and Reflect methods in bug 1615861

    • Logan added support for side-effects free DOM method (like querySelector for example)

    • Highlight DOM element results (bug 1614549)

    • Fixed issue with autocomplete case-insensitive matching in bug 1614841

    • [WIP] Display the autocomplete above the input so it doesn’t cover the instant evaluation result (bug 1609942)

  • `print` and `pprint` console helpers were removed, as they’re not standard, provided little values in comparison to console APIs and are not defined in other browser DevTools (Bug 1613845 and 1613843 )
  • There’s now a way to disable autocomplete directly in the UI (Bug 1593607)
  • Autoclose brackets - The Console panel input now respects the Autoclose brackets option. Console automatically inserts the corresponding closing element for quotes & brackets (bug).
  • Eugene added proper rendering of ES6 classes in the console and debugger (bug 1592277)
  • 602x148px
  • Alex made the Multiprocess Browser Console faster to open (bug 1605763)
  • Console also got a boost when dealing with lots of new messages at once (bug 1612571)
  • Added autocompletion support for optional chaining operator (?.) that landed in Firefox 74 (bug 1594009)

Network Monitor

  • WebSocket Inspector supports WAMP protocol, including JSON, MsgPack and CBOR (bug). Available in the Network panel


602x213px

  • Resend request doesn’t forget headers anymore, thanks to thiago.arrais
  • The left sidebar (request blocking and full text search) is now accessible with a side bar toggle, thanks to pranavpandey1998official
  • Focused filter buttons now look less `active` to avoid confusion, thanks to vtsty.dev
  • Blocking network URLs now allows wildcard (*) patterns, thanks to duncangleeddean
  • A new Initiator column in the Network table shows the stack trace, thanks to tranfusion.
  • Borders got added between columns in network requests list for readability


567x261px

The Network panel introduced nice column borders for better readability.

Remote Debugging

  • Temporary extensions loaded in GeckoView apps now also appear in about:debugging when connected to the device. Implemented by Luca Greco in bug 1596867.

DEBTools

  • Historically, the framework part of the code that deals with client to server communication for DevTools has been called DebuggerClient and DebuggerServer.

This likely comes from the fact that the Debugger was probably the first tool to be based on a remote (client-server) architecture.
These objects have now been renamed to the more self-explanatory DevToolsClient and DevToolsServer.

Documentation

  • Julian tracked down an issue that had made the build for our documentation website fail for some time now (bug 1613368). The site was fine, but the latest updates were not being pushed to it. This is now fixed!

We'll continue improving the onboarding docs on that site, and turn it into a simple, easy to digest, single page that points to other up-to-date resources wherever possible, to avoid duplication.

In time, we plan on moving our internal technical documentation over to this site instead of https://docs.firefox-dev.tools . Our firef-dev.tools site will only contain a one pager getting started guide for new contributors.

Fission

  • Bernard Igiri has a patch up to port UnselectedTabHover to JSWindowActors
  • Neil has a patch up to port RemotePageManager, and many of the pages that rely on it, to JSWindowActors
  • hsivonen fixed the focus issue so you can click in form controls now.
  • Adding a general fission test that is useful as a base for other fission tests that need to check that functionality works in different iframe setups.

Lint

New Tab Page

  • Working on Pocket story collections, almost done, just some telemetry and metrics stuff left.
  • Now ready to enable Pocket stories in the UK for 75

NodeJS

Password Manager

Performance

Performance Tools

  • Added WebChannel support for enabling the profiler popup. Now you can use the newer panel by clicking the enable button on https://profiler.firefox.com if you are on Firefox Nightly.

602x146px

Firefox Profiler home page with the new “enable profiler menu button” button
(https://i.imgur.com/Q3S1OLJ.png)

  • Removed the loupe view from the tab panel.
  • Added "show active tab only" checkbox to see the active tab processes and threads only. We are trying to make the UI simpler for web developers, expect more changes soon. (example profile)

602x87px
Show active tab only” checkbox
(https://i.imgur.com/ZZtJh3b.png)

  • Storage migration for the profiler server is over now. The server was down for a while on Friday and Saturday, but it's up and running again now.

Picture-in-Picture

Privacy/Security [read only]

Remote Debugging (Chromium Protocol)

(read-only this week)

Search and Navigation

Search:

  • Search configuration modernization

    • Turning the new configuration on for Nightly users in the next few days. Full roll-out currently scheduled for 76.

    • Please watch out for regressions, e.g. unexpectedly missing engines, or re-appearing engines.

Address Bar:

  • Notable changes:

    • www. prefix is now stripped from urls in results - Bug 1614957

  • Visual redesign

    • Has been enabled in Early Beta 74

    • Release scheduled for Firefox 75

    • Many fixes landed and uplifted to stabilize the design and features, in preparation to run a full experience pref-flip experiment in Firefox 74.

    • Tab can again be used to move through results when there is user typed search string - Bug 1616880

User Journey

  • Working on separating about:welcome from about:newtab to improve performance, adding JSWindowActors

  • Bernard helping us with separating ASRouter/Messaging System from New Tab
  • Launched Chrome Switchers experiment (New users on Windows that use Google Chrome): The onboarding card on about:home/newtab allows the user to start the import wizard
  • Upgraded to node 10
  • Starting up “Profile Migration Revamp” initially focusing on new users from Windows Chrome to contextually suggest importing passwords that exist in other browsers

335x167px

Example import suggestion from Chromium-based Chrome + Edge

This week I learned

  • [mconley] You can send nsIInputStream’s over the message manager / JSWindowActors

    • Might be an interesting way of avoiding IPC message limits

    • We don’t implement nsIOutputStream, but if you need to output from process A to process B, construct an nsIInputStream in process A and hand to process B, and have process B consume the stream.

    • You can send Blobs too

  • [mconley] We now have public static class fields in Nightly

    • Unsure whether or not we’re okay to use these yet in production code.