Firefox 63: Linux out-of-process extensions
Mozilla plans to enable out-of-process extensions for Firefox running on GNU/Linux systems in Firefox 63. The organization plans to release Firefox 63 on October 23, 2018 for all supported desktop and mobile operating systems.
Mozilla added multi-process capabilities to Firefox 49 and improved the functionality in future releases. Multi-process separates different parts of the web browser, for instance browser tabs and the core browser, to improve security and stability.
Work on Firefox's security sandbox continues, and so does work on moving additional elements to their own process. Mozilla added supported for out-of-process extensions in Firefox 56 on Windows, and added the functionality in Firefox 61 to installations of the web browser running on Mac OS X.
GNU/Linux, the last desktop operating system that Firefox supports, will get the out-of-process functionality for WebExtensions in Firefox 63 so that all desktop versions of the browser run extensions in their own process that is separate from browser tabs and the core browser.
The bug over on Bugzilla highlights the current status. It lists Firefox 63 as the target for the integration, and lists bugs that it depends on which Mozilla engineers need to get done before the feature can be rolled out to Firefox's Linux population.
Work on running WebExtensions out of process began three years ago.
The actual extension code will run in a content process. We'll do this using remote <browser> elements (and maybe remote moz-browser elements on b2g). The main process will load a process script into the extension process and the two processes will communicate using the process message manager.
Moving WebExtensions -- the only type of browser extensions all supported versions of Firefox support by the time Firefox 63 is released -- to a process improves security and stability of Firefox. The addition of another running process will increase memory usage somewhat; it depends entirely on the extensions installed in the browser.
Linux users of Firefox who are adventurous can do the following to enable support for out of process extensions right away (note that this may work only in Nightly versions properly right now and not in stable versions).
- Load about:config?filter=extensions.webextensions.remote
- Double-click on the preference.
A value of true means that the functionality is enabled, a value of false that it is disabled. The about:config entry provides users with options to turn off the functionality if it causes issues or high RAM usage.