|
|
| Line 1: |
Line 1: |
| Status: '''done'''.
| | This document outlines the road maps for WebExtensions. |
|
| |
|
| = Post Firefox 48 =
| | Please refer to the vision document for [http://wiki.mozilla.org/WebExtensions/Vision overview of where WebExtensions are heading]. |
|
| |
|
| In progress.
| | * [https://wiki.mozilla.org/WebExtensions/RoadMapFirefox48 Up to Firefox 48] |
| | * [https://wiki.mozilla.org/WebExtensions/RoadMapFirefox57 Up to Firefox 57] |
|
| |
|
| = Old releases: Firefox 48 = | | = Timelines = |
|
| |
|
| 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. | | Please also see [https://wiki.mozilla.org/Electrolysis#Add-ons_Schedule Multiprocess Firefox up to 57] timeline. |
|
| |
|
| Application support:
| | {| class="wikitable" |
| * Firefox
| | |- |
| * Firefox for Android (where APIs are appropriate)
| | ! Version !! Cohort |
| | | |- |
| == APIs ==
| | | 55 Firefox Desktop || Disabling non-MPC add-ons on Nightly *only*. |
| | | |- |
| 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:
| | | 56 Firefox Desktop || No changes planned. |
| * alarms (full)
| | |- |
| * bookmarks (partial)
| | | 57 Firefox Desktop || WebExtensions and internal Mozilla add-ons only. For details of what will be allowed see [https://wiki.mozilla.org/Add-ons/Firefox57 this page]. |
| * browserAction (partial)
| | |- |
| * commands (full)
| | | 58 Firefox Desktop || No changes planned. |
| * contextMenus (full)
| | |- |
| * cookies (full)
| | | 59 Firefox for Android || WebExtensions and internal Mozilla add-ons only. The SDK will be removed from the mozilla-central tree. |
| * downloads (partial)
| | |} |
| * extension (partial)
| |
| * i18n (full)
| |
| * idle (partial)
| |
| * notifications (partial)
| |
| * options_ui
| |
| * 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 [[WebExtensions/chrome.storage.sync|being set up]]
| |
| | |
| 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 ==
| |
| | |
| 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 ==
| |
| | |
| 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 have good documentation on MDN.
| |
| * 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 ==
| |
| | |
| 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: previous notes =
| |
| | |
| 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.
| |
| * Migration
| |
| ** For example, the ability allow SDK add-ons to use WebExtensions APIs (Luca)
| |
| * Unique to Firefox features
| |
| ** get ideas in this cycle for next….
| |
| ** driven by add-ons need
| |
| ** 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
| |
| * [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
| |