User:Mark Giffin

  • Revision slug: User:Mark_Giffin
  • Revision title: User:Mark Giffin
  • Revision id: 357103
  • Created:
  • Creator: MarkGiffin
  • Is current revision? No
  • Comment

Revision Content

apps manifest permissions table in progress do not depend on this

{{Page("/en-US/docs/Mozilla/Firefox_OS/Application_development")}}

The API name links to the MDN page for it if there is one. Or just link from the permission name and delete the API name column.

Types of apps from least permissions to most permissions: hosted, privileged, certified. The higher-permission types include everything from the lower-permission types.

legend

FxOS - Firefox OS (is this also Firefox Mobile?)

Android - Firefox browser for Android 

App type - the type of app needed to use the permission: hosted, privileged, certified

Access required - whether an access parameter is required

 

Hosted app and privileged app permissions

See the App type column for hosted or privileged app required. "Any" means hosted and up.

Manifest permission API name Description App type required access property required Platform
alarms Alarm Schedule a notification, or schedule an application to be started. hosted none FxOS
browser Browser Enables the app to implement a browser in an <iframe>.  privileged none FxOS
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

FxOS
desktop-notification Desktop Notification Display a notification on the user's desktop. hosted none FxOS, Android
device-storage:music Device Storage Add, read, or modify music files stored on the device. privileged readonlyreadwritereadcreate, or createonly FxOS
device-storage:pictures Device Storage Add, read, or modify picture files stored on the device. privileged readonlyreadwritereadcreate, or createonly FxOS, Desktop*, Android*
device-storage:videos Device Storage Add, read, or modify video files stored on the device. privileged readonlyreadwritereadcreate, or createonly FxOS
device-storage:sdcard Device Storage Add, read, or modify files stored on the device's SD card. privileged readonlyreadwritereadcreate, or createonly FxOS
fmradio FM Radio Control the FM radio. hosted none FxOS
geolocation Geolocation Obtain the current location of the user. hosted none FxOS, Desktop, Android
storage Storage Utilize storage (appcache, pinned apps, IndexedDB) without size limitations. hosted none FxOS
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. privileged none FxOS
tcp-socket TCP Socket Create TCP sockets and communicate over them. privileged none FxOS

Certified app permissions

The following permissions require that the app be a certified app.

Manifest permission API name Description App type required access property required Platform
backgroundservice Background Services Enable an app to run in the background and perform tasks like syncing or responding to incoming messages. certified none FxOS
bluetooth   Low level access to Bluetooth hardware. certified none FxOS
camera Camera

Take photos, shoot video and control the camera.

Note: The reason this is limited to certified apps is that the sandbox that applications are run in prevents access to the camera hardware. Our goal is to make it available to third party apps as soon as possible, but we won't have time to do that in the initial release.

certified none FxOS
mobileconnection Mobile Connection Obtain information about the current mobile voice and data connection. certified none FxOS
power Power Management Turn the screen on or off, control CPU, device power, and so on. Listen for and inspect resource lock events. certified none FxOS
settings Settings Configure or read device settings. certified readonly or readwrite FxOS
sms WebSMS Send and receive SMS messages. certified none FxOS
telephony WebTelephony Access all telephony-related APIs. (What are they?) certified none FxOS
time TimeManager Set current time. Time zone information is controlled by the Settings API. certified none FxOS
webapps-manage Open Webapps Obtain access to the navigator.mozApps.mgmt API to manage installed Open Web Apps. certified none FxOS, Desktop, Android
wifi-manage WiFi Management Enumerate available WiFi networks, get signal strength, connect to a network. certified none FxOS

 

 

{{ ListSubpages() }}

Revision Source

