Confirmed users
1,982
edits
(closing this out.) |
|||
(50 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
== Thanks == | |||
(5/1/2018) The Electrolysis Project is officially complete. Mozilla continues to work on scaling the Gecko process model through newer projects and work, including our process-per-origin initiative [https://wiki.mozilla.org/Project_Fission Project Fission]. Props and thanks to our entire community for helping us ship this body work. We could not have successfully shipped this without your help! | |||
== Overview == | == Overview == | ||
Line 6: | Line 10: | ||
* Legacy NPAPI plugin hosting | * Legacy NPAPI plugin hosting | ||
* Media playback | * Media playback ('Gecko Media Plugin', a.k.a. 'GMP') | ||
* Web content ('content processes') | * Web content ('content processes') | ||
* [Fx53] GPU Process (Windows Only) {{bug|1264543}} | |||
* [Fx54] file://URL access process {{bug|1147911}} | |||
* [Fx55] Web Extensions {{bug|1190679}} | |||
* [Fx55, Fx56] ServiceWorker and in the future SharedWorker threads {{bug|1231208}} | |||
In the future Electrolysis child processes may be used to handle other browser tasks including | In the future Electrolysis child processes may be used to handle other browser tasks including audio, networking ({{bug|1322426}}), PDFium and Pepper Flash ({{bug|558184}}). | ||
In Mozilla documentation "Electrolysis" is often shorted as "e10s". | In Mozilla documentation "Electrolysis" is often shorted as "e10s". | ||
Line 17: | Line 25: | ||
=== Nightly/Aurora === | === Nightly/Aurora === | ||
If you're on Nightly | If you're on Nightly e10s-multi is enabled by default with 4 content processes. Soon, Firefox 54 Aurora, will also have e10s-multi (4 processes) enabled by default. A user-facing checkbox is available for controlling Electrolysis functionality. Open Preferences and check the "Enable multi-process" checkbox and then restart your browser: | ||
[[File:E10s-toggle-in-preferences.png|324x150px|frameless|Nightly > Preferences > General > Enable multi-process]] | [[File:E10s-toggle-in-preferences.png|324x150px|frameless|Nightly > Preferences > General > Enable multi-process]] | ||
Line 34: | Line 42: | ||
== Schedule and Status == | == Schedule and Status == | ||
View the [https://wiki.mozilla.org/Electrolysis/Multiple_content_processes Multiple Content Process] wiki page for more information about release milestones, release criteria, and a gradual roll-out schedule of e10s-multi. | |||
=== Schedule === | |||
The following schedule covers rollout of the single content process feature to release builds up to Firefox 54. Multi process is covered starting in Nightly 54. | |||
[https://sql.telemetry.mozilla.org/queries/972#1659 What percent of the population actually has e10s enabled? ] | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Date !! Trunk !! Aurora !! Beta !! Release | ! Date !! Trunk !! Aurora !! Beta !! Release | ||
|- | |- | ||
| 2015-04-30 || 40 default (working on m5) || 39 off || 38 off || 37 off | | 2015-04-30 || 40 default (working on m5) || 39 off || 38 off || 37 off | ||
|- | |- | ||
| 2015-05-11 || 41 default (working on m6) || 40 prompt || 39 off || 38 off | | 2015-05-11 || 41 default (working on m6) || 40 prompt || 39 off || 38 off | ||
|- | |- | ||
| 2015-06-29 || 42 default (working on m7/m8) || 41 prompt|| 40 off || 39 off | | 2015-06-29 || 42 default (working on m7/m8) || 41 prompt|| 40 off || 39 off | ||
|- | |- | ||
| 2015-08-10 || 43 default (working on m8) || 42 default || 41 off || 40 off | | 2015-08-10 || 43 default (working on m8) || 42 default || 41 off || 40 off | ||
|- | |- | ||
| 2015-09-21 || 44 default || 43 default || 42 off || 41 off | | 2015-09-21 || 44 default || 43 default || 42 off || 41 off | ||
|- | |- | ||
| 2015-11-02 || 45 default || 44 default || 43 off || 42 off | | 2015-11-02 || 45 default || 44 default || 43 off || 42 off | ||
|- | |- | ||
| 2015-12-14 || 46 default || 45 default || 44 A/B [1] || 43 off | | 2015-12-14 || 46 default || 45 default || 44 A/B [1] || 43 off | ||
|- | |- | ||
| 2016-01-25 || 47 default || 46 default || 45 A/B [1] || 44 off | | 2016-01-25 || 47 default || 46 default || 45 A/B [1] || 44 off | ||
|- | |- | ||
| 2016-03-07 || 48 default || 47 default || 46 A/B [1] || 45 off | | 2016-03-07 || 48 default || 47 default || 46 A/B [1] || 45 off | ||
|- | |- | ||
| 2016-04-25 || 49 default || 48 default || 47 50% [1][2] || 46 off | | 2016-04-25 || 49 default || 48 default || 47 50% [1][2] || 46 off | ||
|- | |- | ||
| 2016-06-06 || 50 default || 49 default || 48 [1][2] || 47 off | | 2016-06-06 || 50 default || 49 default || 48 [1][2] || 47 off | ||
|- | |- | ||
| 2016-08-01 || 51 default[6] || 50 default || 49 [2][4]|| 48 ON [3] | | 2016-08-01 || 51 default[6] || 50 default || 49 [2][4]|| 48 ON [3] | ||
|- | |- | ||
| 2016-09-19 || 52 default [7][8] || 51 default[6] || 50 default [4] || 49 ON [5] | | 2016-09-19 || 52 default [7][8] || 51 default[6] || 50 default [4] || 49 ON [5] | ||
|- | |- | ||
|2016-11-07 || 53 default [8] || 52 default [7]|| 51 default [6] || 50 ON [5]|| | |2016-11-07 || 53 default [8] || 52 default [7]|| 51 default [6] || 50 ON [5] | ||
|- | |||
|2017-01-24 || 54 default || 53 default || 52 default [7] || 51 ON | |||
|- | |||
|2017-03-07 || 55 default[9] || 54 default[8] || 53 default || 52 ON | |||
|- | |||
|2017-04-18 || 55 default || n/a || 54 default || 53 ON | |||
|- | |||
|2017-06-13 || 56 default || n/a || 55 default || 54 ON [10] | |||
|} | |} | ||
Line 80: | Line 97: | ||
[5] White listed Add-Ons + Add-Ons created as a WebExtension shipping on Release<br/> | [5] White listed Add-Ons + Add-Ons created as a WebExtension shipping on Release<br/> | ||
[6] A11y+ Windows 8 touch screen support enabled, not riding trains<br/> | [6] A11y+ Windows 8 touch screen support enabled, not riding trains<br/> | ||
[7] | [7] Windows 8 riding trains<br/> | ||
[8] E10s Multi Enabled, Not riding trains<br/> | [8] E10s Multi Enabled, Not riding trains<br/> | ||
[9] A11y Enabled for Windows <br/> | |||
[10] E10s multi enabled, riding trains<br/> | |||
[*] indicates the goal for the release has yet to be planned | |||
=== Add-ons Schedule === | === Add-ons Schedule === | ||
Line 87: | Line 107: | ||
The following schedule rollout of Electrolysis as it releases specifically to add-ons. Each release of Firefox will add more and more add-ons to the cohort of users who get multi process Firefox. | The following schedule rollout of Electrolysis as it releases specifically to add-ons. Each release of Firefox will add more and more add-ons to the cohort of users who get multi process Firefox. | ||
Users with add-ons not in yet the cohort to get multi-process, will continue to run Firefox (as before) without e10s enabled. | Users with add-ons not in yet the cohort to get multi-process, will continue to run Firefox (as before) without e10s enabled. The [https://blog.mozilla.org/addons/2017/02/16/the-road-to-firefox-57-compatibility-milestones/ Road to 57 blog post] has details and there is a [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Schedule visual of the schedule here]. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 95: | Line 115: | ||
| 49 || limited experimental set of Extensions and all WebExtensions | | 49 || limited experimental set of Extensions and all WebExtensions | ||
|- | |- | ||
| 50 || all Extensions marked " | | 50 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1] | ||
|- | |- | ||
| 51 || | | 51 || Moving back to Fx 50 release criteria. All Extensions and all WebExtensions [1], [2], [3], plus 770 add-ons testing in Beta that were not marked either way (initial expansion) had been included. | ||
|- | |- | ||
| 52 || | | 52 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1] | ||
|- | |- | ||
| 53 || | | 53 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1]. | ||
|- | |||
| 54 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1]. | |||
|- | |||
| 55 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1]. | |||
|- | |||
| 56 || all Extensions marked "multiprocessCompatible" and all WebExtensions [1]. | |||
|- | |||
| 57 || ONLY WebExtensions supported [4] | |||
|} | |} | ||
Line 108: | Line 136: | ||
[2] Initially [https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Multiprocess_Firefox_and_the_SDK#Testing_your_add-on Shims] will be available that will help certain add-ons with compatibility. These are a temporary measure due to potential [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Cross_Process_Object_Wrappers#Limitations_of_CPOWs limitations] that could impact user experience. | [2] Initially [https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Multiprocess_Firefox_and_the_SDK#Testing_your_add-on Shims] will be available that will help certain add-ons with compatibility. These are a temporary measure due to potential [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Cross_Process_Object_Wrappers#Limitations_of_CPOWs limitations] that could impact user experience. | ||
[3] With the exception of Extensions marked explicitly as NOT | [3] With the exception of Extensions marked explicitly as NOT multiprocessCompatible. | ||
For information on add-on support rollout see the [https://wiki.mozilla.org/Add-ons Add-on Project Wiki]. | [4] [https://blog.mozilla.org/addons/2017/02/16/the-road-to-firefox-57-compatibility-milestones/ More details in blog post] or [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Schedule broader add-on timing schedule] see [https://wiki.mozilla.org/Add-ons/Firefox57 for details on what will be allowed] | ||
For information on add-on support rollout see the [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Add-ons.2Fe10s_Program_Status_Report Add-on/e10s Project Wiki]. | |||
===Staged Roll-Out Plan=== | ===Staged Roll-Out Plan=== | ||
Line 120: | Line 150: | ||
=== Weekly Status Reports === | === Weekly Status Reports === | ||
* [https://wiki.mozilla.org/E10s/Status/ | ==2017== | ||
* [https://wiki.mozilla.org/E10s/Status/ | *[https://wiki.mozilla.org/E10s/Status/Feb17 Feb 17]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/ | *[https://wiki.mozilla.org/E10s/Status/March20 March 20]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/ | *[https://wiki.mozilla.org/E10s/Status/April3 April 3]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/ | *[https://wiki.mozilla.org/E10s/Status/April10 April 10]<br> | ||
*[https://wiki.mozilla.org/E10s/Status/May5 May 5]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/May9 May 9]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/May16 May 16]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/May26 May 26]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/June2 June 2]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/June16 June 16]<br> | |||
*[https://wiki.mozilla.org/E10s/Status/July21 July 21]<br> | |||
==2016== | |||
* [https://wiki.mozilla.org/E10s/Status/Jan15 Jan 15]<br> | * [https://wiki.mozilla.org/E10s/Status/Jan15 Jan 15]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/Jan29 Jan 29]<br> | * [https://wiki.mozilla.org/E10s/Status/Jan29 Jan 29]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/Feb12 Feb 12]<br> | * [https://wiki.mozilla.org/E10s/Status/Feb12 Feb 12]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/March29 March 29]<br> | * [https://wiki.mozilla.org/E10s/Status/March29 March 29]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/April8 April 8]<br> | * [https://wiki.mozilla.org/E10s/Status/April8 April 8]<br> | ||
Line 147: | Line 184: | ||
* [https://wiki.mozilla.org/E10s/Status/Oct 3 Oct 3]<br> | * [https://wiki.mozilla.org/E10s/Status/Oct 3 Oct 3]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/Oct11 Oct 11]<br> | * [https://wiki.mozilla.org/E10s/Status/Oct11 Oct 11]<br> | ||
* [https://wiki.mozilla.org/E10s/Status/Oct24 Oct 24]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Nov3 Nov 3]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Dec1 Dec 1]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Dec23 Dec 23]<br> | |||
==2015== | |||
* [https://wiki.mozilla.org/E10s/Status/Nov13 Nov 13]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Nov20 Nov 20]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Nov27 Nov 27]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Dec4 Dec 4]<br> | |||
* [https://wiki.mozilla.org/E10s/Status/Dec22 Dec 22]<br> | |||
== Experiments == | == Experiments == | ||
Line 166: | Line 216: | ||
== Add-ons Compatibility == | == Add-ons Compatibility == | ||
Add-on authors should refer to the MDN [https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox Firefox Add-on Migration Guide] for porting existing add-ons to e10s. For general design information see the [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox Multiprocess Firefox] MDN documentation. Add-on testing compatibility is currently available at | Add-on authors should refer to the MDN [https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox Firefox Add-on Migration Guide] for porting existing add-ons to e10s. For general design information see the [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox Multiprocess Firefox] MDN documentation. Add-on testing compatibility is currently available at https://arewewebextensionsyet.com/. | ||
For more information about Add-on issue mitigation and rollout of e10s to add-on users, see the [https://wiki.mozilla.org/Add-ons Add-on Project Wiki] page. | For more information about Add-on issue mitigation and rollout of e10s to add-on users, see the [https://wiki.mozilla.org/Add-ons Add-on Project Wiki] page. |