Project Fission

From MozillaWiki
Revision as of 20:58, 11 June 2020 by Nika (talk | contribs) (add images to the "Enabling Fission" section)
Jump to navigation Jump to 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

A "[F]" in a loaded tab's tooltip indicates that Fission is enabled

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

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

You can verify that Fission has been enabled by hovering over a loaded tab. If the tooltip contains a "[F]", Fission is enabled.

Disabling Fission

Opening a new non-fission window

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.

To disable Fission completely, reset the "fission.autostart" pref back 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