Set correct permission for standalone browser
- The non standard permissions has to be app specific.
Change-Id: I54bf98c8ff69c613695aa18f12d3615bf647fd56
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ccfebfc..7561146 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -18,10 +18,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.browser">
- <permission android:name="com.android.browser.permission.PRELOAD"
+ <permission android:name="com.android.swe.browser.permission.PRELOAD"
android:label="@string/permission_preload_label"
android:protectionLevel="signatureOrSystem" />
- <permission android:name="com.android.browser.permission.INITIALIZE_DATABASE"
+ <permission android:name="com.android.swe.browser.permission.INITIALIZE_DATABASE"
android:protectionLevel="signatureOrSystem" />
<permission android:name="org.chromium.content_shell.permission.SANDBOX"
android:protectionLevel="signatureOrSystem" />
@@ -47,9 +47,9 @@
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
- <uses-permission android:name="com.android.browser.permission.READ_HOMEPAGE" />
- <uses-permission android:name="com.android.browser.permission.WRITE_HOMEPAGE" />
- <uses-permission android:name="com.android.browser.permission.INITIALIZE_DATABASE"/>
+ <uses-permission android:name="com.android.swe.browser.permission.READ_HOMEPAGE" />
+ <uses-permission android:name="com.android.swe.browser.permission.WRITE_HOMEPAGE" />
+ <uses-permission android:name="com.android.swe.browser.permission.INITIALIZE_DATABASE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
@@ -73,8 +73,8 @@
<path-permission android:path="/bookmarks/search_suggest_query"
android:readPermission="android.permission.GLOBAL_SEARCH" />
<path-permission android:path="/homepage"
- android:readPermission="com.android.browser.permission.READ_HOMEPAGE"
- android:writePermission="com.android.browser.permission.WRITE_HOMEPAGE" />
+ android:readPermission="com.android.swe.browser.permission.READ_HOMEPAGE"
+ android:writePermission="com.android.swe.browser.permission.WRITE_HOMEPAGE" />
</provider>
<activity android:name="BrowserActivity"
android:label="@string/application_name_swe"
@@ -294,7 +294,7 @@
</receiver>
<receiver android:name=".PreloadRequestReceiver"
- android:permission="com.android.browser.permission.PRELOAD" >
+ android:permission="com.android.swe.browser.permission.PRELOAD" >
<intent-filter>
<action android:name="android.intent.action.PRELOAD"/>
<data android:scheme="http" />
diff --git a/src/com/android/browser/Browser.java b/src/com/android/browser/Browser.java
index c9b8e7b..5428494 100644
--- a/src/com/android/browser/Browser.java
+++ b/src/com/android/browser/Browser.java
@@ -24,6 +24,8 @@
import org.codeaurora.swe.CookieSyncManager;
+import com.android.browser.BrowserConfig;
+
public class Browser extends Application {
private final static String LOGTAG = "browser";
@@ -43,13 +45,14 @@
// SWE: Avoid initializing databases for sandboxed processes.
// Must have INITIALIZE_DATABASE permission in AndroidManifest.xml only for browser process
- final String INITIALIZE_DATABASE="com.android.browser.permission.INITIALIZE_DATABASE";
+ final String INITIALIZE_DATABASE= BrowserConfig.AUTHORITY +
+ ".permission.INITIALIZE_DATABASE";
final Context context = getApplicationContext();
if (context.checkPermission(INITIALIZE_DATABASE,
Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED) {
// create CookieSyncManager with current Context
- CookieSyncManager.createInstance(this);
+ CookieSyncManager.createInstance(this);
BrowserSettings.initialize(getApplicationContext());
Preloader.initialize(getApplicationContext());
}