Changes

Jump to: navigation, search

WebExtensions/Spec

1,237 bytes added, 22:46, 31 October 2017
Added information to map MDN status fields to specification standard states.
'''Status: draft'''
Mozilla has worked with Microsoft and Opera to implemented implement browser extensions so that developers can write extensions that work across multiple browsers. The preliminary specification matches what Google has implemented in their browser Chrome so that extensions will work on Chrome, Edge, Opera and Firefox.
The [https://browserext.github.io/browserext/ specification can be found on GitHub].
Mozilla will continue to work on refining and approving the common browser extension specification as part of our support for open Web standards. While that process proceeds at its own pace, however, the Firefox is in team will continue to innovate within the process WebExtensions API, providing additional features that allow developers to create increasingly creative and powerful extensions. Some of implementing a larger these new API than has been detailed in may be relevant to other browsers and we will work within the specificationstandards track process to ensure their availability as an open Web standard. We intend to implement additional APIs in order to differentiate Other API may make sense only within the context of the Firefox and empower extension browser. To understand the current status of any given API, developersshould consult the [https://github.com/mdn/browser-compat-data/blob/master/compat-data-schema.md#status-information status-information property] of the API on [https://developer.mozilla.org MDN].
HoweverThe status-information property contains three fields, some of those APIs will only which can be relevant used to Firefox because interpret the feature is only available on Firefox. Others might be relevant to other browsers and would be worth submitting to the standard.specification status of an API as follows:
As such we can break most parts If ''deprecated'' is TRUE, ignore all other fields. This API is deprecated. Otherwise, use the value of the ''experimental'' and ''standards_track'' fields to determine the status of the Firefox API down into one of as follows (the following categories, a superset of [https://github.com/mdn/browser-compat-data/blob/master/compat-data-schema.md#status-information two MDN categories]fields gives us four possible states):
{| class="wikitable"|-| || || experimental || |-| || || TRUE || FALSE|-| standards_track || TRUE || 3 || 4|-| || FALSE || 1 || 2|} * '''1 - Firefox -only(preliminary)''': an API in the initial stages of development and not part of any standards track. It may be a prototype or only partially implemented and is likely to change.* '''2 - Firefox-only (stable)''': a stable API that is unlikely to ever be copied by any other vendor since change, it is about not part of any standards track. It may pertain to a Mozilla Firefox-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].* '''3 - Experimental''': an a stable API that could be picked up by another vendor and added to the specificationis recommended as a standard but not part of a track yet. This API might could change should that happenas part of the standards process. An example could be the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/find/find find API].* '''Standards4 -trackStandard''': an API that is on a standards track or already part of the standards trackan approved standard, it is very unlikely to change. 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”“Standard”. For example, the contextual identity API could start as a Firefox -only API. It would then If other browsers found that feature to be possible for another browser useful, they may choose to add in that featureimplement it. It could then be moved from Firefox-only over to Experimental in the hopes that we can standardise itcould be standardized. Once it was formally proposed as part of a standard, its status would change to Standard.
At this time (October 2017) Firefox implements most of the browser extensions standard across Firefox. Firefox for Android is not as complete.
12
edits

Navigation menu