WebExtensions/Roadmap: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
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
Confirmed users
1,158

edits

Navigation menu