=Project Fission=is the 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. The primary motivation is to protect against side-channel attacks like Spectre and Meltdown.
Project Fission is the project name for revamping and strengthening the architecture of Firefox browser.= Contact =
==Project planning==The Fission team is standing by, ready to answer your questions in the [https://chat.mozilla.org/#/room/#fission:mozilla.org #fission channel on Matrix].
Project Fission is a Cross Functional engineering effort across the Platform organization.= Reporting Bugs =
To file a Fission bug in Bugzilla, [https://bugzilla.mozilla.org/show_bugenter_bug.cgi?idproduct=Core&bug_type=defect&short_desc=%5bFission%5d&blocked=fission Primary Meta bug - Bug 1432593 - (meta) Project dogfooding click here to use this Fissionbug 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. Or
==M4 goals==* Fission meta {{bug| class1451850}} = Known Issues ="wikitable"|-* Some extensions might not work fully. But please file bugs for any of these issues! Task !! Name|-* Some DevTools issues debugging Fission tabs| All Mochitests running * Some video player issues on YouTube and passing in central (unrelated to session history or other long-term ongoing projects) || Kris Maglione, Andrew McCreight, Kashav MadanTwitch|-* Session restore does not restore page zoom level.| All non-fission tests passing in ‘ash’ || Peter Van Der Beken* Duo 2FA passcode input may not work, Olli Pettaybut Duo Push works correctly.|-| All Reftests with fission passing on central || Jonathan Watt= Enabling Fission =|-| WindowProxy transplanting || Andrew McCreightFission is only supported in the Firefox Nightly channel and requires WebRender be enabled.|-| DocumentChannel & Process switching || Matt Woodrow, Jean-Yves Avenard1. Enable the “fission.autostart” and “gfx.webrender.all” prefs in Nightly. Do not change any other “fission.*” prefs!|-2. Restart Nightly.| Make history navigations asynchronous || Olli Pettay|-| Screenshot platform API || Matt Woodrow|-| The 'load' event should wait 2. You can verify Fission is enabled by looking for OOP-iframes to load || Jonathan Watt“[F]” in the page title tooltip when you mouse over a tab.|-| BrowsingContextGroup actors || Andreas Farre|-| Kickoff: Replace nsIDocShellTreeItem with BrowsingContext || Kannan Vijayan|-| Kickoff: Make session history IPC async || Olli PettayWhen Fission is enabled, Anny Gakhokidze|you can open a non-| Make it clear that methods which won't work past Fission are process-bound || Kannan Vijayan|-| Convert content-sessionStore to C++ || Alphan Chen|-| Convert SessionHistoryListener to C++ || Alphan Chen|-| Make window using the audio/video controls Fission-aware || Abdoulaye Oumar Ly|“File > New Non-| Make the fullscreen code Fission-aware || Abdoulaye Oumar Ly|-| Make Plugin Click-Window” menu item. This is handy for testing whether a bug is specific to-Play Fission-aware || Gijs Kruitbosch|-| Make 'Find in page' work in fission world || Neil Deakin|-| Make Login Manager fission-compatible || Neil Deakinor not.|-| Make RemotePrompt To disable Fission-compatible || Mike Conley, reset the “fission.autostart” pref to “false” and restart Nightly.|-| Make DateTimePicker Fission-aware || Abdoulaye Oumar Ly|-| Add browser tests for a11y tree and events on OOP iframes || James Teh|}= Milestones =
==Team==
{| class="wikitable"
|-
! Role Milestone !! Name|-| Engineering Project Manager || Ron Manning|-| Product Manager || Mike Conca|-| Project Tech Lead || Nika Layzell|-| Accessibility Lead || James Teh|-| DevTools Engineering || Alexandre Poirot|-| DevTools Engineering || Yulia Startsev|-| DOM Engineering Manager || Neha Kochar|-| DOM Engineering || Alphan Chen|-| DOM Engineering || Andreas Farre|-| DOM Engineering || Andrew McCreight|-| DOM Engineering || Anny GakhokidzeDescription !! Date
|-
| DOM Engineering M1 || John DaiOOP iframe framework || 2019-02-28
|-
| DOM Engineering M2 || Kashav MadanSemi-functional OOP iframe|| 2019-05-06
|-
| DOM Engineering M3 || Kannan VijayanWhistler All Hands demo|| 2019-06-26
|-
| DOM Engineering M4 || Kris Maglione90% of mochitests are passing || 2019-11-12
|-
| DOM Engineering M4.1 || Peter Van Der Beken100% of mochitests are passing || TBD
|-
| DOM Engineering M5 || Henri SivonenFission is dogfoodable (internal Fx user testing) || 2020 ~Q3
|-
| FrontEnd Engineering M6 || Mike ConleyEnable in Nightly on desktop (X% rollout) || TBD
|-
| FrontEnd Engineering M7 || Neil DeakinEnable in Beta on desktop (X% rollout) || TBD
|-
| Graphics Engineering MVP || Matt WoodrowEnable in Release on desktop (X% rollout) || TBD
|-
| Graphics Engineering || Jean-Yves Avenard|-| Memshrink Lead || Eric Rahm|-| Memshrink Engineering || Kris Maglione|-| Layout Engineering || Jonathan Watt|-| Media and WebRTC Lead || Nils Ohlmeier|-| Necko Engineering || Valentin Gosu|-| Necko Engineering || Dragana Damjanovic|-| Office-of-CTO Consultant || Boris Zbarsky|-| Security Lead || Tom Ritter|-| Standards Lead Start work on Android Fission || Anne van Kesteren ~2021
|}
== Sub-pages ==
* [[Project Fission/Memory|Memory]]
* [[Project_Fission/Enabling_Tests_with_Fission|Enabling Tests with Fission]]
* [[Project Fission/DocShell_Tree_Replace|Fix out-of-process uses of DocShell tree and nsIDocShellTreeItem]]
===Find us on Slack===
* #fission
* [https://docs.google.com/spreadsheets/d/1jwYDrq0FDD0qNEN_-SXxgOAtaj15hGfH4Xna1v4qrec/edit#gid=705986634 RASCI (Mozilla only)]