Project Fission: Difference between revisions

Jump to navigation Jump to search
Refresh the Fission project wiki
m (→‎Project planning: Remove obsolete dashboard link)
(Refresh the Fission project wiki)
Line 1: Line 1:
=Project Fission=
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 =


[https://bugzilla.mozilla.org/show_bug.cgi?id=fission Primary Meta bug - Bug 1432593 - (meta) Project Fission]
To file a Fission bug in Bugzilla, [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&bug_type=defect&short_desc=%5bFission%5d&blocked=fission-dogfooding 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. Or


==M4 goals==
* Fission meta {{bug|1451850}}
{| class="wikitable"
 
|-
= Known Issues =
! Task !! Name
 
|-
* Some extensions might not work fully. But please file bugs for any of these issues!
| All Mochitests running and passing in central (unrelated to session history or other long-term ongoing projects) || Kris Maglione, Andrew McCreight, Kashav Madan
* Some DevTools issues debugging Fission tabs
|-
* Some video player issues on YouTube and Twitch
| All non-fission tests passing in ‘ash’ || Peter Van Der Beken, Olli Pettay
* Session restore does not restore page zoom level.
|-
* Duo 2FA passcode input may not work, but Duo Push works correctly.
| All Reftests with fission passing on central || Jonathan Watt
 
|-
= Enabling Fission =
| WindowProxy transplanting || Andrew McCreight
 
|-
Fission is only supported in the Firefox Nightly channel and requires WebRender be enabled.
| DocumentChannel & Process switching || Matt Woodrow, Jean-Yves Avenard
 
|-
1. Enable the “fission.autostart” and “gfx.webrender.all” prefs in Nightly. Do not change any other “fission.*” prefs!
| Make history navigations asynchronous || Olli Pettay
2. Restart Nightly.
|-
2. You can verify Fission is enabled by looking for “[F]” in the page title tooltip when you mouse over a tab.
| Screenshot platform API || Matt Woodrow
When Fission is enabled, you can open a non-Fission window using the “File > New Non-Fission Window” menu item. This is handy for testing whether a bug is specific to Fission or not.
|-
To disable Fission, reset the “fission.autostart” pref to “false” and restart Nightly.
| The 'load' event should wait for OOP-iframes to load || Jonathan Watt
 
|-
= Milestones =
| BrowsingContextGroup actors || Andreas Farre
|-
| Kickoff: Replace nsIDocShellTreeItem with BrowsingContext || Kannan Vijayan
|-
| Kickoff: Make session history IPC async || Olli Pettay, Anny Gakhokidze
|-
| 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 the audio/video controls Fission-aware || Abdoulaye Oumar Ly
|-
| Make the fullscreen code Fission-aware || Abdoulaye Oumar Ly
|-
|  Make Plugin Click-to-Play Fission-aware || Gijs Kruitbosch
|-
|  Make 'Find in page' work in fission world || Neil Deakin
|-
|  Make Login Manager fission-compatible || Neil Deakin
|-
|  Make RemotePrompt Fission-compatible || Mike Conley
|-
| Make DateTimePicker Fission-aware || Abdoulaye Oumar Ly
|-
| Add browser tests for a11y tree and events on OOP iframes || James Teh
|}


==Team==
{| class="wikitable"
{| class="wikitable"
|-
|-
! Role !! Name
! Milestone !! Description !! Date
|-
| 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 Gakhokidze
|-
|-
| DOM Engineering || John Dai
| M1 || OOP iframe framework || 2019-02-28
|-
|-
| DOM Engineering || Kashav Madan
| M2 || Semi-functional OOP iframe|| 2019-05-06
|-
|-
| DOM Engineering || Kannan Vijayan
| M3 || Whistler All Hands demo|| 2019-06-26
|-
|-
| DOM Engineering || Kris Maglione
| M4 || 90% of mochitests are passing || 2019-11-12
|-
|-
| DOM Engineering || Peter Van Der Beken
| M4.1 || 100% of mochitests are passing || TBD
|-
|-
| DOM Engineering || Henri Sivonen
| M5 || Fission is dogfoodable (internal Fx user testing) || 2020 ~Q3
|-
|-
| FrontEnd  Engineering || Mike Conley
| M6 || Enable in Nightly on desktop (X% rollout) || TBD
|-
|-
| FrontEnd  Engineering || Neil Deakin
| M7 || Enable in Beta on desktop (X% rollout) || TBD
|-
|-
| Graphics Engineering || Matt Woodrow
| MVP || Enable in Release on desktop (X% rollout) || TBD
|-
|-
| Graphics Engineering || Jean-Yves Avenard
| - || Start work on Android Fission || ~2021
|-
| 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 || Anne van Kesteren
|}
|}


== Sub-pages ==
= Sub-pages =


* [[Project Fission/Memory|Memory]]
* [[Project Fission/Memory|Memory]]
Line 131: Line 62:
* [[Project_Fission/Enabling_Tests_with_Fission|Enabling Tests with Fission]]
* [[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]]
* [[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)]
Confirmed users
3,339

edits

Navigation menu