merge from donut
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3f61151..9fdf63b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -28,12 +28,8 @@
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.WAKE_LOCK"/>
-    <uses-permission android:name="android.permission.READ_HISTORY_BOOKMARKS"/>
-    <uses-permission android:name="android.permission.WRITE_HISTORY_BOOKMARKS"/>
-
-    <supports-density android:density="160" />
-    <supports-density android:density="240" />
-    <expandable />
+    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
+    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
 
     <application   android:name="Browser"
                    android:label="@string/application_name"
@@ -43,8 +39,8 @@
         <provider android:name="BrowserProvider"
                   android:authorities="browser"
                   android:multiprocess="true"
-                  android:readPermission="android.permission.READ_HISTORY_BOOKMARKS"
-                  android:writePermission="android.permission.WRITE_HISTORY_BOOKMARKS">
+                  android:readPermission="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
+                  android:writePermission="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS">
             <path-permission android:path="/bookmarks/search_suggest_query"
                     android:readPermission="android.permission.GLOBAL_SEARCH" />
         </provider>
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 17e35a6..ea31f92 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -807,10 +807,11 @@
             urlData.setPostData(intent
                     .getByteArrayExtra(Browser.EXTRA_POST_DATA));
 
-            if (Intent.ACTION_VIEW.equals(action) &&
-                    (flags & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
-                final String appId =
-                        intent.getStringExtra(Browser.EXTRA_APPLICATION_ID);
+            final String appId = intent
+                    .getStringExtra(Browser.EXTRA_APPLICATION_ID);
+            if (Intent.ACTION_VIEW.equals(action)
+                    && !getPackageName().equals(appId)
+                    && (flags & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
                 final TabControl.Tab appTab = mTabControl.getTabFromId(appId);
                 if (appTab != null) {
                     Log.i(LOGTAG, "Reusing tab for " + appId);
@@ -931,6 +932,7 @@
         if (appData != null) {
             intent.putExtra(SearchManager.APP_DATA, appData);
         }
+        intent.putExtra(Browser.EXTRA_APPLICATION_ID, getPackageName());
         startActivity(intent);
 
         return true;