Confirmed users
47
edits
No edit summary |
(Update for terminology) |
||
Line 1: | Line 1: | ||
'''If you are looking for documentation on how to develop | '''If you are looking for documentation on how to develop an extension with WebExtensions APIs with Firefox, [https://developer.mozilla.org/en-US/Add-ons/WebExtensions please check out MDN].''' | ||
This page is an introduction to Mozilla's implementation of WebExtensions, a new browser extension API. The goals of this API are: | This page is an introduction to Mozilla's implementation of WebExtensions, a new browser extension API. The goals of this API are: | ||
* Porting add-ons to and from other browsers should be easier. | * Porting add-ons to and from other browsers should be easier. | ||
* Reviewing add-ons for addons.mozilla.org should be easier. | * Reviewing add-ons for addons.mozilla.org (AMO) should be easier. | ||
* | * Compatibility with multiprocess Firefox ([[Electrolysis]]). | ||
* Changes to Firefox's internal code should be less likely to break add-ons. | * Changes to Firefox's internal code should be less likely to break add-ons. | ||
* WebExtensions should be easier to use than the existing Firefox XPCOM/XUL APIs. | * WebExtensions APIs should be easier to use than the existing Firefox XPCOM/XUL APIs. | ||
* WebExtensions should maintain acceptable security and privacy standards. | * WebExtensions APIs should maintain acceptable security and privacy standards. | ||
Much of the specifics of the new API are similar to the Blink extension API. Google has [https://developer.chrome.com/extensions extensive documentation on the API]. [https://dev.opera.com/extensions/ So does Opera]. But the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions Firefox docs on MDN] are the best. | Much of the specifics of the new API are similar to the Blink extension API. Google has [https://developer.chrome.com/extensions extensive documentation on the API]. [https://dev.opera.com/extensions/ So does Opera]. But the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions Firefox docs on MDN] are the best. | ||
Line 41: | Line 41: | ||
* Join us on [[IRC|IRC]] at #webextensions or #addons | * Join us on [[IRC|IRC]] at #webextensions or #addons | ||
== Testing | == Testing WebExtensions APIs == | ||
See [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension Your first | See [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension Your first extension] on MDN. | ||
= Technical Details = | = Technical Details = | ||
Line 57: | Line 57: | ||
== Out-of-process Extensions == | == Out-of-process Extensions == | ||
Extensions developed with WebExtension APIs are compatible with Electrolysis. They run in the main Firefox process (except for content scripts, which run in the same process as web content). We are considering a plan to run extensions in a separate process (or possibly the content process) eventually, see {{Bugzilla|1190679}} for more details. | |||
Technical details about the implementation are published at [[WebExtensions/Implementing_APIs_out-of-process]]. | Technical details about the implementation are published at [[WebExtensions/Implementing_APIs_out-of-process]]. | ||
Line 65: | Line 65: | ||
== Packaging == | == Packaging == | ||
Extensions are packaged as standard Zip files, but with <code>.xpi</code> extensions. In the future, we're planning to move towards | Extensions are packaged as standard Zip files, but with <code>.xpi</code> extensions. In the future, we're planning to move towards what the W3C WG recommends. | ||
See https://developer.chrome.com/extensions/manifest for a complete list of manifest directives. | See https://developer.chrome.com/extensions/manifest for a complete list of manifest directives. |