Project Fission

From MozillaWiki
Revision as of 20:44, 11 June 2020 by Nika (talk | contribs) (update list of known issues)

Jump to: navigation, search

Fission is Mozilla's project to implement Firefox site isolation: third-party iframes will be loaded in separate processes, safely sandboxed from the web page's content process.

Contact

The Fission team is standing by, ready to answer your questions in the #fission:mozilla.org room on Mozilla's Matrix server.

Reporting Bugs

To file a Fission bug in Bugzilla, click here to use this Fission bug template. Or file a bug and include the word “Fission” in the bug summary. The Fission team’s bug triage will find the bug, regardless of which Bugzilla component you file it in.

Known Issues

  • Some extensions might not work fully. But please file bugs for any of these issues!
  • Some video player issues on YouTube and Twitch. (bug 1619370, bug 1620341)
  • Cross-site iframes appear empty when printed.
  • Cross-site iframes appear empty in screenshots.
  • Documents with cross-site iframes cannot enter the BFCache.
  • Session history is not tracked for cross-site iframes.
  • Session restore occasionally fails to restore page state, such as page zoom, scroll offset, or form data.
  • DevTools support for cross-site iframes with fission is incomplete.
  • Attempting to debug extensions or workers from a non-fission window can cause crashes.
  • Resource exhaustion issues with large tab counts, including:
    • Excessive memory usage
    • File descriptor exhaustion issues
    • X11 connection exhaustion on Linux

Enabling Fission

Fission is still in active development, and can only be enabled in Firefox Nightly.

How to enable Fission:

  1. Enable the "fission.autostart" pref in Nightly using about:config. No need to mess with any other "fission.*" prefs.
  2. Restart Nightly.

Fission should now be enabled. To verify it's enabled, load a webpage, hover over the tab, looking for a "[F]" (i.e. Fission) in the tab's tooltip popup.

If you encounter an issue while using Fission, it is possible to open a non-fission window within the same browsing session using the "New Non-Fission Window" item in the hamburger menu. This can be useful to determine if issues are Fission-specific, or to work around fission-specific breakage.

In general, avoid modifying other "fission.*" prefs, as they are often for testing, or unstable features very early in development, and aren't ready to be used for day-to-day browsing.

To disable Fission, reset the "fission.autostart" pref to "false" and restart Nightly.

Milestones

Milestone Description Date
M1 OOP iframe framework 2019-02-28
M2 Semi-functional OOP iframe 2019-05-06
M3 Whistler All Hands demo 2019-06-26
M4 90% of mochitests are passing 2019-11-12
M4.1 100% of mochitests are passing TBD
M5 Fission is dogfoodable (internal Fx user testing) 2020 Q2
M6 Enable in Nightly on desktop (X% rollout) 2020
M7 Enable in Beta on desktop (X% rollout) 2020
MVP Enable in Release on desktop (X% rollout) TBD
- Start work on Android Fission ~2021

Sub-pages