Browser Fixes.
- Move the browser targeted verion to SDK 19.
- Remove hack to create dummy webview to call into
singleton classes and use Engine class.
- Add missing methods to compile for API 19.
Change-Id: Ie765921f1227eb5de314ed29c5ce909bee6aea93
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7561146..b9b67d1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -382,7 +382,7 @@
android:exported="false" />
</application>
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" />
+ <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
diff --git a/src/com/android/browser/Browser.java b/src/com/android/browser/Browser.java
index 5428494..01b9706 100644
--- a/src/com/android/browser/Browser.java
+++ b/src/com/android/browser/Browser.java
@@ -22,7 +22,7 @@
import android.util.Log;
import android.os.Process;
-import org.codeaurora.swe.CookieSyncManager;
+import org.codeaurora.swe.Engine;
import com.android.browser.BrowserConfig;
@@ -45,16 +45,16 @@
// SWE: Avoid initializing databases for sandboxed processes.
// Must have INITIALIZE_DATABASE permission in AndroidManifest.xml only for browser process
- final String INITIALIZE_DATABASE= BrowserConfig.AUTHORITY +
+ 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);
- BrowserSettings.initialize(getApplicationContext());
- Preloader.initialize(getApplicationContext());
+ boolean isActivityContext = (context.checkPermission(INITIALIZE_DATABASE,
+ Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED);
+ if (isActivityContext) {
+ // Initialize the SWE engine.
+ Engine.initialize(context);
+ BrowserSettings.initialize(context);
+ Preloader.initialize(context);
}
}
}
diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/browser/BrowserPreferencesPage.java
index ebc08a4..9e19d11 100644
--- a/src/com/android/browser/BrowserPreferencesPage.java
+++ b/src/com/android/browser/BrowserPreferencesPage.java
@@ -26,7 +26,10 @@
import com.android.browser.preferences.BandwidthPreferencesFragment;
import com.android.browser.preferences.DebugPreferencesFragment;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
public class BrowserPreferencesPage extends PreferenceActivity {
@@ -99,4 +102,19 @@
return intent;
}
+ private static final Set<String> sKnownFragments = new HashSet<String>(Arrays.asList(
+ "com.android.browser.preferences.GeneralPreferencesFragment",
+ "com.android.browser.preferences.PrivacySecurityPreferencesFragment",
+ "com.android.browser.preferences.AccessibilityPreferencesFragment",
+ "com.android.browser.preferences.AdvancedPreferencesFragment",
+ "com.android.browser.preferences.BandwidthPreferencesFragment",
+ "com.android.browser.preferences.LabPreferencesFragment",
+ "com.android.browser.preferences.AboutPreferencesFragment"));
+
+ @Override
+ protected boolean isValidFragment(String fragmentName) {
+ return sKnownFragments.contains(fragmentName);
+ }
+
+
}
diff --git a/src/com/android/browser/Preloader.java b/src/com/android/browser/Preloader.java
index 99909b3..5f90487 100644
--- a/src/com/android/browser/Preloader.java
+++ b/src/com/android/browser/Preloader.java
@@ -53,11 +53,6 @@
mHandler = new Handler(Looper.getMainLooper());
mSession = null;
mFactory = new BrowserWebViewFactory(context);
-
- // Creating dummy Webview for browser to force loading of library;
- // This will thereby prevent any singleton calls invoked directly
- // even without the webview creation
- (mFactory.instantiateWebView(null, android.R.attr.webViewStyle, false)).destroy();
}
private PreloaderSession getSession(String id) {
diff --git a/src_system/AndroidManifest.xml b/src_system/AndroidManifest.xml
index 63a0cd1..592a34f 100644
--- a/src_system/AndroidManifest.xml
+++ b/src_system/AndroidManifest.xml
@@ -384,7 +384,7 @@
android:exported="false" />
</application>
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" />
+ <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />