Out of Process Web Extensions in Firefox Nightly

Firefox Nightly users on Windows may configure the web browser to move Web Extensions to their own process in the most recent builds.

Mozilla's work on Firefox's multi-process architecture continues. The organization rolled out the new architecture to Firefox Stable this year, and increased the number of multi-process content processes in the recently released Firefox 54 for some systems as well.

The separation of Firefox core from websites and plugins improves stability of the browser, as crashes or slow downs that are caused by sites open in the browser won't affect the core process anymore.

Downside to this is an increase in RAM usage.

Out of Process Web Extensions in Firefox Nightly

Firefox users may flip a switch in the most recent Nightly versions of the web browser to move Web Extensions to their own process as well.

This benefits browser stability and sandboxing as well, and it should improve the responsiveness of the main user interface further. All WebExtensions are moved to a single content process when the feature is enabled. This means that they are less likely to crash or hang Firefox, and that security issues in WebExtensions are harder to exploit on top of that.

Firefox Nightly users may enable out of process Web Extensions in Firefox in the following way:

Load about:config?filter=extensions.webextensions.remote in the Firefox address bar. This should display the extensions.webextensions.remote on about:config directly.

Double-click on the preference to set it to true.

Restart the web browser.

A value of true enables out of process WebExtensions in Firefox. You can undo the change at any time by setting the preference to false.

When set to true, Firefox will use a content process for WebExtensions that are installed in the web browser. Note that this appears to be limited to WebExtensions; this means that legacy add-ons appear to still run in the main Firefox process.

Firefox supports another preference that users may set to change the number of extension processes.

The default value is 1. You can modify it by double-clicking on the value. Enter another value, e.g. 4 for four extension processes.

Restart the browser.

Note that the preference depends on extensions.webextensions.remote.

Closing Words

Moving WebExtensions to their own content process improves Firefox in several significant ways. I'm not sure if the new feature applies to system add-ons that are WebExtensions as well, or if this is limited to user installed WebExtensions. If the former is the case, the move will benefit all users of the browser; if the latter is the case, only users who have installed WebExtensions will benefit from it.