WebExtensions: Difference between revisions

Content deleted Content added
now that this term refers to a cross-browser standards effort
Tags: Redirect target changed Manual revert
 
(22 intermediate revisions by 2 users not shown)
Line 1:
#REDIRECT [[Browser extension#API conformity]]
'''WebExtensions''' are a collection of [[web browser]] [[application programming interface]]s (APIs) for implementing [[browser extension]]s. There is not a single API that all browsers conform to, but as of 2018, most of the major browsers have very similar APIs.<ref name="MDN">[https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions Official Mozilla documentation]</ref>
 
Strictly-speaking, "WebExtensions" is the official name for [[Firefox]] extensions, but [[Mozilla]] also uses the term to refer to similar APIs from other browsers.<ref name="MDN"/> [[Google Chrome]] was the first 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]], [[Cascading Style Sheets|CSS]], and [[JavaScript]]. Beta testing for Chrome's extension capability began in 2009,<ref>{{Cite web|url=https://blog.chromium.org/2009/09/extensions-status-on-runway-getting.html|title=Extensions Status: On the Runway, Getting Ready for Take-Off|website=Chromium Blog|language=en|access-date=2018-12-14}}</ref><ref>{{Cite web|url=https://blog.chromium.org/2009/12/extensions-beta-launched-with-over-300.html|title=Extensions beta launched, with over 300 extensions!|website=Chromium Blog|language=en|access-date=2018-12-14}}</ref> 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.<ref>{{cite web|author=Vikas SN |url=http://www.medianama.com/2012/06/223-the-lowdown-google-io-2012-day-2-310m-chrome-users-425m-gmail-more/ |title=The Lowdown: Google I/O 2012 Day 2 – 310M Chrome Users, 425M Gmail & More |publisher=MediaNama |date=2012-06-29 |accessdate=2013-06-14}}</ref>
 
[[Microsoft]] debuted its [[Microsoft Edge|Edge]] browser in 2014. A key difference from [[Internet Explorer]] was implementing an extension API similar to Chrome's. In December 2018, Microsoft announced that Edge is being rebuilt as a [[Chromium (web browser)|Chromium]]-based browser.<ref>{{Cite web|url=https://blogs.windows.com/windowsexperience/2018/12/06/microsoft-edge-making-the-web-better-through-more-open-source-collaboration/|title=Microsoft Edge: Making the web better through more open source collaboration|date=2018-12-06|website=Windows Experience Blog|language=en-US|access-date=2018-12-14}}</ref><ref name="computerworld">{{Cite web|url=https://www.computerworld.com/article/3325333/web-browsers/with-move-to-rebuild-edge-atop-googles-chromium-microsoft-raises-white-flag-in-browser-war.html|title=With move to rebuild Edge atop Google's Chromium, Microsoft raises white flag in browser war|last=Keizer|first=Gregg|date=2018-12-08|website=Computerworld|language=en|access-date=2018-12-14}}</ref> One of the reasons is to have the same extension API as Chrome and thus enable users to install extensions from the Chrome Web Store.<ref name="computerworld"/><ref>{{Cite web|url=https://www.reddit.com/r/Windows10/comments/a3pt19/microsoft_edge_making_the_web_better_through_more/eb8rhe5|title=r/Windows10 - Microsoft Edge: Making the web better through more open source collaboration|website=reddit|language=en|access-date=2018-12-15}}</ref>
 
In 2015, [[Mozilla]] announced that its long-standing [[XUL]] and [[XPCOM]] add-on capability would be deprecated in [[Firefox]] and replaced with an API simliar to Chrome's.<ref>{{Cite web|url=https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/|title=The Future of Developing Firefox Add-ons|website=Mozilla Add-ons Blog|language=en-US|access-date=2018-12-15}}</ref> This change was enacted in 2017 with the release of Firefox 57.<ref>{{Cite web|url=https://blog.mozilla.org/addons/2017/08/10/upcoming-changes-compatibility/|title=Upcoming Changes in Compatibility Features|website=Mozilla Add-ons Blog|language=en-US|access-date=2018-12-15}}</ref><ref>{{Cite web|url=https://www.ghacks.net/2017/08/12/how-to-enable-legacy-extensions-in-firefox-57/|title=How to enable legacy extensions in Firefox 57 - gHacks Tech News|website=www.ghacks.net|access-date=2018-12-14}}</ref>
 
Attempts to create a single standard API have been unsuccessful. In 2015, the [[World Wide Web Consortium]] formed a working group to facilitate this,<ref>{{Cite web|url=https://browserext.github.io/charter/|title=Browser Extension Community Group Charter — Browser Extension Community Group|website=browserext.github.io|access-date=2018-12-14}}</ref> but it is unlikely to happen.<ref>{{Cite web|url=https://lists.w3.org/Archives/Public/public-browserext/2017Jul/0001.html|title=Re: One question from Florian Rivoal on 2017-07-29 (public-browserext@w3.org from July 2017)|website=lists.w3.org|access-date=2018-12-14}}</ref>
 
== Security ==
Criminals have developed extensions that can silently hijack browser settings, e.g. to change the [[home page]] to a malicious site or inject links to [[malware]].<ref>{{Cite web|url=https://chrome.googleblog.com/2013/10/dont-mess-with-my-browser.html|title=Don’t mess with my browser!|website=Google Chrome Blog|language=en|access-date=2018-12-15}}</ref>
 
Browser [[Content Security Policy]] restricts the operation of WebExtensions, but some of the details vary among the major browsers.<ref>{{Cite web|url=https://developer.chrome.com/extensions/contentSecurityPolicy#restrictions|title=Content Security Policy (CSP) - Google Chrome|website=developer.chrome.com|access-date=2018-12-15}}</ref><ref>{{Cite web|url=https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy|title=Content Security Policy|website=MDN Web Docs|language=en-US|access-date=2018-12-15}}</ref><ref>{{Cite web|url=https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/supported-manifest-keys|title=Extensions - Supported manifest keys - Microsoft Edge Development|last=erikadoyle|website=docs.microsoft.com|language=en-us|access-date=2018-12-15}}</ref>
 
== References ==
{{reflist}}
 
== External links ==
* [https://developer.chrome.com/extensions Google's API documentation]
* [https://docs.microsoft.com/en-us/microsoft-edge/extensions Microsoft's API documentation]
* [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions Mozilla's API documentation]
 
[[Category:Application programming interfaces]]
[[Category:Web browsers]]