<p>apps manifest permissions table in progress do not depend on this</p>
<p>{{Page("/en-US/docs/Mozilla/Firefox_OS/Application_development")}}</p>
<p>The API name links to the MDN page for it if there is one. Or just link from the permission name and delete the API name column.</p>
<p>Types of apps from least permissions to most permissions: hosted, privileged, certified. The higher-permission types include everything from the lower-permission types.</p>
<p>legend</p>
<p>FxOS - Firefox OS (is this also Firefox Mobile?)</p>
<p>Android - Firefox&nbsp;<span style="line-height: 1.572;">browser&nbsp;</span><span style="line-height: 1.572;">for Android&nbsp;</span></p>
<p><span style="line-height: 1.572;">App type - the type of app needed to use the permission: hosted, privileged, certified</span></p>
<p>Access required - whether an access parameter is required</p>
<p>&nbsp;</p>
<h2 id="Hosted_app_and_privileged_app_permissions">Hosted app and privileged app permissions</h2>
<p>See the App type column for hosted or privileged app required. "Any" means hosted and up.</p>
<div id="grabtest">
  <table>
    <thead>
      <tr>
        <th scope="col">Manifest permission</th>
        <th scope="col">API name</th>
        <th scope="col">Description</th>
        <th scope="col">App type required</th>
        <th scope="col">access property required</th>
        <th scope="col">Platform</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>alarms</td>
        <td>Alarm</td>
        <td>Schedule a notification, or schedule an application to be started.</td>
        <td>hosted</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>browser</td>
        <td>Browser</td>
        <td>Enables the app to implement a browser in an &lt;iframe&gt;.&nbsp;</td>
        <td>privileged</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>contacts</td>
        <td>Contacts</td>
        <td>Add, read, or modify contacts from the address book on the device and read contacts from the SIM.</td>
        <td>privileged</td>
        <td>
          <p><span style="line-height: 1.572;"><code>readonly</code>, <code>readwrite</code>, <code>readcreate</code>, or <code>createonly</code></span></p>
        </td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>desktop-notification</td>
        <td>Desktop Notification</td>
        <td>Display a notification on the user's desktop.</td>
        <td>hosted</td>
        <td>none</td>
        <td>FxOS, Android</td>
      </tr>
      <tr>
        <td>device-storage:music</td>
        <td>Device Storage</td>
        <td>Add, read, or modify music files stored on the device.</td>
        <td>privileged</td>
        <td><code style="font-size: 14px;">readonly</code>,&nbsp;<code style="font-size: 14px;">readwrite</code>,&nbsp;<code style="font-size: 14px;">readcreate</code>, or&nbsp;<code style="font-size: 14px;">createonly</code></td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>device-storage:pictures</td>
        <td>Device Storage</td>
        <td>Add, read, or modify picture files stored on the device.</td>
        <td>privileged</td>
        <td><code style="font-size: 14px;">readonly</code>,&nbsp;<code style="font-size: 14px;">readwrite</code>,&nbsp;<code style="font-size: 14px;">readcreate</code>, or&nbsp;<code style="font-size: 14px;">createonly</code></td>
        <td>FxOS, Desktop*, Android*</td>
      </tr>
      <tr>
        <td>device-storage:videos</td>
        <td>Device Storage</td>
        <td>Add, read, or modify video files stored on the device.</td>
        <td>privileged</td>
        <td><code style="font-size: 14px;">readonly</code>,&nbsp;<code style="font-size: 14px;">readwrite</code>,&nbsp;<code style="font-size: 14px;">readcreate</code>, or&nbsp;<code style="font-size: 14px;">createonly</code></td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>device-storage:sdcard</td>
        <td>Device Storage</td>
        <td>Add, read, or modify files stored on the device's SD card.</td>
        <td>privileged</td>
        <td><code style="font-size: 14px;">readonly</code>,&nbsp;<code style="font-size: 14px;">readwrite</code>,&nbsp;<code style="font-size: 14px;">readcreate</code>, or&nbsp;<code style="font-size: 14px;">createonly</code></td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>fmradio</td>
        <td>FM Radio</td>
        <td>Control the FM radio.</td>
        <td>hosted</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>geolocation</td>
        <td>Geolocation</td>
        <td>Obtain the current location of the user.</td>
        <td>hosted</td>
        <td>none</td>
        <td>FxOS, Desktop, Android</td>
      </tr>
      <tr>
        <td>storage</td>
        <td>Storage</td>
        <td>Utilize storage (appcache, pinned apps, IndexedDB) without size limitations.</td>
        <td>hosted</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>systemXHR</td>
        <td>SystemXHR</td>
        <td>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.</td>
        <td>privileged</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
      <tr>
        <td>tcp-socket</td>
        <td>TCP Socket</td>
        <td>Create TCP sockets and communicate over them.</td>
        <td>privileged</td>
        <td>none</td>
        <td>FxOS</td>
      </tr>
    </tbody>
  </table>
</div>
<h2 id="Certified_app_permissions">Certified app permissions</h2>
<p>The following permissions require that the app be a certified app.</p>
<table>
  <thead>
    <tr>
      <th scope="col">Manifest permission</th>
      <th scope="col">API name</th>
      <th scope="col">Description</th>
      <th scope="col">App type required</th>
      <th scope="col">access property required</th>
      <th scope="col">Platform</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>backgroundservice</td>
      <td>Background Services</td>
      <td>Enable an app to run in the background and perform tasks like syncing or responding to incoming messages.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>bluetooth</td>
      <td>&nbsp;</td>
      <td>Low level access to Bluetooth hardware.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>camera</td>
      <td>Camera</td>
      <td>
        <p>Take photos, shoot video and control the camera.</p>
        <div class="note">
          <p><strong>Note:</strong> The reason this is limited to certified apps is that the sandbox that applications are run in prevents access to the camera hardware. Our goal is to make it available to third party apps as soon as possible, but we won't have time to do that in the initial release.</p>
        </div>
      </td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>mobileconnection</td>
      <td>Mobile Connection</td>
      <td>Obtain information about the current mobile voice and data connection.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>power</td>
      <td>Power Management</td>
      <td>Turn the screen on or off, control CPU, device power, and so on. Listen for and inspect resource lock events.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>settings</td>
      <td>Settings</td>
      <td>Configure or read device settings.</td>
      <td>certified</td>
      <td><code>readonly</code> or <code>readwrite</code></td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>sms</td>
      <td>WebSMS</td>
      <td>Send and receive SMS messages.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>telephony</td>
      <td>WebTelephony</td>
      <td>Access all telephony-related APIs. (What are they?)</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>time</td>
      <td>TimeManager</td>
      <td>Set current time.&nbsp;Time zone information is controlled by the Settings API.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>webapps-manage</td>
      <td>Open Webapps</td>
      <td>Obtain access to the navigator.mozApps.mgmt API to manage installed Open Web Apps.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS, Desktop, Android</td>
    </tr>
    <tr>
      <td>wifi-manage</td>
      <td>WiFi Management</td>
      <td>Enumerate available WiFi networks, get signal strength, connect to a network.</td>
      <td>certified</td>
      <td>none</td>
      <td>FxOS</td>
    </tr>
  </tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="line-height: 1.572;">{{ ListSubpages() }}</span></p>
Revert to this revision