From: levin@chromium.org Date: Mon, 23 Feb 2009 22:37:35 +0000 (+0000) Subject: 2009-02-23 David Levin X-Git-Url: http://git.webkit.org/?p=WebKit-https.git;a=commitdiff_plain;h=303b87ff6a6f9e24e3e0cbd39c62c92557037c12 2009-02-23 David Levin Reviewed by Alexey Proskuryakov. Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name. No observable change in behavior, so no test. * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::create): * loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didFailRedirectCheck): * loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): * loader/WorkerThreadableLoader.cpp: (WebCore::workerContextDidFailRedirectCheck): (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): * loader/WorkerThreadableLoader.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): * xml/XMLHttpRequest.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41157 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 4c1e1d4..30a42df 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -2,6 +2,29 @@ Reviewed by Alexey Proskuryakov. + Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name. + + + No observable change in behavior, so no test. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::create): + * loader/ThreadableLoaderClient.h: + (WebCore::ThreadableLoaderClient::didFailRedirectCheck): + * loader/ThreadableLoaderClientWrapper.h: + (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): + * loader/WorkerThreadableLoader.cpp: + (WebCore::workerContextDidFailRedirectCheck): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): + * loader/WorkerThreadableLoader.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): + * xml/XMLHttpRequest.h: + +2009-02-23 David Levin + + Reviewed by Alexey Proskuryakov. + Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode diff --git a/WebCore/loader/DocumentThreadableLoader.cpp b/WebCore/loader/DocumentThreadableLoader.cpp index 2768525..d519069 100644 --- a/WebCore/loader/DocumentThreadableLoader.cpp +++ b/WebCore/loader/DocumentThreadableLoader.cpp @@ -82,7 +82,7 @@ void DocumentThreadableLoader::willSendRequest(SubresourceLoader*, ResourceReque // FIXME: This needs to be fixed to follow the redirect correctly even for cross-domain requests. if (!m_document->securityOrigin()->canRequest(request.url())) { RefPtr protect(this); - m_client->didFailWillSendRequestCheck(); + m_client->didFailRedirectCheck(); cancel(); } } diff --git a/WebCore/loader/ThreadableLoaderClient.h b/WebCore/loader/ThreadableLoaderClient.h index f46ef25..93a8e86 100644 --- a/WebCore/loader/ThreadableLoaderClient.h +++ b/WebCore/loader/ThreadableLoaderClient.h @@ -44,7 +44,7 @@ namespace WebCore { virtual void didReceiveData(const char*, int /*lengthReceived*/) { } virtual void didFinishLoading(unsigned long /*identifier*/) { } virtual void didFail(const ResourceError&) { } - virtual void didFailWillSendRequestCheck() { } + virtual void didFailRedirectCheck() { } virtual void didReceiveAuthenticationCancellation(const ResourceResponse&) { } diff --git a/WebCore/loader/ThreadableLoaderClientWrapper.h b/WebCore/loader/ThreadableLoaderClientWrapper.h index 1b9a24a..4c6163f 100644 --- a/WebCore/loader/ThreadableLoaderClientWrapper.h +++ b/WebCore/loader/ThreadableLoaderClientWrapper.h @@ -80,6 +80,12 @@ namespace WebCore { m_client->didFail(error); } + void didFailRedirectCheck() + { + if (m_client) + m_client->didFailRedirectCheck(); + } + void didReceiveAuthenticationCancellation(const ResourceResponse& response) { if (m_client) diff --git a/WebCore/loader/WorkerThreadableLoader.cpp b/WebCore/loader/WorkerThreadableLoader.cpp index 7f0a136..8372822 100644 --- a/WebCore/loader/WorkerThreadableLoader.cpp +++ b/WebCore/loader/WorkerThreadableLoader.cpp @@ -199,6 +199,17 @@ void WorkerThreadableLoader::MainThreadBridge::didFail(const ResourceError& erro m_messagingProxy.postTaskToWorkerContext(createCallbackTask(&workerContextDidFail, m_workerClientWrapper, error)); } +static void workerContextDidFailRedirectCheck(ScriptExecutionContext* context, RefPtr workerClientWrapper) +{ + ASSERT_UNUSED(context, context->isWorkerContext()); + workerClientWrapper->didFailRedirectCheck(); +} + +void WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck() +{ + m_messagingProxy.postTaskToWorkerContext(createCallbackTask(&workerContextDidFailRedirectCheck, m_workerClientWrapper)); +} + static void workerContextDidReceiveAuthenticationCancellation(ScriptExecutionContext* context, RefPtr workerClientWrapper, auto_ptr responseData) { ASSERT_UNUSED(context, context->isWorkerContext()); diff --git a/WebCore/loader/WorkerThreadableLoader.h b/WebCore/loader/WorkerThreadableLoader.h index 5c1926d..ab6b62c 100644 --- a/WebCore/loader/WorkerThreadableLoader.h +++ b/WebCore/loader/WorkerThreadableLoader.h @@ -112,6 +112,7 @@ namespace WebCore { virtual void didReceiveData(const char*, int lengthReceived); virtual void didFinishLoading(int identifier); virtual void didFail(const ResourceError&); + virtual void didFailRedirectCheck(); virtual void didReceiveAuthenticationCancellation(const ResourceResponse&); // Only to be used on the main thread. diff --git a/WebCore/xml/XMLHttpRequest.cpp b/WebCore/xml/XMLHttpRequest.cpp index 44d1b13..aad0725 100644 --- a/WebCore/xml/XMLHttpRequest.cpp +++ b/WebCore/xml/XMLHttpRequest.cpp @@ -1168,7 +1168,7 @@ void XMLHttpRequest::didFail(const ResourceError& error) networkError(); } -void XMLHttpRequest::didFailWillSendRequestCheck() +void XMLHttpRequest::didFailRedirectCheck() { internalAbort(); networkError(); diff --git a/WebCore/xml/XMLHttpRequest.h b/WebCore/xml/XMLHttpRequest.h index 48df3d5..0882ddc 100644 --- a/WebCore/xml/XMLHttpRequest.h +++ b/WebCore/xml/XMLHttpRequest.h @@ -130,7 +130,7 @@ private: virtual void didReceiveData(const char* data, int lengthReceived); virtual void didFinishLoading(unsigned long identifier); virtual void didFail(const ResourceError&); - virtual void didFailWillSendRequestCheck(); + virtual void didFailRedirectCheck(); virtual void didReceiveAuthenticationCancellation(const ResourceResponse&); // Special versions for the preflight