WebExtensions
WebExtensions is a term that refers to a collection of web browser application programming interfaces (APIs) for implementing browser extensions. There is not a single API that all browsers conform to, but as of 2018, most of the major browsers have very similar APIs.[1]
The term was created by Mozilla. Strictly-speaking, WebExtensions is the name for Firefox extensions, but it is also used as a shorthand to refer to similar APIs from other browsers. Google Chrome was the first major browser to have such an API. The success of Chrome, which has a large number of extensions, caused other browsers to adopt this approach. The other major browsers with similar APIs are Firefox and Microsoft Edge.
History
Google Chrome was the first browser with an extension API based solely on HTML, CSS, and JavaScript. Beta testing for Chrome's extension capability began in 2009,[2][3][4] 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.[5]
Microsoft debuted its Edge browser in 2014. A key difference from Internet Explorer was adopting an extension API similar to Chrome's. In December 2018, Microsoft announced that Edge is being rebuilt as a Chromium-based browser.[6][7][8][9] One of the reasons is to improve extension compatibility with Chrome.[10][11]
In 2015, Mozilla announced plans to deprecate its XPCOM- and XUL-based add-ons in favor of an API simliar to Chrome's.[12][13] This change was enacted in late 2017 with the release of Firefox 57. Mozilla now refers to XPCOM- and XUL-based extensions as legacy add-ons.[14] 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.[15] 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.[16]
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]."[17] Mike Pietraszak from Microsoft became the editor of the draft.[18] However, as of December 2018, the Community Group hasn't published any reports yet;[19] 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".[20] The standard's future is uncertain, since the group is headed by Mike Pietraszak from Microsoft,[18] and Microsoft decided to rebuild Edge on top of Chromium.[6]
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."[21]
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.[22]
Browser Content Security Policy restricts the operation of WebExtensions, but some of the details vary among the major browsers.[23][24][25]
References
- ^ https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions
- ^ "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.
- ^ 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.
- ^ "r/Windows10 - Microsoft Edge: Making the web better through more open source collaboration". reddit. Retrieved 2018-12-15.
- ^ "Microsoft's new Edge browser will support Chrome extensions". Engadget. Retrieved 2018-12-15.
- ^ "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.