WebExtensions: Difference between revisions

Content deleted Content added
No edit summary
rewrite the article for important distinction -- this is not a single API but a group of very similar ones -- plus trim ancillary info
Line 1:
'''WebExtensions''' is ana term that refers to a collection of [[web browser]] [[application programming interface]]s (APIAPIs) for implementing [[browser extension]]s. thatThere usesis thenot standarda websingle technologiesAPI ofthat [[HTML]],all [[Cascadingbrowsers Styleconform Sheets|CSS]]to, andbut [[JavaScript]].as Itof was popularized by [[Google Chrome]]2018, which has a large numbermost of extensions,the and was later adopted by othermajor browsers, includinghave [[Firefox]]very andsimilar [[Microsoft Edge]]APIs.<ref>https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions</ref>
 
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]].
In December 2018, Microsoft announced that Edge is being rebuilt as a [[Chromium (web browser)|Chromium]]-based browser,<ref name=":0">{{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=":3">{{Cite web|url=https://www.windowscentral.com/microsoft-confirms-plans-rebuild-edge-ground-using-chromium-windows-10|title=Microsoft confirms plan to rebuild Edge browser using Chromium on Windows 10|date=2018-12-06|website=Windows Central|language=en|access-date=2018-12-14}}</ref><ref name=":4">{{Cite web|url=http://social.techcrunch.com/2018/12/06/microsoft-edge-goes-chromium-and-macos/|title=Microsoft Edge goes Chromium (and macOS)|website=TechCrunch|language=en-US|access-date=2018-12-14}}</ref><ref name=":5">{{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> which should provide better extension compatibility with Google Chrome.<ref name=":6">{{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><ref name=":7">{{Cite web|url=https://www.engadget.com/2018/12/10/microsoft-edge-chrome-extensions/|title=Microsoft's new Edge browser will support Chrome extensions|website=Engadget|language=en|access-date=2018-12-15}}</ref> 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,<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://googleblog.blogspot.com/2009/12/google-chrome-for-holidays-mac-linux.html|title=Google Chrome for the holidays: Mac, Linux and extensions in beta|website=Official Google 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>
 
What[[Google isChrome]] now calledwas the WebExtensionsfirst APIbrowser beganwith asan the extensionsextension API forbased solely on [[GoogleHTML]], Chrome[[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://googleblog.blogspot.com/2009/12/google-chrome-for-holidays-mac-linux.html|title=Google Chrome for the holidays: Mac, Linux and extensions in beta|website=Official Google 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>
=== Adoption by Microsoft ===
[[Microsoft]] debuted its [[Microsoft Edge|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 (digital)|Microsoft Store]].
 
[[Microsoft]] debuted its [[Microsoft Edge|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 (web browser)|Chromium]]-based browser,.<ref name=":0">{{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=":3">{{Cite web|url=https://www.windowscentral.com/microsoft-confirms-plans-rebuild-edge-ground-using-chromium-windows-10|title=Microsoft confirms plan to rebuild Edge browser using Chromium on Windows 10|date=2018-12-06|website=Windows Central|language=en|access-date=2018-12-14}}</ref><ref name=":4">{{Cite web|url=http://social.techcrunch.com/2018/12/06/microsoft-edge-goes-chromium-and-macos/|title=Microsoft Edge goes Chromium (and macOS)|website=TechCrunch|language=en-US|access-date=2018-12-14}}</ref><ref name=":5">{{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> whichOne shouldof providethe betterreasons is to improve extension compatibility with Google Chrome.<ref name=":6">{{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><ref name=":7">{{Cite web|url=https://www.engadget.com/2018/12/10/microsoft-edge-chrome-extensions/|title=Microsoft's new Edge browser will support Chrome extensions|website=Engadget|language=en|access-date=2018-12-15}}</ref> After this transition, Firefox will be the only major browser supporting WebExtensions that is not Chromium-based.
In December 2018, Microsoft announced that they are rebuilding Edge as a [[Chromium (web browser)|Chromium]]-based browser. One of the reasons was to improve extension compatibility with Chrome.<ref name=":6" /><ref name=":7" />
 
OnIn August 212015, 2015 [[Mozilla]] announced plans to eventually deprecate its [[XPCOM]]- and [[XUL]]-based add-ons andin insteadfavor introduceof supportan forAPI WebExtensions,simliar to better take advantages of its new multi-process technologies Electrolysis and [[Servo (software)|Servo]]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><ref>{{Cite web|url=https://www.ghacks.net/2015/08/21/mozillas-self-destruct-course-continues-major-add-on-compatibility-changes-announced/|title=Mozilla's self-destruct course continues: major add-on compatibility changes announced - gHacks Tech News|website=www.ghacks.net|access-date=2018-12-15}}</ref> MozillaThis referschange towas XPCOM-enacted andin XUL-basedlate add-ons2017 aswith ''legacythe add-ons''.release Shortly after Mozilla announced thatof Firefox 57.* andMozilla newernow willrefers beto called Firefox QuantumXPCOM- and would no longer support ''legacy addXUL-ons''.based [[Add-onextensions (Mozilla)|Firefox Add-ons]] restricted upload ofas ''legacy add-ons'' with maximum version set above 56.*<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> 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.<ref>{{Cite web|url=https://www.ghacks.net/2018/11/29/it-appears-that-mozilla-removed-all-classic-extensions-from-firefox-add-ons/|title=It appears that Mozilla removed all classic extensions from Firefox Add-ons - gHacks Tech News|website=www.ghacks.net|access-date=2018-12-14}}</ref> 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.<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>
=== 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 (software)|Servo]].<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><ref>{{Cite web|url=https://www.ghacks.net/2015/08/21/mozillas-self-destruct-course-continues-major-add-on-compatibility-changes-announced/|title=Mozilla's self-destruct course continues: major add-on compatibility changes announced - gHacks Tech News|website=www.ghacks.net|access-date=2018-12-15}}</ref> 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''. [[Add-on (Mozilla)|Firefox Add-ons]] restricted upload of ''legacy add-ons'' with maximum version set above 56.*<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> 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.<ref>{{Cite web|url=https://www.ghacks.net/2018/11/29/it-appears-that-mozilla-removed-all-classic-extensions-from-firefox-add-ons/|title=It appears that Mozilla removed all classic extensions from Firefox Add-ons - gHacks Tech News|website=www.ghacks.net|access-date=2018-12-14}}</ref> 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.<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>
 
=== W3C working group ===