Hello Colleagues!

It has been around 3 months since the last Fission newsletter so there
have been lots of accomplishments.

We are currently dogfooding Fission within an audience that includes
#Nightly from Matrix. And, according to this telemetry probe[1] about
0.8% of Nightly users (about 400 people) have Fission enabled! It’s
important to note that at the moment HTTP/HTTPS mixed content blocking
does not work in Fission, so you may want to avoid browsing sensitive
websites (e.g. your bank’s website) with Fission enabled. However, we
are adding support for it very soon in bug 1584157.

Performance

* We now have a Fission performance dashboard at
https://health.graphics/fission
* Initial version of about:processes has landed in bug 1632794.
about:processes is supposed to be an internal tool for Firefox
engineers to inspect browser processes and see a mapping between
processes and origins. The meta bug for this tool is bug 1628531.
* In e10s mode we have prestarted processes available for use when
starting a browser and navigating to an initial page. We have now
added a preallocation cache for Fission processes in bug 1602757.

Document Channel

* The parent process is now able to request a load in a content
docshell, which led to nice performance improvements as seen here[2].
* DocumentChannel can now be used for loading a URI in a docshell that
lives in the parent process.
* DocumentChannel has been enabled on GeckoView, but it does not do
any process switches.

Devtools & a11y

* Responsive Design Mode (RDM) is now Fission-compatible, and was
enabled in bug 1621306.
* JS Context Selector has been added to the Browser Toolbox and
enabled by default. This allows you to evaluate console input against
any debuggable target (it defaults to parent process, but you can
select any content process or any worker), as shown in the GIF
here[3]. You can also select and evaluate nodes within its window
using the console. Note that the context will automatically change as
you select different elements in the DOM Inspector, see the GIF
here[4].
* Support has been added for four screen readers: NVDA and JAWS on
Windows, and Orca on Linux and VoiceOver on macOS. There have been no
issues revealed during initial dogfooding with NVDA. There might be
some follow-up work required for macOS as accessibility support for it
is still in development (regardless of Fission). Besides adding more
accessibility tests, there is now hit testing as well, which
previously did not exist even for e10s.
* The accessibility panel now supports navigation into out-of-process
frames. Inspecting accessibility properties from the browser context
menu and DOM Inspector works now as well.

Front end

* The privileged about content process has been enabled in bug 1513045
and is riding out to release! This puts about:home, about:newtab and
about:welcome in their own separate content process.
* Recall that we have added JSWindowActors as a replacement for frame
scripts. We’re now working on a new type of JSActor to replace process
scripts. These JSProcessActors are for 1:1 communication between a
child process and the parent process. More documentation on this is
landing in bug 1635061.
* Over 80% of our frame scripts and message manager consumers have
been converted to JSWindowActors!

Parent process owning Session History

* Recall that previously, with a session-history-in-parent pref
enabled, session history data was stored in the parent process and
content process used sync IPC to retrieve data from the parent
process.
* We have now removed synchronous session history IPC messages and
landed the initial framework for new session history APIs in bug
1570255. Whenever we are loading a new session history entry, the
parent process will send session history information for a load to the
content process, and nsDocShell, upon finishing the load, will notify
the parent (via IPC message HistoryCommit) with the id of the entry it
loaded. In turn, CanonicalBrowsingContext keeps track of entries that
are currently loading and of the entry that is currently the active
one.


As always you can find us at #fission in Slack and on Fission in Matrix[5].

Thanks to everyone who helped write this letter,

- The Fission Team

[1] 
https://telemetry.mozilla.org/new-pipeline/evo.html#!aggregates=EnabledByAutostart&cumulative=0&end_date=null&include_spill=0&keys=!__none__!__none__&max_channel_version=nightly%252F77&measure=WINDOW_REMOTE_SUBFRAMES_ENABLED_STATUS&min_channel_version=nightly%252F74&processType=*&product=Firefox&sanitize=1&sort_keys=submissions&start_date=null&trim=1&use_submission_date=0
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1602318#c40
[3] 
https://gist.githubusercontent.com/ochameau/6be6d17bbef011a96be83e811b1abf46/raw/e1210f529ac82b463f609e6c5fb811392aea666b/js-context-selector.gif
[4] 
https://gist.githubusercontent.com/ochameau/6be6d17bbef011a96be83e811b1abf46/raw/e1210f529ac82b463f609e6c5fb811392aea666b/js-context-selector-and-inspector.gif
[5] https://chat.mozilla.org/#/room/#fission:mozilla.org
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to