WebExtensions
WebExtensions is an application programming interface (API) for implementing browser extensions that uses the standard web technologies of HTML, CSS, and JavaScript. It was popularized by Google Chrome, which has a large number of extensions, and was later adopted by other browsers, including Firefox and Microsoft Edge.
In December 2018, Microsoft announced that Edge is being rebuilt as a Chromium-based browser,[1][2][3][4] which should provide better extension compatibility with Google Chrome.[5][6] After this transition, Firefox will be the only major browser supporting WebExtensions that is not Chromium-based.
History
Google Chrome origins
What is now called the WebExtensions API began as the extensions API for Google Chrome. Beta testing for Chrome's extension capability began in 2009,[7][8][9] and the following year Google opened its Chrome Web Store. As of June 2012, there were 750 million total installs of extensions and other content hosted on the store.[10]
Adoption by Microsoft
Microsoft debuted its Edge browser in 2014. A key difference from Internet Explorer was adopting an extension API similar to Chrome's. Extensions for Edge are hosted on the Microsoft Store.
In December 2018, Microsoft announced that they are rebuilding Edge as a Chromium-based browser. One of the reasons was to improve extension compatibility with Chrome.[5][6]
Adoption by Firefox
On August 21, 2015 Mozilla announced plans to eventually deprecate XPCOM- and XUL-based add-ons and instead introduce support for WebExtensions, to better take advantages of its new multi-process technologies Electrolysis and Servo.[11][12] Mozilla refers to XPCOM- and XUL-based add-ons as legacy add-ons. Shortly after Mozilla announced that Firefox 57.* and newer will be called Firefox Quantum and would no longer support legacy add-ons. Firefox Add-ons restricted upload of legacy add-ons with maximum version set above 56.*[13] All legacy add-ons were removed from Firefox Add-ons in November 2018: the search does not show any legacy add-ons and loading the URLs of individual extension pages returns "page not found" errors.[14] Individual users attempted to enable some legacy add-ons on Firefox Quantum (version 57.* and newer) via a flag and install them from unofficial archives, but those attempts were largely unsuccessful, since some underlying components were removed from Firefox altogether.[15]
W3C working group
In 2015 W3C Browser Extension Community Group was formed "to facilitate discussion between Web Browser vendors, as well as other interested parties, in order to establish a set of standards for interoperable browser extensions" and "ensure actual interoperability rather than mere similarity [to Google Chrome APIs]."[16] Mike Pietraszak from Microsoft became the editor of the draft.[17] However, as of December 2018, the Community Group hasn't published any reports yet;[18] only a Working Draft is available. The Community Group is severely understaffed, so the specification is "lagging behind and a little short on the details".[19] The standard's future is uncertain, since the group is headed by Mike Pietraszak from Microsoft,[17] and Microsoft decided to rebuild Edge on top of Chromium.[1]
Security
Mozilla warns users that extensions "run in an environment with elevated privileges relative to ordinary web pages, they present a very serious set of security considerations. They have the potential to open security holes not only in the add-ons themselves, but also in the browser, in web pages, and, in particularly distressing cases, the entire system the browser is running on."[20]
Criminals have developed extensions that can silently hijack the browser settings, e.g. to change the homepage to a malicious site or inject links to malware.[21]
Browser Content Security Policy restricts the operation of WebExtensions, but some of the details vary among the major browsers.[22][23][24]
References
- ^ a b "Microsoft Edge: Making the web better through more open source collaboration". Windows Experience Blog. 2018-12-06. Retrieved 2018-12-14.
- ^ "Microsoft confirms plan to rebuild Edge browser using Chromium on Windows 10". Windows Central. 2018-12-06. Retrieved 2018-12-14.
- ^ "Microsoft Edge goes Chromium (and macOS)". TechCrunch. Retrieved 2018-12-14.
- ^ Keizer, Gregg (2018-12-08). "With move to rebuild Edge atop Google's Chromium, Microsoft raises white flag in browser war". Computerworld. Retrieved 2018-12-14.
- ^ a b "r/Windows10 - Microsoft Edge: Making the web better through more open source collaboration". reddit. Retrieved 2018-12-15.
- ^ a b "Microsoft's new Edge browser will support Chrome extensions". Engadget. Retrieved 2018-12-15.
- ^ "Extensions Status: On the Runway, Getting Ready for Take-Off". Chromium Blog. Retrieved 2018-12-14.
- ^ "Google Chrome for the holidays: Mac, Linux and extensions in beta". Official Google Blog. Retrieved 2018-12-14.
- ^ "Extensions beta launched, with over 300 extensions!". Chromium Blog. Retrieved 2018-12-14.
- ^ Vikas SN (2012-06-29). "The Lowdown: Google I/O 2012 Day 2 – 310M Chrome Users, 425M Gmail & More". MediaNama. Retrieved 2013-06-14.
- ^ "The Future of Developing Firefox Add-ons". Mozilla Add-ons Blog. Retrieved 2018-12-15.
- ^ "Mozilla's self-destruct course continues: major add-on compatibility changes announced - gHacks Tech News". www.ghacks.net. Retrieved 2018-12-15.
- ^ "Upcoming Changes in Compatibility Features". Mozilla Add-ons Blog. Retrieved 2018-12-15.
- ^ "It appears that Mozilla removed all classic extensions from Firefox Add-ons - gHacks Tech News". www.ghacks.net. Retrieved 2018-12-14.
- ^ "How to enable legacy extensions in Firefox 57 - gHacks Tech News". www.ghacks.net. Retrieved 2018-12-14.
- ^ "Browser Extension Community Group Charter — Browser Extension Community Group". browserext.github.io. Retrieved 2018-12-14.
- ^ a b "Browser Extensions". browserext.github.io. Retrieved 2018-12-14.
- ^ "Browser Extension Community Group". Retrieved 2018-12-14.
- ^ "Re: One question from Florian Rivoal on 2017-07-29 (public-browserext@w3.org from July 2017)". lists.w3.org. Retrieved 2018-12-14.
- ^ "Add-on Policies". MDN Web Docs. Retrieved 2018-12-15.
- ^ "Don't mess with my browser!". Google Chrome Blog. Retrieved 2018-12-15.
- ^ "Content Security Policy (CSP) - Google Chrome". developer.chrome.com. Retrieved 2018-12-15.
- ^ "Content Security Policy". MDN Web Docs. Retrieved 2018-12-15.
- ^ erikadoyle. "Extensions - Supported manifest keys - Microsoft Edge Development". docs.microsoft.com. Retrieved 2018-12-15.