Confirmed users
1,094
edits
Sescalante (talk | contribs) (→Schedule: save) |
Sescalante (talk | contribs) (→Schedule: udpare) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 176: | Line 176: | ||
== Schedule == | == Schedule == | ||
The following schedule covers steps in the transition to webextensions by November. | The following schedule covers steps in the transition to webextensions by November. There is a [https://blog.mozilla.org/addons/2017/02/16/the-road-to-firefox-57-compatibility-milestones/ blog post with the detailed plan], this is the visual. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 182: | Line 182: | ||
! Date !! Nightly !! Aurora !! Beta !! Release !! Target % !! Submission Criteria | ! Date !! Nightly !! Aurora !! Beta !! Release !! Target % !! Submission Criteria | ||
|- | |- | ||
|2017-01-24 || Fx 54: Sandboxing and multi content processes [A] || 53 default|| Fx 52: All but MPC=False|| Fx 51: everything from Fx50 and ~750 add-ons not marked MPC=True [B]. || | |2017-01-24 || Fx 54: Sandboxing and multi content processes [A] || 53 default|| Fx 52: All but MPC=False|| Fx 51: everything from Fx50 and ~750 add-ons not marked MPC=True [B]. || 22 || | ||
|- | |- | ||
|2017-03-07 || Fx 55 ||Fx 54: Sandboxing and multi content processes [A]||Fx 53: | |2017-03-07 || Fx 55: Disabling webextensions and MPC=True add-ons. There is a pref to work-around as needed. Motivation is limiting factors impacting performance metrics as speed changes are landed. ||Fx 54: Sandboxing and multi content processes [A]. Multiprocess won't ride to Release.||Fx 53: Look at extensions that don't use compatibility shims (not marked webextensions or MPC=True|| Fx 52: All WebExtensions and MPC=True get e10s|| 14|| | ||
|- | |- | ||
|2017-04-18 || Fx 56 || 55 default ||Fx 54: Sandboxing and multi content processes [A]. | |2017-04-18 || Fx 56 || 55 default ||Fx 54: Sandboxing and multi content processes [A].||Fx 53: All WebExtensions and MPC=True get e10s||15 || Submissions: Stop accepting new Legacy [D] add-ons (still accepting Legacy updates). New Webextensions only. | ||
|- | |- | ||
|2017-06-12 ||Fx 57: Stop running Legacy add-ons | |2017-06-12 ||Fx 57: Supporting only Webextension. Removing compatibility shims [E]. Stop running Legacy add-ons [D][C]|| 56 default || 55 default ||Fx 54: Sandboxing [A]. All WebExtensions and MPC=True get e10s || 20 || | ||
|- | |- | ||
|2017-08-07 || Fx 58 ||Fx 57: Webextension | |2017-08-07 || Fx 58 ||Fx 57: Supporting only Webextension. Removing compatibility shims [E]. Stop running Legacy add-ons [D][C]||Fx 56 || Fx 55: Multi content processes, potentially throttled roll-out [A]. All WebExtensions and MPC=True get e10s || 22 || | ||
|- | |- | ||
|2017-10-02|| Fx 59 || 58 default ||Fx 57: | |2017-10-02|| Fx 59 || 58 default ||Fx 57: Supporting only Webextension. Removing compatibility shims [E]. Stop running Legacy add-ons [D][C]|| 56: All WebExtensions and MPC=True get e10s || 25 || | ||
|- | |- | ||
|2017-11-15|| Fx 60 || 59 default || 58 default ||Fx 57: | |2017-11-15|| Fx 60 || 59 default || 58 default ||Fx 57: Supporting only Webextension. Removing compatibility shims [E]. Stop running Legacy add-ons [D][C]||38 || Submissions: Only webextensions and updatese to webextensions for Firefox Release channel. | ||
|} | |} | ||
[A] [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Sandboxing Sandboxing and Multicontent processes details] | *[A] [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Sandboxing Sandboxing and Multicontent processes details] | ||
[B] [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Add-ons.2Fe10s_Program_Status_Report | *[B] [https://wiki.mozilla.org/Firefox/AddOns/Status/current#Add-ons.2Fe10s_Program_Status_Report detailed write up on roll-out and Beta plans] | ||
[C] blog | *[C] [https://blog.mozilla.org/addons/2017/02/16/the-road-to-firefox-57-compatibility-milestones/ High level view of the next few months changes] | ||
[ | *[D] [https://blog.mozilla.org/addons/2017/02/16/the-road-to-firefox-57-compatibility-milestones/ Definition of legacy (all non-webextensions)] | ||
[ | *[E] [https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Multiprocess_Firefox_and_the_SDK#Testing_your_add-on Compatibility shims explanation] | ||
[ | |||
=== Sandboxing === | === Sandboxing === | ||
Content security sandboxing in Firefox is a security measure that restricts operating system access malicious content can gain through security vulnerabilities. Add-ons which interact with the file system through [https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts content scripts] will be impacted by [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Limitations_of_frame_scripts this feature]. Currently file system write restrictions are rolling out on various platforms in Firefox 50 and Firefox 52. File system read restrictions will start rolling out in Firefox 54. Add-on authors should familiarize themselves with [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Limitations_of_frame_scripts areas of the file system that will be blocked by these features] as they roll out, and adjust their Add-on code to avoid any potential issues. | Content security sandboxing in Firefox is a security measure that restricts operating system access malicious content can gain through security vulnerabilities. Add-ons which interact with the file system through [https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts content scripts] will be impacted by [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Limitations_of_frame_scripts this feature]. Currently file system write restrictions are rolling out on various platforms in Firefox 50 and Firefox 52. File system read restrictions will start rolling out in Firefox 54. Add-on authors should familiarize themselves with [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Limitations_of_frame_scripts areas of the file system that will be blocked by these features] as they roll out, and adjust their Add-on code to avoid any potential issues. | ||
Line 216: | Line 216: | ||
<p></p> | <p></p> | ||
Possible [https://wiki.mozilla.org/Electrolysis/Multiple_content_processes#Add-ons add-ons] that could be impacted: | Possible [https://wiki.mozilla.org/Electrolysis/Multiple_content_processes#Add-ons add-ons] that could be impacted: | ||
*SDK based add-ons can come with a big memory overhead per process. If the SDK loader (especially [https://bugzilla.mozilla.org/show_bug.cgi?id=1308860#c0 node.js]) is slow, it will be slow multiple times now in each process. | |||
*With multi-content processes, JSM has to be loaded for every process. If JSM is loaded only once and expected to run globally, the add-on may break. Process script is the suggested way for observer registration instead of JSMs. | *With multi-content processes, JSM has to be loaded for every process. If JSM is loaded only once and expected to run globally, the add-on may break. Process script is the suggested way for observer registration instead of JSMs. | ||
*If the add-on assumes that they only have one content process, it could falsely expect that observer and category registration to run only once. Instead it will run once per content process. If the add-on then uses it for something else (ex: to try sending some important message to the parent side that the content side is active) the parent may get multiple messages and some of the messages may arrive before other content processes are ready. | *If the add-on assumes that they only have one content process, it could falsely expect that observer and category registration to run only once. Instead it will run once per content process. If the add-on then uses it for something else (ex: to try sending some important message to the parent side that the content side is active) the parent may get multiple messages and some of the messages may arrive before other content processes are ready. | ||
<p></p> | <p></p> |