Reviewed by Alexey Proskuryakov.
Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
<https://bugs.webkit.org/show_bug.cgi?id=24088>
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
Reviewed by Alexey Proskuryakov.
+ Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
+ <https://bugs.webkit.org/show_bug.cgi?id=24088>
+
+ 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 <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
<https://bugs.webkit.org/show_bug.cgi?id=24047>
// FIXME: This needs to be fixed to follow the redirect correctly even for cross-domain requests.
if (!m_document->securityOrigin()->canRequest(request.url())) {
RefPtr<DocumentThreadableLoader> protect(this);
- m_client->didFailWillSendRequestCheck();
+ m_client->didFailRedirectCheck();
cancel();
}
}
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&) { }
m_client->didFail(error);
}
+ void didFailRedirectCheck()
+ {
+ if (m_client)
+ m_client->didFailRedirectCheck();
+ }
+
void didReceiveAuthenticationCancellation(const ResourceResponse& response)
{
if (m_client)
m_messagingProxy.postTaskToWorkerContext(createCallbackTask(&workerContextDidFail, m_workerClientWrapper, error));
}
+static void workerContextDidFailRedirectCheck(ScriptExecutionContext* context, RefPtr<ThreadableLoaderClientWrapper> 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<ThreadableLoaderClientWrapper> workerClientWrapper, auto_ptr<CrossThreadResourceResponseData> responseData)
{
ASSERT_UNUSED(context, context->isWorkerContext());
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.
networkError();
}
-void XMLHttpRequest::didFailWillSendRequestCheck()
+void XMLHttpRequest::didFailRedirectCheck()
{
internalAbort();
networkError();
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