Permissions

Some features of the Android API can only be accessed with the user’s permission, which are granted in the usual way (by displaying the permissions before the user chooses whether to download and install the app).  The requested permissions must be declared in the app’s AndroidManifest.xml.

Similarly, the Dolphin Add-on API defines some additional permissions that protect sensitive features of the browser.  As with standard Android permissions, the Dolphin permissions must be declared in the AndroidManifest.xml file.

These Dolphin API permissions are organized into two levels – normal and advanced – as shown in the table below.  The normal permissions are automatically granted to any Add-on that has a valid “normal” API key.  Similarly, the advanced permissions are automatically granted only to Add-ons that have the “advanced” API key.  Advanced API keys are made available to MoboTap business partners and some other developers on request.  To request an advanced key, send email to developer@dolphin-browser.com.

This table lists the defined Dolphin API permissions for the two levels.

Permission API key
com.dolphin.browser.permission.ACCESS_WEB_PAGES Normal API key
com.dolphin.browser.permission.MANAGE_DOWNLOADS Normal API key
com.dolphin.browser.permission.MANAGE_TABS Normal API key
com.dolphin.browser.permission.READ_BOOKMARKS Normal API key
com.dolphin.browser.permission.READ_HISTORY Normal API key
com.dolphin.browser.permission.WRITE_BOOKMARKS Normal API key
com.dolphin.browser.permission.WRITE_HISTORY Normal API key
com.dolphin.browser.permission.HANDLE_HTTP_AUTH_REQUEST Advanced API key
com.dolphin.browser.permission.MODIFY_WEB_SETTINGS Advanced API key
com.dolphin.browser.permission.RUN_JAVASCRIPT Advanced API key
com.dolphin.browser.permission.TITLE_BAR_ACTION Advanced API key
com.dolphin.browser.permission.ADDON_BAR_BADGE Advanced API key

The XML below demonstrates the syntax for permission requests in AndroidManifest.xml.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.android.app.myapp" >
 <uses-permission android:name=
 "com.dolphin.browser.permission.ACCESS_WEB_PAGES" />
 ...
</manifest>