There are a number of emerging Web platform standards and device APIs crucial to Firefox OS app development and to Open Web Apps. This article provides a list of pages covering those APIs, as well as the app manifest permissions for each one. For more information see App permissions.
Manifest permission | API name | Description | Minimum app type required | access property |
Default granted | Platform/version supported |
---|---|---|---|---|---|---|
alarms |
Alarm | Schedule a notification, or schedule an application to be started. | hosted | none | Allow |
FxOS 1.0.1 |
audio-capture |
Obtain MediaStream from audio input devices, e.g. microphone. This is needed to allow audio capture in Firefox OS 1.2+. |
hosted for getUserMedia, privileged for Web Speech API | none | Prompt for all installed App types for getUserMedia, Allow for Web Speech API. |
FxOS 1.2 and Desktop Firefox 20+ for getUserMedia, FxOS 2.5 and Desktop Firefox 44 for Web Speech API. |
|
audio-channel-alarm |
AudioChannels | Alarm clock, calendar alarms. | privileged | none | Allow |
FxOS 1.0.1 |
audio-channel-content |
AudioChannels | Music, video. | hosted | none | Allow |
FxOS 1.0.1 |
audio-channel-normal |
AudioChannels | UI sounds, Web content, music, radio. | hosted | none | Allow |
FxOS 1.0.1 |
audio-channel-notification |
AudioChannels | New email, incoming SMS. | privileged | none | Allow |
FxOS 1.0.1 |
browser |
Browser | Enables the app to implement a browser in an iframe . |
privileged | none | Allow |
FxOS 1.0.1 |
camera |
Camera |
Take photos, shoot video, record audio, and control the camera. Note: |
privileged in Firefox OS 2.0+ internal/certified up to Firefox OS 1.4 |
none | Prompt for all installed App types. |
FxOS 1.0.1-1.4 certified FxOS 2.0+ privileged |
contacts |
Contacts | Add, read, or modify contacts from the address book on the device and read contacts from the SIM. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt for all installed App types. |
FxOS 1.1 Firefox Android 18 |
desktop-notification |
mozNotification for Gecko <22, Notification for Gecko 22+ | Display a notification on the user's desktop. Note that this has changed, so for Gecko <22 (Firefox OS <1.2) you need to use mozNotification , while for Gecko 22+ (Firefox 1.2+) you need to use Notification . |
hosted | none | Prompt for Web content. Allow for all installed App types. |
FxOS 1.0.1, Android 4.0, Desktop 4.0 for prefixed version FxOS 1.2, Android 22, Desktop 22 for non-prefixed version |
device-storage:music |
Device Storage | Add, read, or modify music files stored on the device. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS 1.0.1 |
device-storage:pictures |
Device Storage | Add, read, or modify picture files stored on the device. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS 1.0.1 |
device-storage:sdcard |
Device Storage | Add, read, or modify files stored on the device's SD card. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS 1.0.1 |
device-storage:videos |
Device Storage | Add, read, or modify video files stored on the device. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS 1.0.1 |
fmradio |
FM Radio | Control the FM radio. | hosted | none | Allow |
FxOS 1.0.1 |
geolocation |
Geolocation | Obtain the current location of the user. | hosted | none | Prompt (even for certified Apps) |
FxOS 1.0.1, Desktop Firefox 3.5, Android 4.0 |
input |
Keyboard | Allows the app to act as a virtual keyboard by listening to focus change events in other apps. All IME apps need this permission for sending input keys and updating the value of a input field. | privileged | none | Allow |
FxOS 1.2 |
mobileid |
Mobile identity | Allows an app to obtain a verified phone number (MSISDN) after the user selects the number to be shared and gives explicit permission for the app to obtain it. | privileged/ | none | Prompt |
FxOS 2.0 |
mobilenetwork |
Mobile Network | Obtain mobile network information (MCC, MNC, etc.). | privileged | none | Allow |
FxOS 1.0.1 |
moz-firefox-accounts |
Firefox Accounts | Allows the use of Firefox Accounts when using the navigator.mozId API. | privileged | none | Prompt for all installed App types. |
FxOS 2.0 |
nfc |
NFC API | NFC enables an app to transmit data to other devices via near field communication. This permission is required for reading and writing data. | Privileged | none | Allow |
FxOS 2.2 |
nfc-share |
NFC API | This permission is just required for sharing tags via NFC. | Privileged | none | Allow |
FxOS 2.2 |
nfc-read , nfc-write |
NFC API | These permissions were used to request reading and writing privileges in Firefox OS 2.0/2.1 | Was certified/internal at this stage in development. | none | Allow |
FxOS 2.0 |
push |
Simple Push | Enable an app to wake up to receive notification. | hosted | none | Allow |
FxOS 1.1 |
speech-recognition |
Web Speech API | Allows an app to use speech recognition. | privileged | none | Allow |
FxOS 2.5 and Desktop Firefox 44. |
systemXHR |
SystemXHR | Allows anonymous (no cookies) cross-origin XHR without the target site having CORS enabled. Similar to the TCP Socket API but restricted to XHR, not just raw sockets, so it is slightly less risky. See XMLHttpRequest. | privileged | none | Allow |
FxOS 1.0.1 |
tcp-socket |
TCP Socket | Create TCP sockets and communicate over them. | privileged | none | Allow |
FxOS 1.0.1, Desktop (early versions) |
video-capture |
GetUserMedia | Obtain MediaStream from video input devices, e.g. camera. This is needed to allow video capture in Firefox OS 1.4+. | hosted | none | Prompt for all installed App types. |
FxOS 1.4 |
Note: To declare an app as privileged, you need to put "type" : "privileged"
into your app manifest. You don't need to include the type
field in your manifest for web apps, as web
is the default value.
Note: The summary table on our Web API team's main Wiki page also provides a useful overview of what's supported and where.