Merge change I325e22ca into eclair-mr2

* changes:
  Fix a leak in WebView.
This commit is contained in:
Android (Google) Code Review
2009-12-01 16:40:07 -08:00
5 changed files with 13 additions and 10 deletions

View File

@@ -105,10 +105,13 @@ class BrowserFrame extends Handler {
*/
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 @@ class BrowserFrame extends Handler {
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 @@ class BrowserFrame extends Handler {
* @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,

View File

@@ -167,7 +167,7 @@ public final class CacheManager {
* @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();

View File

@@ -93,7 +93,7 @@ public final class CookieSyncManager extends WebSyncManager {
public static synchronized CookieSyncManager createInstance(
Context context) {
if (sRef == null) {
sRef = new CookieSyncManager(context);
sRef = new CookieSyncManager(context.getApplicationContext());
}
return sRef;
}

View File

@@ -96,7 +96,7 @@ public class PluginManager {
throw new IllegalStateException(
"First call to PluginManager need a valid context.");
}
mInstance = new PluginManager(context);
mInstance = new PluginManager(context.getApplicationContext());
}
return mInstance;
}

View File

@@ -732,7 +732,7 @@ public class WebView extends AbsoluteLayout
/**
* 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.