summaryrefslogtreecommitdiffstats
path: root/WebKit/win/WebDownloadCFNet.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-08-11 17:01:47 +0100
committerBen Murdoch <benm@google.com>2009-08-11 18:21:02 +0100
commit0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5 (patch)
tree2943df35f62d885c89d01063cc528dd73b480fea /WebKit/win/WebDownloadCFNet.cpp
parent7e7a70bfa49a1122b2597a1e6367d89eb4035eca (diff)
downloadexternal_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.zip
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.gz
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.bz2
Merge in WebKit r47029.
Diffstat (limited to 'WebKit/win/WebDownloadCFNet.cpp')
-rw-r--r--WebKit/win/WebDownloadCFNet.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/WebKit/win/WebDownloadCFNet.cpp b/WebKit/win/WebDownloadCFNet.cpp
index 12fd15b..0df738e 100644
--- a/WebKit/win/WebDownloadCFNet.cpp
+++ b/WebKit/win/WebDownloadCFNet.cpp
@@ -47,7 +47,6 @@
#pragma warning(push, 0)
#include <WebCore/AuthenticationCF.h>
#include <WebCore/BString.h>
-#include <WebCore/NotImplemented.h>
#include <WebCore/ResourceError.h>
#include <WebCore/ResourceHandle.h>
#include <WebCore/ResourceRequest.h>
@@ -380,6 +379,15 @@ CFURLRequestRef WebDownload::willSendRequest(CFURLRequestRef request, CFURLRespo
void WebDownload::didReceiveAuthenticationChallenge(CFURLAuthChallengeRef challenge)
{
+ // Try previously stored credential first.
+ if (!CFURLAuthChallengeGetPreviousFailureCount(challenge)) {
+ CFURLCredentialRef credential = WebCoreCredentialStorage::get(CFURLAuthChallengeGetProtectionSpace(challenge));
+ if (credential) {
+ CFURLDownloadUseCredential(m_download.get(), credential, challenge);
+ return;
+ }
+ }
+
COMPtr<IWebURLAuthenticationChallenge> webChallenge(AdoptCOM,
WebURLAuthenticationChallenge::createInstance(AuthenticationChallenge(challenge, 0), this));