From fd1365ed14367fb8af3b0ba958f268b1e9491e6e Mon Sep 17 00:00:00 2001 From: Selim Gurun Date: Wed, 29 Aug 2012 10:21:24 -0700 Subject: Provide referer when download requested Bug: 6662557 Provide the plumbing for passing referer for downloads. Change-Id: Ia4af34632be5e5df44b7d19501db1b589c45cddf --- Source/WebKit/android/jni/WebCoreFrameBridge.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Source/WebKit/android/jni/WebCoreFrameBridge.cpp') diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp index 39ae07e..61ffd29 100644 --- a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp +++ b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp @@ -273,7 +273,7 @@ WebFrame::WebFrame(JNIEnv* env, jobject obj, jobject historyList, WebCore::Page* mJavaFrame->mReportSslCertError = env->GetMethodID(clazz, "reportSslCertError", "(II[BLjava/lang/String;)V"); mJavaFrame->mRequestClientCert = env->GetMethodID(clazz, "requestClientCert", "(ILjava/lang/String;)V"); mJavaFrame->mDownloadStart = env->GetMethodID(clazz, "downloadStart", - "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V"); + "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V"); mJavaFrame->mDidReceiveData = env->GetMethodID(clazz, "didReceiveData", "([BI)V"); mJavaFrame->mDidFinishLoading = env->GetMethodID(clazz, "didFinishLoading", "()V"); mJavaFrame->mSetCertificate = env->GetMethodID(clazz, "setCertificate", "([B)V"); @@ -836,7 +836,7 @@ WebFrame::requestClientCert(WebUrlLoaderClient* client, const std::string& hostA } void -WebFrame::downloadStart(const std::string& url, const std::string& userAgent, const std::string& contentDisposition, const std::string& mimetype, long long contentLength) +WebFrame::downloadStart(const std::string& url, const std::string& userAgent, const std::string& contentDisposition, const std::string& mimetype, const std::string& referer, long long contentLength) { JNIEnv* env = getJNIEnv(); AutoJObject javaFrame = mJavaFrame->frame(env); @@ -846,13 +846,15 @@ WebFrame::downloadStart(const std::string& url, const std::string& userAgent, co jstring jUserAgent = stdStringToJstring(env, userAgent, true); jstring jContentDisposition = stdStringToJstring(env, contentDisposition, true); jstring jMimetype = stdStringToJstring(env, mimetype, true); + jstring jReferer = stdStringToJstring(env, referer, true); - env->CallVoidMethod(javaFrame.get(), mJavaFrame->mDownloadStart, jUrl, jUserAgent, jContentDisposition, jMimetype, contentLength); + env->CallVoidMethod(javaFrame.get(), mJavaFrame->mDownloadStart, jUrl, jUserAgent, jContentDisposition, jMimetype, jReferer, contentLength); env->DeleteLocalRef(jUrl); env->DeleteLocalRef(jUserAgent); env->DeleteLocalRef(jContentDisposition); env->DeleteLocalRef(jMimetype); + env->DeleteLocalRef(jReferer); checkException(env); } -- cgit v1.1