From 4d2fcaba7fb8eb1723943ac9a10e76d509330bd1 Mon Sep 17 00:00:00 2001 From: Jonathan Dixon Date: Fri, 24 Feb 2012 00:13:06 +0000 Subject: Fixup browser to use WebView proxy Has to escape out to WebViewClassic whenever it needs a hidden API. Interdepends on https://android-git.corp.google.com/g/165608 Change-Id: Ic61dd7f57f75381864075605d5901f2688648cbd --- src/com/android/browser/BrowserSettings.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/com/android/browser/BrowserSettings.java') diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index dd7bb563b..4f4bb13d2 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -32,11 +32,12 @@ import android.webkit.CookieManager; import android.webkit.GeolocationPermissions; import android.webkit.WebIconDatabase; import android.webkit.WebSettings; -import android.webkit.WebSettings.AutoFillProfile; import android.webkit.WebSettings.LayoutAlgorithm; import android.webkit.WebSettings.PluginState; import android.webkit.WebSettings.TextSize; import android.webkit.WebSettings.ZoomDensity; +import android.webkit.WebSettingsClassic; +import android.webkit.WebSettingsClassic.AutoFillProfile; import android.webkit.WebStorage; import android.webkit.WebView; import android.webkit.WebViewDatabase; @@ -149,12 +150,13 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, } public void startManagingSettings(WebSettings settings) { + WebSettingsClassic settingsClassic = (WebSettingsClassic) settings; if (mNeedsSharedSync) { syncSharedSettings(); } synchronized (mManagedSettings) { - syncStaticSettings(settings); - syncSetting(settings); + syncStaticSettings(settingsClassic); + syncSetting(settingsClassic); mManagedSettings.add(new WeakReference(settings)); } } @@ -233,7 +235,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, /** * Syncs all the settings that have a Preference UI */ - private void syncSetting(WebSettings settings) { + private void syncSetting(WebSettingsClassic settings) { settings.setGeolocationEnabled(enableGeolocation()); settings.setJavaScriptEnabled(enableJavascript()); settings.setLightTouchEnabled(enableLightTouch()); @@ -283,7 +285,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, * Syncs all the settings that have no UI * These cannot change, so we only need to set them once per WebSettings */ - private void syncStaticSettings(WebSettings settings) { + private void syncStaticSettings(WebSettingsClassic settings) { settings.setDefaultFontSize(16); settings.setDefaultFixedFontSize(13); settings.setPageCacheCapacity(getPageCacheCapacity()); @@ -332,7 +334,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, Iterator> iter = mManagedSettings.iterator(); while (iter.hasNext()) { WeakReference ref = iter.next(); - WebSettings settings = ref.get(); + WebSettingsClassic settings = (WebSettingsClassic)ref.get(); if (settings == null) { iter.remove(); continue; -- cgit v1.2.3