User:Mark Giffin

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

Revision Content

apps manifest permissions table in progress do not depend on this

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. I see no reason for the API name, just adds more confusion.

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 

p - privileged app

any - hosted, privileged and certified apps

c - certified app

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 required Platform
alarms Alarm Schedule a notification, or schedule an application to be started. any no FxOS
browser Browser Enables the app to implement a browser in an <iframe>.  p no FxOS
contacts Contacts Add, read, or modify contacts from the address book on the device and read contacts from the SIM. p read write create FxOS
desktop-notification Desktop Notification Display a notification on the user's desktop. any no FxOS Android
device-storage:music Device Storage Add, read, or modify music files stored on the device. p read write create FxOS Desktop Android <prefs reqd D A>
device-storage:pictures Device Storage Add, read, or modify picture files stored on the device. p read write create FxOS Desktop Android <prefs reqd D A>
device-storage:videos Device Storage Add, read, or modify video files stored on the device. p read write create FxOS Desktop Android <prefs reqd D A>
device-storage:sdcard Device Storage Add, read, or modify files stored on the device's SD card. p read write create FxOS Desktop Android <prefs reqd D A>
fmradio FM Radio Control the FM radio. any no FxOS
geolocation Geolocation Obtain the current location of the user. any no FxOS Desktop Android
storage Storage Utilize storage (appcache, pinned apps, IndexedDB) without size limitations. any no 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. p no FxOS
tcp-socket TCP Socket Create TCP sockets and communicate over them. p no 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. c no FxOS
bluetooth   Low level access to Bluetooth hardware. c no 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.

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

 

 

{{ ListSubpages() }}

Revision Source

<p>apps manifest permissions table in progress do not depend on this</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. I see no reason for the API name, just adds more confusion.</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>p - privileged app</p>
<p>any - hosted, privileged and certified apps</p>
<p>c - certified app</p>
<p>App type - the type of app needed to use the permission: hosted, privileged, certified</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>
<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 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>any</td>
      <td>no</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>p</td>
      <td>no</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>p</td>
      <td>read write create</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>any</td>
      <td>no</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>p</td>
      <td>read write create</td>
      <td>FxOS Desktop Android &lt;prefs reqd D A&gt;</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>p</td>
      <td>read write create</td>
      <td>FxOS Desktop Android&nbsp;&lt;prefs reqd D A&gt;</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>p</td>
      <td>read write create</td>
      <td>FxOS Desktop Android&nbsp;&lt;prefs reqd D A&gt;</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>p</td>
      <td>read write create</td>
      <td>FxOS Desktop Android&nbsp;&lt;prefs reqd D A&gt;</td>
    </tr>
    <tr>
      <td>fmradio</td>
      <td>FM Radio</td>
      <td>Control the FM radio.</td>
      <td>any</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>geolocation</td>
      <td>Geolocation</td>
      <td>Obtain the current location of the user.</td>
      <td>any</td>
      <td>no</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>any</td>
      <td>no</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>p</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>tcp-socket</td>
      <td>TCP Socket</td>
      <td>Create TCP sockets and communicate over them.</td>
      <td>p</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
  </tbody>
</table>
<p>&nbsp;</p>
<h2 id="Certified_app_permissions">Certified app permissions</h2>
<p>The following permissions require that the app be a certified app.</p>
<p>&nbsp;</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>c</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>bluetooth</td>
      <td>&nbsp;</td>
      <td>Low level access to Bluetooth hardware.</td>
      <td>c</td>
      <td>no</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>c</td>
      <td>no</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>c</td>
      <td>no</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>c</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>settings</td>
      <td>Settings</td>
      <td>Configure or read device settings.</td>
      <td>c</td>
      <td>readonly or readwrite</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>sms</td>
      <td>WebSMS</td>
      <td>Send and receive SMS messages.</td>
      <td>c</td>
      <td>no</td>
      <td>FxOS</td>
    </tr>
    <tr>
      <td>telephony</td>
      <td>WebTelephony</td>
      <td>Access all telephony-related APIs. (What are they?)</td>
      <td>c</td>
      <td>no</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>c</td>
      <td>no</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>c</td>
      <td>no</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>c</td>
      <td>no</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