New feature! You can now include GraphViz graphs and flowcharts directly on wiki pages. See examples and learn how.
Electrolysis
Contents
Goal
The goal of the current Electrolysis project ("e10s" for short) is to render and execute web related content in a single background 'content' process which communicates with the main Firefox process via various ipdl protocols. The two major advantages of this model are security and performance. Security improvements are accomplished through sandboxing, performance improvements are born out of the fact that multiple processes better leverage available client computing power.
For current status, visit the current project roadmap overview. The e10s team estimates e10s with a single content process will be enabled in Firefox Release by the end of 2015.
Enabling and Disabling Electrolysis
To enable or disable e10s, open Nightly's Preferences and check the "Enable E10S" checkbox. You will need to restart Nightly.
If your browser breaks in a way that you can't easily recover to change this setting, start Firefox in Safe Mode (by holding Alt/Option during start) which will force-disable e10s and allow you to enter the Preferences dialog and untick the checkbox.
Contributing
The simplest way to help out is to test a release that has e10s enabled, and file bug when you find them. Please try to find duplicates prior to filing.
- The project roadmap overview provides current bug lists slated for development based on a set of 2015 milestones.
- The current incoming e10s weekly triage bug list. Check this for "fresh" issues recently filed.
- Here's a bugzilla template link for filing a new e10s bug: http://is.gd/aTza8A
- When filing a new bug, please add the tracking-e10s:? flag or place 'e10s' in the bug title so that it shows up in the team's weekly triage bug list.
For developers interested in helping out, MDN has a good introduction to e10s, useful for both Firefox and add-on developers.
What to Expect
Basic browsing should work as expected. Tabs that are loaded remotely (i.e., in a separate process) will have their title underlined. By default, all tabs share just one content process. If one tab crashes, they all crash. Process-per-tab, like Google Chrome, is on our roadmap.
Common Issues
Common issues you might run into when testing e10s:
13 Total; 13 Open (100%); 0 Resolved (0%); 0 Verified (0%);
Add-ons Compatibility
A list of tested add-ons (compatible and incompatible) is available at http://arewee10syet.com.
Popular add-ons that are currently broken with e10s:
12 Total; 12 Open (100%); 0 Resolved (0%); 0 Verified (0%);
Communication
| Weekly Team Meeting | Weekly Team Meeting Thursday at 9:00am PT for 30 mins
|
| IRC |
|
| Tracking bugs |
|
| Newsgroup/Mailing List | |
| Project branch |
|
People
| Project Champion |
|
| High Level Oversight |
|
| Engineering Management |
|
| Project Management |
|
| QA |
|
| Development Team |
|
| Other Teams |
|
Here is what the letters following each name stand for, those higher on the list include all those below:
- R = Responsible for deliverable, in most cases this is anyone writing code.
- A = Accountable for the final decision making on some aspect of the project, often leadership that is not working on code but have go, no go decision making.
- C = Needs to be consulted on key topics, often this would be for subject mater experts that need to be consulted but don't have decision making power.
- I = Needs to be kept informed, those that just need regular status reports sent to them.
Reference
- MDN: Working with multiprocess Firefox
- The message manager
- Cross-process object wrappers
- Archive of past content on this page
- Electrolysis platform notes
- Notes on the Chromium IPC library
- Addon Compatibility Test Results
- IDL comments about Message Manager
- Tim Taubert's "Firefox Electrolysis 101" blog post (2011)
Bug Lists
- Nightly enable blockers:
- M2 bugs: http://tinyurl.com/mjywvmb (one leftover bug, assigned m5+, 1047603)
- M3 bugs: http://tinyurl.com/n7jekh6 (all resolved + dependencies resolved)
- Aurora uplift blockers (plus dev. tools):
- M4 bugs: http://is.gd/fi3ByM
- M5 bugs: http://is.gd/hNTLWk
- M6 bugs: http://is.gd/1Dw8gN
- All M4–M6 bugs: http://is.gd/drPSBc
- Beta blockers:
- M7 bugs: http://is.gd/DlWOob
- M8 bugs: http://is.gd/gL9Qfj
- All M7–M8 bugs: http://is.gd/89wJQh
- All M4–M8 bugs: http://is.gd/Yf1YT3
- Other e10s bugs (not blockers):
- "+" bugs - addon bugs: http://is.gd/7PQRIY
- Updated Triage List: http://is.gd/sJWCv7
- needinfo List: http://is.gd/vsPqdk
- e10s add-on triage query: http://is.gd/P2aqLC
- Gavin's front end list - http://tinyurl.com/kkjyg7n
- Meeting notes wiki: https://wiki.mozilla.org/Electrolysis#Meeting_Notes
- Accessibility tracker: https://bugzilla.mozilla.org/show_bug.cgi?id=1029143
- Devtools bug tracking: https://etherpad.mozilla.org/devtools-e10s-statuses
Schedule
| Nightly | Release | Version |
|---|---|---|
| 2014-11-28 | 2015-04-07 | Firefox 37 |
| 2015-01-12 | 2015-05-19 | Firefox 38 |
| 2015-02-23 | 2015-06-30 | Firefox 39 |
| 2015-03-30 | 2015-08-11 | Firefox 40 |
| 2015-05-11 | 2015-09-22 | Firefox 41 |
| 2015-06-29 | 2015-11-03 | Firefox 42 |
| 2015-08-10 | 2015-12-15 | Firefox 43 |
- current ship plan:
- e10s in Aurora 40
- e10s in Beta 41
- e10s in Release 42
- (FYI: Firefox 43 is last release of 2015)
Meeting Notes
- For latest meeting notes, see the Meeting Notes Etherpad.
Create a new weekly agenda from the template:
2015
|
2014
2013
|
2012
2011
|
2010
|
2009
|