WebAPI/B2G1.0: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "== APIs == Here's a list of the APIs available in B2G version 1.0 and their availability. <!-- {{WebAPIPlatformAvailability|STATUS|PLATFORM}} STATUS = notPlanned | certifiedOn...")
 
Line 23: Line 23:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 31: Line 29:
| 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]]
| Done on B2G and Android. Standard in progress.  <br>[[WebAPI/Security/Vibration|Security Design Complete]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 39: Line 35:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 47: Line 41:
| 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]]
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 55: Line 47:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 63: Line 53:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 71: Line 59:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 79: Line 65:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 87: Line 71:
| 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]]
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 95: Line 77:
| Same API since Firefox 3.5
| Same API since Firefox 3.5
| [[WebAPI/Security/Geolocation|Security Design Complete]]
| [[WebAPI/Security/Geolocation|Security Design Complete]]
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 103: Line 83:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 111: Line 89:
| 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]]
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 119: Line 95:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 127: Line 101:
| 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.
| API being standardized in W3C. Implementation complete.
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|notPlanned|B2G}}
| {{WebAPIPlatformAvailability|notPlanned|B2G}}
|-
|-
Line 135: Line 107:
| 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]]
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 143: Line 113:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 151: Line 119:
| 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]]
| API in W3C. Implemented on Android, not yet started on B2G.<br> [[WebAPI/Security/NetworkInfo|Security Design Complete]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
|-
|-
Line 159: Line 125:
| 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]]
| API in W3C. Implemented!<br> [[WebAPI/Security/Battery| Security Design Complete]]
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 167: Line 131:
| 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]]
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 175: Line 137:
| 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]]
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 183: Line 143:
| 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]
| {{WebAPIPlatformAvailability|notimplemented|Desktop}}
| {{WebAPIPlatformAvailability|notimplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 191: Line 149:
| Delegate an activity to another application.
| Delegate an activity to another application.
| API finalized, implementation beginning.
| API finalized, implementation beginning.
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 199: Line 155:
| 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]
| {{WebAPIPlatformAvailability|notImplemented|Desktop}}
| {{WebAPIPlatformAvailability|notImplemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
|-
|-
Line 207: Line 161:
| 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]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 215: Line 167:
| For FM radio feature.  
| For FM radio feature.  
| [[WebAPI/Security/FMRadioAPI|Security Design Complete]]
| [[WebAPI/Security/FMRadioAPI|Security Design Complete]]
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 223: Line 173:
| Writable files with locking.
| Writable files with locking.
| Implemented!<br>No separate security review required.
| Implemented!<br>No separate security review required.
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
| {{WebAPIPlatformAvailability|notImplemented|B2G}}
|-
|-
Line 231: Line 179:
| Monitor data usage and expose data to privileged apps
| Monitor data usage and expose data to privileged apps
| Implemented!
| Implemented!
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
| {{WebAPIPlatformAvailability|certifiedOnly|B2G}}
|-
|-
Line 239: Line 185:
| Allow Open Web Apps to initiative payments and refunds for virtual goods. For the server implementation, see [[WebAPI/WebPayment|WebPaymentProvider]].
| Allow Open Web Apps to initiative 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.
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|notPlanned|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 247: Line 191:
| 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]]
| {{WebAPIPlatformAvailability|implemented|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 255: Line 197:
| Blob support for Zip file contents
| Blob support for Zip file contents
| API drafted, implementation complete.  
| API drafted, implementation complete.  
| {{WebAPIPlatformAvailability|offByDefault|Desktop}}
| {{WebAPIPlatformAvailability|offByDefault|Android}}
| {{WebAPIPlatformAvailability|offByDefault|B2G}}
| {{WebAPIPlatformAvailability|offByDefault|B2G}}
|-
|-
Line 263: Line 203:
| Device light sensor support
| Device light sensor support
| API drafted, implementation complete.  
| API drafted, implementation complete.  
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-
Line 271: Line 209:
| Device proximity sensor support
| Device proximity sensor support
| API drafted, implementation complete.  
| API drafted, implementation complete.  
| {{WebAPIPlatformAvailability|notPlanned|Desktop}}
| {{WebAPIPlatformAvailability|implemented|Android}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
| {{WebAPIPlatformAvailability|implemented|B2G}}
|-
|-

Revision as of 22:21, 13 February 2013

APIs

Here's a list of the APIs available in B2G version 1.0 and their availability.

API Bugs Description Progress Availability
WebTelephony bug 674726 Allow placing and answering phone calls as well as build in-call UI. Security Design Complete B
Vibration API (W3C) bug 679966 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.
Security Design Complete
B
WebSMS bug 674725 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.
Security Design Complete
B
Idle API bug 715041 Get notifications when user is idle. Implemented.
Security Design Complete
B
Screen Orientation bug 720794 bug 740188 bug 673922 Get notification when screen orientation changes as well as control which screen orientation a page/app wants. Implemented!
Security Design Complete
B
Settings API bug 678695 Set system-wide configurations that are saved permanently on the device. Implementation done for content, chrome in progress.
Security Design Complete
B
Power Management API bug 708964 Turn on/off screen, cpu, device power, etc. Listen and inspect resource lock events. API design and implementation in progress. Security Design Complete B
Mobile Connection API bug 729173 Expose signal strength, operator, etc for GSM and other mobile connections. This does not cover WiFi. Complete.
Security Design Complete
B
TCP Socket API bug 733573 Low-level TCP socket API. Will also include SSL support. Implemented, e10s in progress.
Security Design Complete
B
Geolocation API Same API since Firefox 3.5 Security Design Complete B
WiFi Information API 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.
Security Design Complete
B
Device Storage API bug 717103 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
Security Design Complete
B
Contacts API bug 674720 Add/Read/Modify the device contacts address book. v1 Complete, v2 implementation in progress.
Security Design Complete
B
Mouse Lock API (W3C) bug 633602 Lock access to mouse and get access to movement deltas rather than coordinates. API being standardized in W3C. Implementation complete. B
Open WebApps 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. Complete
Security Design Complete
B
WebBluetooth bug 674737 Low level access to Bluetooth hardware. API drafted, implementation underway for B2G headset only, must be complete by June/July.
Security Design Complete
B
Network Information API (W3C) bug 677166 bug 713199 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.
Security Design Complete
B
Battery Status API (W3C) bug 678694 Information about battery charge level and if device is plugged in. API in W3C. Implemented!
Security Design Complete
B
Alarm API bug 749551 Schedule a notification, or for an application to be started, at a specific time. Implementation in progress.
Security Design Complete
B
Browser API bug 693515 Enables implementing a browser completely in web technologies. Implementation in progress.
Security Design Complete
B
Time/Clock API bug 714357, bug 714358 (notification upon time change) Set current time. Timezone will go in the Settings API. API proposed B
Web Activities bug 715814 bug 776027 for Android Delegate an activity to another application. API finalized, implementation beginning. B
Push Notifications API bug 747907 Allow the platform to send notification messages to specific applications. API drafted
Security Discussion Active
B
Permissions API bug 707625 Allow Settings app to manage all app permissions in a centralized location None
Security Design Complete
B
WebFM API bug 749053 For FM radio feature. Security Design Complete B
FileHandle API bug 726593 Writable files with locking. Implemented!
No separate security review required.
B
Network Stats API bug 746069 Monitor data usage and expose data to privileged apps Implemented! B
WebPayment bug 767818 Allow Open Web Apps to initiative payments and refunds for virtual goods. For the server implementation, see WebPaymentProvider. API design and implementation in progress. B
IndexedDB (W3C) bug 553412 Client-side storage of structured data and high performance searches on this data Complete
Security Design Complete
B
Archive API bug 772434 Blob support for Zip file contents API drafted, implementation complete. B
Ambient light sensor (W3C) bug 738465 Device light sensor support API drafted, implementation complete. B
Proximity sensor (W3C) bug 738131 Device proximity sensor support API drafted, implementation complete. B

Legend

D = Desktop, A = Android, B = B2G
only available to certified apps on this platform
implemented and preference enabled by default on on this platform
implemented but requires explicitly turning on the preference on this platform
not implemented for this platform
not currently planned for this platform