Mozilla announced that the latest version of Firefox now has support for WebExtensions, a new set of APIs that allow developers to easily deploy their extensions to Firefox, Chrome, Opera, and Edge. The adoption of WebExtensions is necessary to advance the Electrolysis multiprocess and sandboxing architecture.
Deprecating The Old Add-On Model
Two years ago, Mozilla announced that it would begin to deprecate its old “add-on” model for advanced Firefox extensions. The decision wasn’t easy, because the add-on model is what made Firefox popular and helped it capture significant market share from Internet Explorer. It also made the browser more useful to users because they could add non-trivial functionality that Mozilla itself couldn’t, whether due to a lack of resources or simply because it couldn’t think of everything users would want.
However, this add-on model also had a few downsides, and these became more obvious as Chrome’s simpler extension model increased in popularity.
Another issue with the old add-ons was that some of them were too advanced and changed the functionality of the Firefox browser too much, to the point where it became difficult to upgrade core Firefox code without breaking many of the add-ons. That means that the add-ons were also responsible for Firefox’s slow pace of development for the last few years. As the developers’ focus has switched to building more Chrome-like extensions for Firefox, Firefox’s pace of development has also increased.
One other major inconvenience of the old add-on model is that Mozilla couldn’t easily change the security architecture of Firefox. It’s also likely one of the main reasons why Firefox hasn’t switched to an architecture with stronger sandboxing until more recently. Even now, the sandboxing is partial, and only two separate processes are supported (for UI and content), as opposed to having a process and sandbox for each page and extension, as Chrome does.
WebExtensions is a new cross-browser extension system written by Mozilla that allows the porting of Chrome and Opera (Chromium-based) extensions to Firefox with few changes. The WebExtensions will also be compatible with Microsoft’s Edge browser.
The new system is fully compatible with Mozilla’s Electrolysis multiprocess and sandboxing architecture. It’s also separate from the browser itself, which means the extensions will no longer hold the Firefox browser back from rapid advances, such as, for instance, the implementation of Project Quantum.
Project Quantum aims to progressively replace older Firefox code written in C++ with faster and more secure code written in Rust, an open source memory-safe language, whose development is sponsored by Mozilla.
Mozilla also said last year that it would stop accepting extensions using the old add-on model in the Firefox add-on store by the end of 2017, starting with Firefox 57.
Path To Standardization?
Even though Mozilla seems to have given WebExtensions a standardized-looking name, the system is not yet a standard that other browser makers are in the process of adopting. However, Mozilla has begun the process of standardizing it as the “Browser Extension” specification.
Of course, the ones to benefit most from a Browser Extension standard are likely to be the browsers with less market share, such as Edge, Opera, and Safari, as well as much newer browsers like Brave, Vivaldi, and others. Extensions are often what keep users loyal to a browser, so a Browser Extension standard could actually make the browser market even more competitive in the coming years.
Stay on the Cutting Edge
Join the experts who read Tom's Hardware for the inside track on enthusiast PC tech news — and have for over 25 years. We'll send breaking news and in-depth reviews of CPUs, GPUs, AI, maker hardware and more straight to your inbox.
Hey, so long as I can still put uBlock on the mobile Firefox app, do what you want.Reply
Firefox has been killing itself slowly over the years. And now is the point of no return.Reply
Some day the web will become stagnate again, and we'll have a new Firefox with full extensibility. Until then, we'll go back to 1999.
So how long before Firefox will operate Adobe Acrobat documents correctly? Right now, the proprietary Java Script code will not properly display Acrobat docs that have any non-text feature, such as forms, buttons, lnks, etc.Reply
Bing was their 'straw' that broke me. I was a loyal user >10 yrs.Reply
Addons being "too advanced" is a selling point, not something to be scorned. WebExtensions can never do as much as XUL/XPCOM addons. At least there will always be Pale Moon looking out for users' choice. It's basically the only browser left for power-users.Reply
On Firefox 54.0 now. I've seen a lot of crashes, freezes and no responses. Seems to run faster, still doesn't run right on some web pages.Reply
Another example of coders wanting to show off rather than bother with clean, functional code? Must be grads of the Microsoft School of Coding.Reply