{"id":2410,"date":"2016-08-02T12:49:23","date_gmt":"2016-08-02T12:49:23","guid":{"rendered":"https:\/\/blog.mozilla.org\/futurereleases\/?p=2410"},"modified":"2016-08-02T15:42:06","modified_gmt":"2016-08-02T15:42:06","slug":"whats-next-for-multi-process-firefox","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/","title":{"rendered":"What&#8217;s Next for Multi-process Firefox"},"content":{"rendered":"<p>By Asa Dotzler and Brad Lassey<\/p>\n<p>Electrolysis is the project name for Mozilla&#8217;s efforts to split Firefox into multiple processes to improve responsiveness, stability, and security. The first phase of this work was to split Firefox into a UI process and a content process.<\/p>\n<p>This first phase of enabling our multi-process architecture is making its way to some of our Firefox 48 users starting this week. \u00a0This is the biggest change we\u2019ve ever made to Firefox, so we&#8217;re rolling it out slowly. For Firefox 48, we\u2019re only<a href=\"https:\/\/asadotzler.com\/2016\/06\/06\/firefox-48-beta-release-and-e10s\/\"> enabling it for classes of users<\/a> that our testing shows it works well for and to begin with, we\u2019ll only enable it for 1% of those users so we can check on the stability and engagement data and make sure nothing new and bad is showing up. After that initial period, if all looks well, we&#8217;ll ramp up to 100% of those users, which will be about half of all Firefox 48 users.<\/p>\n<h4><a href=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2411\" src=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png\" alt=\"\" width=\"1250\" height=\"708\" srcset=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png 1250w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2-252x143.png 252w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2-768x435.png 768w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2-600x340.png 600w\" sizes=\"(max-width: 1250px) 100vw, 1250px\" \/><\/a>Add-ons<\/h4>\n<p>If our Beta testing goes well, in Firefox 49 we will enable the multi-process architecture for users with a small set of add-ons that are known to work well with the multi-process architecture. In Firefox 50, again provided beta testing goes well, we plan to enable the multi-process architecture for users with add-ons that have either set a flag to say they are compatible or that were built with our new WebExtensions add-on API which is compatible by design. Eventually we will enable the multi-process architecture for all users and add-ons that are incompatible may no longer work. For this reason it is imperative that add-on authors <a href=\"http:\/\/blog.mozilla.org\/addons\/2016\/08\/02\/multi-process-firefox-and-add-ons-a-call-to-action\">update their add-ons<\/a> to be compatible with the multi-process architecture.<\/p>\n<h4>Accessibility and touch screens<\/h4>\n<p>The next major multi-process update is scheduled for Firefox 51 when we&#8217;ll ship it to users with touchscreens, accessibility, and right to left browsers. That will conclude the first phase of our roll-out of the basic process separation that brings responsiveness to the Firefox UI, even when heavy pages are loading.<\/p>\n<p>That&#8217;s not the end of our multi-process work. Not even close.<\/p>\n<h4>Multiple content processes<\/h4>\n<p>The second phase of this effort is to support multiple content processes. Where before we split content from UI so that pages loading wouldn&#8217;t slow down the UI, next up we&#8217;re splitting up the content processes so that one heavy page loading cannot slow down or hang pages loading in other tabs. This work is underway and should be available in the first half of 2017.<\/p>\n<p>In parallel to work on multiple content processes, we&#8217;re also working on building a hardened sandbox for content processes. The goal for sandboxing is to restrict what access processes that host web content have to the browser and to the operating system. This will help secure Firefox against a range of potential exploits. If all goes well in testing, this work could see release this year.<\/p>\n<h4><a href=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2412\" src=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1.png\" alt=\"\" width=\"1250\" height=\"708\" srcset=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1.png 1250w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1-252x143.png 252w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1-768x435.png 768w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index1-600x340.png 600w\" sizes=\"(max-width: 1250px) 100vw, 1250px\" \/><\/a>Out of process add-ons<\/h4>\n<p>The final piece of this multi-process work will be to isolate extensions into their own sandboxed processes. Similar to how isolating and sandboxing web pages can help improve performance and prevent security exploits, putting extensions into their own process will make sure that an extension doesn&#8217;t slow down the browser or web pages and will help to prevent some classes of \u00a0attacks on Firefox that could happen through extensions. We\u2019re still in the preliminary phase of this work.<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2413\" src=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index.png\" alt=\"\" width=\"1250\" height=\"708\" srcset=\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index.png 1250w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index-252x143.png 252w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index-768x435.png 768w, https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index-600x340.png 600w\" sizes=\"(max-width: 1250px) 100vw, 1250px\" \/><\/a><\/p>\n<p>This is a huge project that will take several more releases to complete but we&#8217;ve got a great foundation in place with the first phase shipping to end users now. We&#8217;ll build on that foundation to bring even more responsiveness and security to Firefox over the coming months without sacrificing the memory usage advantage we have over our competitors. Stay tuned to this and other Mozilla blogs for updates as the biggest architectural change in Firefox&#8217;s history rides the trains to release.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Asa Dotzler and Brad Lassey Electrolysis is the project name for Mozilla&#8217;s efforts to split Firefox into multiple processes to improve responsiveness, stability, and security. The first phase of &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/\">Read more<\/a><\/p>\n","protected":false},"author":144,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What&#039;s Next for Multi-process Firefox - Future Releases<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mozilla\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/\",\"url\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/\",\"name\":\"What's Next for Multi-process Firefox - Future Releases\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png\",\"datePublished\":\"2016-08-02T12:49:23+00:00\",\"dateModified\":\"2016-08-02T15:42:06+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/33edd7d4d73723140487082573041c83\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage\",\"url\":\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png\",\"contentUrl\":\"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png\",\"width\":1250,\"height\":708},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/futurereleases\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What&#8217;s Next for Multi-process Firefox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/futurereleases\/\",\"name\":\"Future Releases\",\"description\":\"Be the first to know what&#039;s new with upcoming Firefox releases.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/futurereleases\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/33edd7d4d73723140487082573041c83\",\"name\":\"Mozilla\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/image\/f32381c01597770b1131dff44b9d6de1\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g\",\"caption\":\"Mozilla\"},\"url\":\"https:\/\/blog.mozilla.org\/futurereleases\/author\/mozilla\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What's Next for Multi-process Firefox - Future Releases","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/","twitter_misc":{"Written by":"Mozilla","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/","url":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/","name":"What's Next for Multi-process Firefox - Future Releases","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/futurereleases\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png","datePublished":"2016-08-02T12:49:23+00:00","dateModified":"2016-08-02T15:42:06+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/33edd7d4d73723140487082573041c83"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#primaryimage","url":"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png","contentUrl":"https:\/\/blog.mozilla.org\/futurereleases\/files\/2016\/08\/index2.png","width":1250,"height":708},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/futurereleases\/2016\/08\/02\/whats-next-for-multi-process-firefox\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/futurereleases\/"},{"@type":"ListItem","position":2,"name":"What&#8217;s Next for Multi-process Firefox"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/futurereleases\/#website","url":"https:\/\/blog.mozilla.org\/futurereleases\/","name":"Future Releases","description":"Be the first to know what&#039;s new with upcoming Firefox releases.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/futurereleases\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/33edd7d4d73723140487082573041c83","name":"Mozilla","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/futurereleases\/#\/schema\/person\/image\/f32381c01597770b1131dff44b9d6de1","url":"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g","caption":"Mozilla"},"url":"https:\/\/blog.mozilla.org\/futurereleases\/author\/mozilla\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/posts\/2410"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/users\/144"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/comments?post=2410"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/posts\/2410\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/media?parent=2410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/categories?post=2410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/tags?post=2410"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/futurereleases\/wp-json\/wp\/v2\/coauthors?post=2410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}