WebExtensions/Spec: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "'''Status: draft''' Mozilla has worked with Microsoft and Opera to implemented browser extensions so that developers can write extensions that work across multiple browsers....")
 
(Update to reflect the current state of WebExtensions specification efforts.)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Status: draft'''
'''Status: draft'''


Mozilla has worked with Microsoft and Opera to implemented browser extensions so that developers can write extensions that work across multiple browsers.  The specification matches what Google have implemented in their browser so that extensions work on Chrome.
Work on a cross-browser browser extension platform is currently taking place in the [https://github.com/w3c/webextensions WebExtensions Community Group] (WECG). This group was [https://www.w3.org/community/webextensions/2021/06/04/forming-the-wecg/ formally created] in June, 2021 with the participation of Apple, Google, Microsoft and Mozilla.  


The [https://browserext.github.io/browserext/ specification can be found on github].
The WECG is largely focused on facilitating communication amongst participating browser vendors and with the extension developer community. The [https://w3c.github.io/webextensions/specification/index.html editors draft of the WebExtensions specification] is hosted on GitHub.


Firefox is in the process of implementing a larger API than has been detailed in the specification. We intend to implement additional APIs in order to differentiate Firefox and empower extension developers.
== Previous specification work ==


However, some of those APIs will only be relevant to Firefox because the feature is only available on Firefox. Others might be relevant to other browsers and would be worth submitting to the standard.
Mozilla worked with Microsoft and Opera to implement browser extensions so that developers can write extensions that work across multiple browsers. A [https://browserext.github.io/browserext/ preliminary specification] was created by the [https://www.w3.org/community/browserext/ Browser Extension Community Group] that matched Google Chrome's model so that WebExtensions will work on Chrome, Edge, Opera and Firefox.
 
As such we can break most parts of the Firefox API down into one of the following categories, a superset of [https://github.com/mdn/browser-compat-data/blob/master/compat-data-schema.md#status-information MDN categories]:
 
* '''Firefox only''': an API that is unlikely to ever be copied by any other vendor since it is about a Mozilla specific issue or feature. Examples could be the geckoProfiler API or [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/contextualIdentities contextual identity API].
* '''Experimental''': an API that could be picked up by another vendor and added to the specification. This API might change should that happen. An example could be the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/find/find find API].
* '''Standards-track''': an API that is part of the standards track. Any deviation in Firefox is tracked in [https://bugzilla.mozilla.org/show_bug.cgi?id=1392434 bug 1392434].
* '''Deprecated''': this API might be removed and we do not recommend using it. See also [https://wiki.mozilla.org/WebExtensions/DeprecationPolicy draft deprecation plans].
 
There is a possible progression from “Firefox only” to “Experimental” to the “Standards-track”. For example, the contextual identity API could start as a Firefox only API. It would then be possible for another browser to add in that feature. It could then be moved from Firefox-only over to Experimental in the hopes that we can standardise it.
 
At this time (October 2017) Firefox implements most of the browser extensions standard across Firefox. Firefox for Android is not as complete. We view that standard as the core of the extensions API for Firefox.

Latest revision as of 21:26, 15 May 2024

Status: draft

Work on a cross-browser browser extension platform is currently taking place in the WebExtensions Community Group (WECG). This group was formally created in June, 2021 with the participation of Apple, Google, Microsoft and Mozilla.

The WECG is largely focused on facilitating communication amongst participating browser vendors and with the extension developer community. The editors draft of the WebExtensions specification is hosted on GitHub.

Previous specification work

Mozilla worked with Microsoft and Opera to implement browser extensions so that developers can write extensions that work across multiple browsers. A preliminary specification was created by the Browser Extension Community Group that matched Google Chrome's model so that WebExtensions will work on Chrome, Edge, Opera and Firefox.