summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
diff options
context:
space:
mode:
authorHuahui Wu <hwu@google.com>2011-06-28 16:25:56 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-06-28 16:25:56 -0700
commit4fe08aab7cb344ee175e2637d3c69e8d4b5dc80c (patch)
tree19567cd4be9b30fb962572a43ec5923aee43acfa /Source/WebKit/android/jni/WebCoreFrameBridge.cpp
parent097dd53a62b6e981036cd640e9c51d6a3fda769e (diff)
parent0529319f6489e97cd51f1a497754c1e2a169ed41 (diff)
downloadexternal_webkit-4fe08aab7cb344ee175e2637d3c69e8d4b5dc80c.zip
external_webkit-4fe08aab7cb344ee175e2637d3c69e8d4b5dc80c.tar.gz
external_webkit-4fe08aab7cb344ee175e2637d3c69e8d4b5dc80c.tar.bz2
Merge "2nd try: Bubbles up the url that has the invalid certificate."
Diffstat (limited to 'Source/WebKit/android/jni/WebCoreFrameBridge.cpp')
-rw-r--r--Source/WebKit/android/jni/WebCoreFrameBridge.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
index cd9cdba..fb558c6 100644
--- a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -288,7 +288,7 @@ WebFrame::WebFrame(JNIEnv* env, jobject obj, jobject historyList, WebCore::Page*
mJavaFrame->mGetFile = env->GetMethodID(clazz, "getFile", "(Ljava/lang/String;[BII)I");
mJavaFrame->mDidReceiveAuthenticationChallenge = env->GetMethodID(clazz, "didReceiveAuthenticationChallenge",
"(ILjava/lang/String;Ljava/lang/String;Z)V");
- mJavaFrame->mReportSslCertError = env->GetMethodID(clazz, "reportSslCertError", "(II[B)V");
+ mJavaFrame->mReportSslCertError = env->GetMethodID(clazz, "reportSslCertError", "(II[BLjava/lang/String;)V");
mJavaFrame->mRequestClientCert = env->GetMethodID(clazz, "requestClientCert", "(I[B)V");
mJavaFrame->mDownloadStart = env->GetMethodID(clazz, "downloadStart",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V");
@@ -966,7 +966,7 @@ WebFrame::didReceiveAuthenticationChallenge(WebUrlLoaderClient* client, const st
#endif
void
-WebFrame::reportSslCertError(WebUrlLoaderClient* client, int cert_error, const std::string& cert)
+WebFrame::reportSslCertError(WebUrlLoaderClient* client, int cert_error, const std::string& cert, const std::string& url)
{
#ifdef ANDROID_INSTRUMENT
TimeCounterAuto counter(TimeCounter::JavaCallbackTimeCounter);
@@ -982,8 +982,11 @@ WebFrame::reportSslCertError(WebUrlLoaderClient* client, int cert_error, const s
jbyte* bytes = env->GetByteArrayElements(jCert, NULL);
cert.copy(reinterpret_cast<char*>(bytes), len);
- env->CallVoidMethod(javaFrame.get(), mJavaFrame->mReportSslCertError, jHandle, cert_error, jCert);
+ jstring jUrl = env->NewStringUTF(url.c_str());
+
+ env->CallVoidMethod(javaFrame.get(), mJavaFrame->mReportSslCertError, jHandle, cert_error, jCert, jUrl);
env->DeleteLocalRef(jCert);
+ env->DeleteLocalRef(jUrl);
checkException(env);
}