Confirmed users
1,158
edits
Sescalante (talk | contribs) m (→WebExtensions Themes - scratch pad: bug number) |
No edit summary |
||
| Line 1: | Line 1: | ||
Status: '''draft, in progress'''. | Status: '''draft, in progress'''. | ||
= Firefox 48 = | |||
= | |||
Firefox 48 is the first release of Firefox where we are recommending people start to use WebExtensions. I won't be suitable for every project and add-on but it will be a stable platform. | |||
Application support: | Application support: | ||
| Line 18: | Line 11: | ||
== APIs == | == APIs == | ||
Focus on key APIs that bring the biggest return for investment | Focus on key APIs that bring the biggest return for investment. For the full list, look at the tracking bug {{Bugzilla|1214433}}, but they will be: | ||
* alarms (full) | |||
* bookmarks (partial) | |||
* browserAction (partial) | |||
* commands (full) | |||
* contextMenus (full) | |||
* cookies (full) | |||
* downloads (full) | |||
* extension (partial) | |||
* i18n (full) | |||
* idle (partial) | |||
* notifications (partial) | |||
* pageAction (full) | |||
* runtime (partial) | |||
* storage.local (full) | |||
* tabs (full) | |||
* webNavigation (full) | |||
* webRequest (full) | |||
* windows (full) | |||
Notable exceptions: | |||
* storage.sync requires some back end services from Mozilla which is currently in the process of being set up [andym: insert link to chrome.storage.sync page when its ready] | |||
In terms of code quality we are striving for: | |||
* 100% test coverage (with exceptions where it doesn't make sense) | |||
* eslint compliant code | |||
== Development tools == | == Development tools == | ||
An add-on author will be able to use a new tool, `web-ext` to do the following: | |||
* sign: sign the add-on through AMO | |||
* run: start up a new profile and run the add-on | |||
* test: start up a new profile and test the add-on in Firefox | |||
* validate: run the add-on through the JavaScript add-on linter | |||
A new tool is being written because of problems with the existing jpm tools. | |||
== AMO == | == AMO == | ||
WebExtensions will be able to be uploaded to addons.mozilla.org then reviewed, searched, installed and updated just like any other Addon {{Bugzilla|1210037}} | WebExtensions will be able to be uploaded to addons.mozilla.org then reviewed, searched, installed and updated just like any other Addon {{Bugzilla|1210037}}. | ||
== Documentation == | |||
For all the APIs that Firefox supports, we'll have good documentation on MDN that outlines: | |||
* how to use the API | |||
* Firefox versions it is supported in | |||
* any incompatibilities between Firefox and chrome | |||
* any incompatibilities between Firefox Desktop and Firefox Android | |||
Further we'll try to have examples available on github, documented on MDN for all the major examples. | |||
== Deprecations == | == Deprecations == | ||
| Line 36: | Line 66: | ||
We don't anticipate that this release will cause any deprecations of other ways of building add-ons, although certainly we'd hope most resource will go into this release. | We don't anticipate that this release will cause any deprecations of other ways of building add-ons, although certainly we'd hope most resource will go into this release. | ||
= | = Post Firefox 48 = | ||
This is | |||
*native.js [https://bugzilla.mozilla.org/show_bug.cgi?id=1199718 Bug 1199718] | There are many areas we can work on past Firefox 48. This is one area to free form work through upcoming ideas, a scratch pad for priority & planning: | ||
** | |||
*** | * native.js [https://bugzilla.mozilla.org/show_bug.cgi?id=1199718 Bug 1199718], this will make it easy/faster for folks to prototype and build new WebExtensions API's | ||
** | ** With this we can dev in 2 weeks and have big benefit from this for a long time. | ||
** | *** Goal: tested, prototyped, pushed into mozcentral when ready “ideatown for webextension api’s” (Philip, Andy, John G - since similar to ideatown) | ||
* | ** Timing: UX work after e10s interface [https://bugzilla.mozilla.org/show_bug.cgi?id=1181835 bug 1181835] | ||
* | ** What is in development? about:config list add-ons using native js | ||
** | * Chrome parity | ||
* | * Chrome add-ons porting | ||
** | ** Top 20 chrome add-ons run in Fx | ||
* | * Firefox add-ons porting | ||
* | ** Top 20 firefox add-ons running in WebExtensions - criteria based on downloads, actual usage, ratings: typically adblockers, download managers, tab add-ons, etc. | ||
**driven by add-ons need | * Migration | ||
**ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1244789 Bug 1244789] - Support richer user interactions in the chrome.browserAction API (Giorgio dev side / aswan andy would like to help engage here, madhava, markus) | ** For example, the ability allow SDK add-ons to use WebExtensions APIs (Luca) | ||
**ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1219940 Bug 1219940 ] Something equivalent to OS.File - native.js would help until it's done as a "regular" WebExtension API | * Unique to Firefox features | ||
*[https://wiki.mozilla.org/WebExtensions/GoFaster | ** get ideas in this cycle for next…. | ||
** | ** driven by add-ons need | ||
**open issues as it's ramping up ( | ** ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1244789 Bug 1244789] - Support richer user interactions in the chrome.browserAction API (Giorgio dev side / aswan andy would like to help engage here, madhava, markus) | ||
* | ** ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1219940 Bug 1219940 ] Something equivalent to OS.File - native.js would help until it's done as a "regular" WebExtension API | ||
*Styling & sort order | * [https://wiki.mozilla.org/WebExtensions/GoFaster Go faster] - early feasibility planning starting | ||
** Feasibility (can we do it, difficulty, when good time) | |||
**open issues as it's ramping up (Laura's team) | |||
* Runtime.connectnative | |||
* Styling & sort order | |||
** UX is lower priority for now | |||