Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Firefox OS device APIs

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

getUserMedia, Web Speech API

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: camera was limited to certified apps initially because the app sandbox was preventing access to the camera hardware. Fixed from Firefox OS 2.0 onwards.

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.

 

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, garrettn
 Last updated by: chrisdavidmills,