summaryrefslogtreecommitdiffstats
path: root/WebKit/android/jni
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-06-17 11:21:10 +0100
committerBen Murdoch <benm@google.com>2010-06-18 14:38:37 +0100
commitc9aa5a757b642000cb31e7c568af58ec11b95883 (patch)
treef85c2ff51f2f2701ca0841fc83fe8648075dae8c /WebKit/android/jni
parent88bdcf91d7935b1db93296a4fc716bc1436dc0ce (diff)
downloadexternal_webkit-c9aa5a757b642000cb31e7c568af58ec11b95883.zip
external_webkit-c9aa5a757b642000cb31e7c568af58ec11b95883.tar.gz
external_webkit-c9aa5a757b642000cb31e7c568af58ec11b95883.tar.bz2
Fix new LayoutTest crashes in compositing/iframes/lots-of-objects.html and
compositing/iframes/lots-of-iframes.html caused by memory leaks. Change-Id: I28de673d5bf0bb79438af4f094e0390c48bd8180
Diffstat (limited to 'WebKit/android/jni')
-rw-r--r--WebKit/android/jni/WebCoreFrameBridge.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp
index bc1022f..24f27b1 100644
--- a/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -317,9 +317,9 @@ static jobject createJavaMapFromHTTPHeaders(JNIEnv* env, const WebCore::HTTPHead
jstring val = env->NewString((unsigned short *)i->second.characters(), i->second.length());
if (key && val) {
env->CallObjectMethod(hashMap, put, key, val);
- env->DeleteLocalRef(key);
- env->DeleteLocalRef(val);
}
+ env->DeleteLocalRef(key);
+ env->DeleteLocalRef(val);
}
env->DeleteLocalRef(mapClass);
@@ -716,6 +716,7 @@ WebFrame::didReceiveTouchIconURL(const WebCore::String& url, bool precomposed)
env->CallVoidMethod(mJavaFrame->frame(env).get(),
mJavaFrame->mDidReceiveTouchIconUrl, jUrlStr, precomposed);
+ env->DeleteLocalRef(jUrlStr);
checkException(env);
}
@@ -730,6 +731,7 @@ WebFrame::updateVisitedHistory(const WebCore::KURL& url, bool reload)
jstring jUrlStr = env->NewString((unsigned short*)urlStr.characters(), urlStr.length());
env->CallVoidMethod(mJavaFrame->frame(env).get(), mJavaFrame->mUpdateVisitedHistory, jUrlStr, reload);
+ env->DeleteLocalRef(jUrlStr);
checkException(env);
}
@@ -759,6 +761,7 @@ WebFrame::canHandleRequest(const WebCore::ResourceRequest& request)
// if browser app handles the url, we will return false to bail out WebCore loading
jboolean ret = env->CallBooleanMethod(mJavaFrame->frame(env).get(), mJavaFrame->mHandleUrl, jUrlStr);
checkException(env);
+ env->DeleteLocalRef(jUrlStr);
return (ret == 0);
}