Preloading support in browser

	   Apps like the QSB can request the browser to preload a
	   web page.
           - preloaded pages are not added to the browser history
	     if they'r not seen by the user
	   - when a request is received, a new tab is created for the
	     preloaded page, but not added to the tab list
 	   - upon receiving the view intent for the preloaded page
             the tab is added to the tab list, and shown
	   - if several pages are preloaded consecutively in the same tab,
             the back stack is cleared before it is displayed
           - preloaded pages use the main browser cookie jar, so pages that
             have never been viewed by the user can drop cookies

Change-Id: I9ed21f2c9560fda0ed042b460b73bb33988a2e8a
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c76cb92..7133a1a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,6 +20,10 @@
 
     <original-package android:name="com.android.browser" />
 
+    <permission android:name="com.android.browser.permission.PRELOAD"
+        android:label="@string/permission_preload_label"
+        android:protectionLevel="signatureOrSystem" />
+
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
@@ -242,6 +246,14 @@
             </intent-filter>
         </receiver>
 
+        <receiver android:name=".PreloadRequestReceiver"
+             android:permission="com.android.browser.permission.PRELOAD" >
+             <intent-filter>
+                 <action android:name="android.intent.action.PRELOAD"/>
+                 <data android:scheme="http" />
+             </intent-filter>
+         </receiver>
+
     </application>
 
 </manifest>