WebAPI: Difference between revisions

322 bytes added ,  25 March 2013
→‎Planned for initial release of B2G (aka Basecamp): add standardization column so it's easier to see what's going on with respect to that
m (fixed typo and made clarification on WebPayment)
(→‎Planned for initial release of B2G (aka Basecamp): add standardization column so it's easier to see what's going on with respect to that)
Line 24: Line 24:
! Description
! Description
! Progress
! Progress
! Standardization
! colspan="3"|Availability
! colspan="3"|Availability
|-
|-
Line 30: Line 31:
| Allow placing and answering phone calls as well as build in-call UI.
| Allow placing and answering phone calls as well as build in-call UI.
| [[WebAPI/Security/WebTelephony|Security Design Complete]]
| [[WebAPI/Security/WebTelephony|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 37: Line 39:
| {{bug|679966}}
| {{bug|679966}}
| Control device vibration for things like haptic feedback in games. Not intended to solve things like vibration for notification.
| Control device vibration for things like haptic feedback in games. Not intended to solve things like vibration for notification.
| Done on B2G and Android. Standard in progress.  <br>[[WebAPI/Security/Vibration|Security Design Complete]]
| [[WebAPI/Security/Vibration|Security Design Complete]]
| W3C CR (Device APIs)
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 46: Line 49:
| Send/receive SMS messages as well as manage messages stored on device.
| Send/receive SMS messages as well as manage messages stored on device.
| Done on Android though might not ship there for security reasons. Done for B2G.  <br>[[WebAPI/Security/SMS|Security Design Complete]]
| Done on Android though might not ship there for security reasons. Done for B2G.  <br>[[WebAPI/Security/SMS|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
Line 54: Line 58:
| Get notifications when user is idle.
| Get notifications when user is idle.
| Implemented. <br>[[WebAPI/Security/Idle|Security Design Complete]]
| Implemented. <br>[[WebAPI/Security/Idle|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 62: Line 67:
| Get notification when screen orientation changes as well as control which screen orientation a page/app wants.
| Get notification when screen orientation changes as well as control which screen orientation a page/app wants.
| Implemented! <br>[[WebAPI/Security/ScreenOrientation|Security Design Complete]]
| Implemented! <br>[[WebAPI/Security/ScreenOrientation|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 70: Line 76:
| Set system-wide configurations that are saved permanently on the device.
| Set system-wide configurations that are saved permanently on the device.
| Implementation done for content, chrome in progress. <br>[[WebAPI/Security/Settings|Security Design Complete]]
| Implementation done for content, chrome in progress. <br>[[WebAPI/Security/Settings|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 78: Line 85:
| Turn on/off screen, cpu, device power, etc. Listen and inspect resource lock events.
| Turn on/off screen, cpu, device power, etc. Listen and inspect resource lock events.
| API design and implementation in progress. [[WebAPI/Security/PowerManagement|Security Design Complete]]
| API design and implementation in progress. [[WebAPI/Security/PowerManagement|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 86: Line 94:
| Expose signal strength, operator, etc for GSM and other mobile connections. This does not cover WiFi.
| Expose signal strength, operator, etc for GSM and other mobile connections. This does not cover WiFi.
| Complete.<br>[[WebAPI/Security/MobileConnection|Security Design Complete]]
| Complete.<br>[[WebAPI/Security/MobileConnection|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 94: Line 103:
| Low-level TCP socket API. Will also include SSL support.
| Low-level TCP socket API. Will also include SSL support.
| Implemented, e10s in progress. <br>[[WebAPI/Security/TCPSocket| Security Design Complete]]
| Implemented, e10s in progress. <br>[[WebAPI/Security/TCPSocket| Security Design Complete]]
| Future? (Cannot standardize for normal web content.)
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
| Geolocation API
| [http://www.w3.org/TR/geolocation-API/ Geolocation API]
|  
|  
| Same API since Firefox 3.5
| Access to the end user's location.
| [[WebAPI/Security/Geolocation|Security Design Complete]]
| [[WebAPI/Security/Geolocation|Security Design Complete]]
| W3C CR
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 110: Line 121:
| Privileged API to get a list of available WiFi networks. Also get signal strength and name of currently connected network, etc.
| Privileged API to get a list of available WiFi networks. Also get signal strength and name of currently connected network, etc.
| API drafted, implementation mostly complete. <br>[[WebAPI/Security/Wifi| Security Design Complete]]
| API drafted, implementation mostly complete. <br>[[WebAPI/Security/Wifi| Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 118: Line 130:
| Add/Read/Modify files stored on a central location on the device. For example the "pictures" folder on modern desktop platforms or the photo storage in mobile devices.
| Add/Read/Modify files stored on a central location on the device. For example the "pictures" folder on modern desktop platforms or the photo storage in mobile devices.
| Complete <br>[[WebAPI/Security/DeviceStorage|Security Design Complete]]
| Complete <br>[[WebAPI/Security/DeviceStorage|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
Line 126: Line 139:
| Add/Read/Modify the device contacts address book.
| Add/Read/Modify the device contacts address book.
| v1 Complete, v2 implementation in progress. <br>[[WebAPI/Security/Contacts|Security Design Complete]]
| v1 Complete, v2 implementation in progress. <br>[[WebAPI/Security/Contacts|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
Line 133: Line 147:
| {{bug|633602}}
| {{bug|633602}}
| Lock access to mouse and get access to movement deltas rather than coordinates.
| Lock access to mouse and get access to movement deltas rather than coordinates.
| API being standardized in W3C. Implementation complete.
| Implementation complete.
| W3C Draft
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|B2G}}
| {{WebAPIPlatformAvailability|notPlanned|B2G}}
|-
|-
| [https://developer.mozilla.org/en/OpenWebApps/The_JavaScript_API Open WebApps]
| [https://developer.mozilla.org/en-US/docs/JavaScript_API Open WebApps]
| {{bug|697006}}
| {{bug|697006}}
| Install web apps and manage installed webapps. Also allows an installed webapp to get payment information. Everything needed to build a Open WebApps app store.
| Install web apps and manage installed webapps. Also allows an installed webapp to get payment information. Everything needed to build a Open WebApps app store.
| Complete  <br>[[WebAPI/Security/OpenWebApp|Security Design Complete]]
| Complete  <br>[[WebAPI/Security/OpenWebApp|Security Design Complete]]
| Future? Sysapps?
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 150: Line 166:
| Low level access to Bluetooth hardware.
| Low level access to Bluetooth hardware.
| API drafted, implementation underway for B2G headset only, must be complete by June/July.<br>[[WebAPI/Security/Bluetooth|Security Design Complete]]
| API drafted, implementation underway for B2G headset only, must be complete by June/July.<br>[[WebAPI/Security/Bluetooth|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 157: Line 174:
| {{bug|677166}} {{bug|713199}}
| {{bug|677166}} {{bug|713199}}
| Get basic information about current network connectivity.  Example:  "How fast of a connection do I have?".
| Get basic information about current network connectivity.  Example:  "How fast of a connection do I have?".
| API in W3C. Implemented on Android, not yet started on B2G.<br> [[WebAPI/Security/NetworkInfo|Security Design Complete]]
| Implemented on Android, not yet started on B2G.<br> [[WebAPI/Security/NetworkInfo|Security Design Complete]]
| W3C Draft
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 165: Line 183:
| {{bug|678694}}
| {{bug|678694}}
| Information about battery charge level and if device is plugged in.
| Information about battery charge level and if device is plugged in.
| API in W3C. Implemented!<br> [[WebAPI/Security/Battery| Security Design Complete]]
| Implemented!<br> [[WebAPI/Security/Battery| Security Design Complete]]
| W3C Draft
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 174: Line 193:
| Schedule a notification, or for an application to be started, at a specific time.
| Schedule a notification, or for an application to be started, at a specific time.
| Implementation in progress.<br>[[WebAPI/Security/Alarm|Security Design Complete]]
| Implementation in progress.<br>[[WebAPI/Security/Alarm|Security Design Complete]]
| W3C Draft
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
Line 182: Line 202:
| Enables implementing a browser completely in web technologies.
| Enables implementing a browser completely in web technologies.
| Implementation in progress.  <br>[[WebAPI/Security/BrowserAPI|Security Design Complete]]
| Implementation in progress.  <br>[[WebAPI/Security/BrowserAPI|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
Line 190: Line 211:
| Set current time. Timezone will go in the Settings API.
| Set current time. Timezone will go in the Settings API.
| [http://groups.google.com/group/mozilla.dev.webapi/browse_thread/thread/f382abb068abd4c5 API proposed]
| [http://groups.google.com/group/mozilla.dev.webapi/browse_thread/thread/f382abb068abd4c5 API proposed]
| Future?
| {{WebAPIPlatformAvailability|notimplemented|Desktop}}
| {{WebAPIPlatformAvailability|notimplemented|Desktop}}
| {{WebAPIPlatformAvailability|notimplemented|Android}}
| {{WebAPIPlatformAvailability|notimplemented|Android}}
Line 198: Line 220:
| Delegate an activity to another application.
| Delegate an activity to another application.
| API finalized, implementation beginning.
| API finalized, implementation beginning.
| Discussed in Device APIs
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
Line 206: Line 229:
| Allow the platform to send notification messages to specific applications.
| Allow the platform to send notification messages to specific applications.
| API drafted<br>[https://groups.google.com/forum/?fromgroups#!topic/mozilla.dev.webapps/Sff8MqFSO4E Security Discussion Active]
| API drafted<br>[https://groups.google.com/forum/?fromgroups#!topic/mozilla.dev.webapps/Sff8MqFSO4E Security Discussion Active]
| Future?
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
Line 214: Line 238:
| Allow Settings app to manage all app permissions in a centralized location
| Allow Settings app to manage all app permissions in a centralized location
| None <br>[[WebAPI/Security/PermissionsAPI|Security Design Complete]]
| None <br>[[WebAPI/Security/PermissionsAPI|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 222: Line 247:
| For FM radio feature.  
| For FM radio feature.  
| [[WebAPI/Security/FMRadioAPI|Security Design Complete]]
| [[WebAPI/Security/FMRadioAPI|Security Design Complete]]
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 230: Line 256:
| Writable files with locking.
| Writable files with locking.
| Implemented!<br>No separate security review required.
| Implemented!<br>No separate security review required.
| Future?
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 238: Line 265:
| Monitor data usage and expose data to privileged apps
| Monitor data usage and expose data to privileged apps
| Implemented!
| Implemented!
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 246: Line 274:
| Allow web content to initiate payments and refunds for virtual goods. For the server implementation, see [[WebAPI/WebPayment|WebPaymentProvider]].
| Allow web content to initiate payments and refunds for virtual goods. For the server implementation, see [[WebAPI/WebPayment|WebPaymentProvider]].
| API design and implementation in progress.
| API design and implementation in progress.
| Future?
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
Line 254: Line 283:
| Client-side storage of structured data and high performance searches on this data
| Client-side storage of structured data and high performance searches on this data
| Complete<br>[[WebAPI/Security/indexDB|Security Design Complete]]
| Complete<br>[[WebAPI/Security/indexDB|Security Design Complete]]
| W3C CR
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Line 262: Line 292:
| Blob support for Zip file contents
| Blob support for Zip file contents
| API drafted, implementation complete.  
| API drafted, implementation complete.  
| Future?
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
Line 269: Line 300:
| {{bug|738465}}
| {{bug|738465}}
| Device light sensor support
| Device light sensor support
| API drafted, implementation complete.  
| Implementation complete.  
| W3C Draft
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
| [http://www.w3.org/TR/2012/WD-proximity-20120712/ Proximity sensor] (W3C)
| [http://www.w3.org/TR/proximity/ Proximity sensor] (W3C)
| {{bug|738131}}
| {{bug|738131}}
| Device proximity sensor support
| Device proximity sensor support
| API drafted, implementation complete.  
| Implementation complete.  
| W3C Draft
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|Android}}
Confirmed users
112

edits