Merge change I325e22ca into eclair-mr2
* changes:
Fix a leak in WebView.
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index e6e26fa..1496f1b 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -105,10 +105,13 @@
*/
public BrowserFrame(Context context, WebViewCore w, CallbackProxy proxy,
WebSettings settings, Map<String, Object> javascriptInterfaces) {
+
+ Context appContext = context.getApplicationContext();
+
// Create a global JWebCoreJavaBridge to handle timers and
// cookies in the WebCore thread.
if (sJavaBridge == null) {
- sJavaBridge = new JWebCoreJavaBridge(context);
+ sJavaBridge = new JWebCoreJavaBridge(appContext);
// set WebCore native cache size
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
@@ -118,18 +121,18 @@
sJavaBridge.setCacheSize(4 * 1024 * 1024);
}
// initialize CacheManager
- CacheManager.init(context);
+ CacheManager.init(appContext);
// create CookieSyncManager with current Context
- CookieSyncManager.createInstance(context);
+ CookieSyncManager.createInstance(appContext);
// create PluginManager with current Context
- PluginManager.getInstance(context);
+ PluginManager.getInstance(appContext);
}
mJSInterfaceMap = javascriptInterfaces;
mSettings = settings;
mContext = context;
mCallbackProxy = proxy;
- mDatabase = WebViewDatabase.getInstance(context);
+ mDatabase = WebViewDatabase.getInstance(appContext);
mWebViewCore = w;
AssetManager am = context.getAssets();
@@ -496,7 +499,7 @@
* @param uri A String representing the URI of the desired file.
* @param buffer The byte array to copy the data into.
* @param offset The offet into buffer to place the data.
- * @param expectSize The size that the buffer has allocated for this file.
+ * @param expectedSize The size that the buffer has allocated for this file.
* @return int The size of the given file, or zero if it fails.
*/
private int getFile(String uri, byte[] buffer, int offset,
diff --git a/core/java/android/webkit/CacheManager.java b/core/java/android/webkit/CacheManager.java
index c167414..c4e26bc 100644
--- a/core/java/android/webkit/CacheManager.java
+++ b/core/java/android/webkit/CacheManager.java
@@ -167,7 +167,7 @@
* @param context The application context.
*/
static void init(Context context) {
- mDataBase = WebViewDatabase.getInstance(context);
+ mDataBase = WebViewDatabase.getInstance(context.getApplicationContext());
mBaseDir = new File(context.getCacheDir(), "webviewCache");
if (createCacheDirectory() && mClearCacheOnInit) {
removeAllCacheFiles();
diff --git a/core/java/android/webkit/CookieSyncManager.java b/core/java/android/webkit/CookieSyncManager.java
index 14375d2..abe9178 100644
--- a/core/java/android/webkit/CookieSyncManager.java
+++ b/core/java/android/webkit/CookieSyncManager.java
@@ -93,7 +93,7 @@
public static synchronized CookieSyncManager createInstance(
Context context) {
if (sRef == null) {
- sRef = new CookieSyncManager(context);
+ sRef = new CookieSyncManager(context.getApplicationContext());
}
return sRef;
}
diff --git a/core/java/android/webkit/PluginManager.java b/core/java/android/webkit/PluginManager.java
index 88429c5..141984a 100644
--- a/core/java/android/webkit/PluginManager.java
+++ b/core/java/android/webkit/PluginManager.java
@@ -96,7 +96,7 @@
throw new IllegalStateException(
"First call to PluginManager need a valid context.");
}
- mInstance = new PluginManager(context);
+ mInstance = new PluginManager(context.getApplicationContext());
}
return mInstance;
}
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 3207c79..add4ac7 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -732,7 +732,7 @@
/**
* Construct a new WebView with layout parameters, a default style and a set
* of custom Javscript interfaces to be added to the WebView at initialization
- * time. This guraratees that these interfaces will be available when the JS
+ * time. This guarantees that these interfaces will be available when the JS
* context is initialized.
* @param context A Context object used to access application assets.
* @param attrs An AttributeSet passed to our parent.