diff options
author | Ben Murdoch <benm@google.com> | 2011-08-09 11:55:32 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-09 11:55:32 -0700 |
commit | 88b039f5f5e322b0fa10336696acc919e2cb08b9 (patch) | |
tree | da30b1dda0b2ecc170895536954a42e34a9bd6fe /Source/WebKit | |
parent | a83ebf62d5822ffe0ce4829f9c025701f2d092d6 (diff) | |
parent | b03ba594dfb7cae54557397a2a86b0a926da4685 (diff) | |
download | external_webkit-88b039f5f5e322b0fa10336696acc919e2cb08b9.zip external_webkit-88b039f5f5e322b0fa10336696acc919e2cb08b9.tar.gz external_webkit-88b039f5f5e322b0fa10336696acc919e2cb08b9.tar.bz2 |
Merge "Plumb a bool through to Java to supress auth dialog."
Diffstat (limited to 'Source/WebKit')
6 files changed, 21 insertions, 8 deletions
diff --git a/Source/WebKit/android/WebCoreSupport/WebRequest.cpp b/Source/WebKit/android/WebCoreSupport/WebRequest.cpp index 85460bd..90b0939 100644 --- a/Source/WebKit/android/WebCoreSupport/WebRequest.cpp +++ b/Source/WebKit/android/WebCoreSupport/WebRequest.cpp @@ -395,8 +395,10 @@ void WebRequest::OnAuthRequired(net::URLRequest* request, net::AuthChallengeInfo bool firstTime = (m_authRequestCount == 0); ++m_authRequestCount; + bool suppressDialog = (request->load_flags() & net::LOAD_DO_NOT_PROMPT_FOR_LOGIN); + m_urlLoader->maybeCallOnMainThread(NewRunnableMethod( - m_urlLoader.get(), &WebUrlLoaderClient::authRequired, authInfoPtr, firstTime)); + m_urlLoader.get(), &WebUrlLoaderClient::authRequired, authInfoPtr, firstTime, suppressDialog)); } // Called when we received an SSL certificate error. The delegate will provide diff --git a/Source/WebKit/android/WebCoreSupport/WebResourceRequest.cpp b/Source/WebKit/android/WebCoreSupport/WebResourceRequest.cpp index 9b70fce..2ede1ca 100644 --- a/Source/WebKit/android/WebCoreSupport/WebResourceRequest.cpp +++ b/Source/WebKit/android/WebCoreSupport/WebResourceRequest.cpp @@ -62,6 +62,17 @@ WebResourceRequest::WebResourceRequest(const WebCore::ResourceRequest& resourceR } + switch (resourceRequest.targetType()) { + case ResourceRequest::TargetIsPrefetch: + m_loadFlags |= (net::LOAD_PREFETCH | net::LOAD_DO_NOT_PROMPT_FOR_LOGIN); + break; + case ResourceRequest::TargetIsFavicon: + m_loadFlags |= net::LOAD_DO_NOT_PROMPT_FOR_LOGIN; + break; + default: break; + } + + // Set the request headers const HTTPHeaderMap& map = resourceRequest.httpHeaderFields(); for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) { diff --git a/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp b/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp index 9ee0de2..56a9539 100644 --- a/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp +++ b/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp @@ -469,7 +469,7 @@ void WebUrlLoaderClient::didFinishLoading() finish(); } -void WebUrlLoaderClient::authRequired(scoped_refptr<net::AuthChallengeInfo> authChallengeInfo, bool firstTime) +void WebUrlLoaderClient::authRequired(scoped_refptr<net::AuthChallengeInfo> authChallengeInfo, bool firstTime, bool suppressDialog) { if (!isActive()) return; @@ -477,7 +477,7 @@ void WebUrlLoaderClient::authRequired(scoped_refptr<net::AuthChallengeInfo> auth std::string host = base::SysWideToUTF8(authChallengeInfo->host_and_port); std::string realm = base::SysWideToUTF8(authChallengeInfo->realm); - m_webFrame->didReceiveAuthenticationChallenge(this, host, realm, firstTime); + m_webFrame->didReceiveAuthenticationChallenge(this, host, realm, firstTime, suppressDialog); } void WebUrlLoaderClient::reportSslCertError(int cert_error, net::X509Certificate* cert) diff --git a/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.h b/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.h index dc7e8d5..5f03339 100644 --- a/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.h +++ b/Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.h @@ -90,7 +90,7 @@ public: void didFinishLoading(); void didFail(PassOwnPtr<WebResponse>); void willSendRequest(PassOwnPtr<WebResponse>); - void authRequired(scoped_refptr<net::AuthChallengeInfo>, bool firstTime); + void authRequired(scoped_refptr<net::AuthChallengeInfo>, bool firstTime, bool suppressDialog); void reportSslCertError(int cert_error, net::X509Certificate* cert); void requestClientCert(net::SSLCertRequestInfo* cert); diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp index c08e629..6a1a19f 100644 --- a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp +++ b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp @@ -287,7 +287,7 @@ WebFrame::WebFrame(JNIEnv* env, jobject obj, jobject historyList, WebCore::Page* mJavaFrame->mGetFileSize = env->GetMethodID(clazz, "getFileSize", "(Ljava/lang/String;)I"); 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"); + "(ILjava/lang/String;Ljava/lang/String;ZZ)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", @@ -967,7 +967,7 @@ WebFrame::density() const #if USE(CHROME_NETWORK_STACK) void -WebFrame::didReceiveAuthenticationChallenge(WebUrlLoaderClient* client, const std::string& host, const std::string& realm, bool useCachedCredentials) +WebFrame::didReceiveAuthenticationChallenge(WebUrlLoaderClient* client, const std::string& host, const std::string& realm, bool useCachedCredentials, bool suppressDialog) { #ifdef ANDROID_INSTRUMENT TimeCounterAuto counter(TimeCounter::JavaCallbackTimeCounter); @@ -980,7 +980,7 @@ WebFrame::didReceiveAuthenticationChallenge(WebUrlLoaderClient* client, const st jstring jHost = stdStringToJstring(env, host, true); jstring jRealm = stdStringToJstring(env, realm, true); - env->CallVoidMethod(javaFrame.get(), mJavaFrame->mDidReceiveAuthenticationChallenge, jHandle, jHost, jRealm, useCachedCredentials); + env->CallVoidMethod(javaFrame.get(), mJavaFrame->mDidReceiveAuthenticationChallenge, jHandle, jHost, jRealm, useCachedCredentials, suppressDialog); env->DeleteLocalRef(jHost); env->DeleteLocalRef(jRealm); checkException(env); diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.h b/Source/WebKit/android/jni/WebCoreFrameBridge.h index 0a8fe8b..f02c1e9 100644 --- a/Source/WebKit/android/jni/WebCoreFrameBridge.h +++ b/Source/WebKit/android/jni/WebCoreFrameBridge.h @@ -115,7 +115,7 @@ class WebFrame : public WebCoreRefObject { float density() const; - void didReceiveAuthenticationChallenge(WebUrlLoaderClient*, const std::string& host, const std::string& realm, bool useCachedCredentials); + void didReceiveAuthenticationChallenge(WebUrlLoaderClient*, const std::string& host, const std::string& realm, bool useCachedCredentials, bool suppressDialog); void reportSslCertError(WebUrlLoaderClient* client, int cert_error, const std::string& cert, const std::string& url); |