summaryrefslogtreecommitdiffstats
path: root/Source/WebKit
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-08-09 11:55:32 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-09 11:55:32 -0700
commit88b039f5f5e322b0fa10336696acc919e2cb08b9 (patch)
treeda30b1dda0b2ecc170895536954a42e34a9bd6fe /Source/WebKit
parenta83ebf62d5822ffe0ce4829f9c025701f2d092d6 (diff)
parentb03ba594dfb7cae54557397a2a86b0a926da4685 (diff)
downloadexternal_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')
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebRequest.cpp4
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebResourceRequest.cpp11
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp4
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebUrlLoaderClient.h2
-rw-r--r--Source/WebKit/android/jni/WebCoreFrameBridge.cpp6
-rw-r--r--Source/WebKit/android/jni/WebCoreFrameBridge.h2
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);