Multi-process support for Firefox is coming, and Mozilla has announced changes to the browser's plug-in underpinnings with an eye on that multi-process future. The company is introducing a new add-on development API called WebExtensions, which it says will allow for the development of more secure, cross-compatible browser add-ons. It's also requiring that all add-ons be reviewed and signed before they can be used with Firefox.
WebExtensions is Blink-compatible, which should allow developers to port their Chrome, Safari, or Opera extensions quickly. WebExtensions will also make use of permissions. Plug-ins will have to announce what features and data they need access to, and users will need to grant those permission when they install the plug-in. WebExtensions should also allow Mozilla to make changes to the underlying browser (such as Electrolysis) without breaking plug-ins, as well.
Soon, Mozilla will also require all add-ons to be reviewed and signed before they can be installed. Firefox 41, which launches on September 22, will require that all plug-ins be signed by Mozilla. Unsigned plug-ins will be disabled by default, though users will be able to work around the requirement. Mozilla says that starting with version 42, the beta and production releases of Firefox will require add-ons to be signed, with no opt-out choice available. Developer and nightly builds will allow disabling signature verification so developers can work on their add-ons.
In December, with version 43, Mozilla says it will release the first phase of the multi-process implementation called Electrolysis into the wild. With this version, Firefox will employ a separate process for web content. Eventually, Mozilla says Electrolysis will allow it to sandbox Firefox for better security. The company also says multiple processes should take better advantage of multi-core CPUs, leading to better performance. The company says the changes to its add-on technology have to be in place first for much of this to be accomplished.
At the same time, Mozilla will start to deprecate its current add-on technologies, XUL and XPCOM, as well as the shims it's created (called Cross-Process Object Wrappers) to keep plug-ins compatible with the early multi-process versions of Firefox. Within 12 to 18 months, Mozilla says all add-ons will need to use WebExtensions, but the company says it doesn't have a specific schedule for the deprecation of these older tools. The company acknowledges that many add-ons built with these tools cannot be built with WebExtensions, but it hopes to extend the new API over time with developer feedback to restore some of the missing functionality.