Title: [161177] trunk/Source/WebCore
- Revision
- 161177
- Author
- [email protected]
- Date
- 2013-12-31 00:30:26 -0800 (Tue, 31 Dec 2013)
Log Message
[SOUP] Implement ResourceHandle::continueWillSendRequest()
https://bugs.webkit.org/show_bug.cgi?id=126291
Reviewed by Martin Robinson.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::continueAfterWillSendRequest): Helper function that
continues with the load after willSendRequest has been called.
(WebCore::doRedirect): Call continueAfterWillSendRequest() when
client doesn't use async callbacks.
(WebCore::ResourceHandle::continueWillSendRequest): Call
continueAfterWillSendRequest().
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (161176 => 161177)
--- trunk/Source/WebCore/ChangeLog 2013-12-31 08:28:17 UTC (rev 161176)
+++ trunk/Source/WebCore/ChangeLog 2013-12-31 08:30:26 UTC (rev 161177)
@@ -1,3 +1,18 @@
+2013-12-31 Carlos Garcia Campos <[email protected]>
+
+ [SOUP] Implement ResourceHandle::continueWillSendRequest()
+ https://bugs.webkit.org/show_bug.cgi?id=126291
+
+ Reviewed by Martin Robinson.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::continueAfterWillSendRequest): Helper function that
+ continues with the load after willSendRequest has been called.
+ (WebCore::doRedirect): Call continueAfterWillSendRequest() when
+ client doesn't use async callbacks.
+ (WebCore::ResourceHandle::continueWillSendRequest): Call
+ continueAfterWillSendRequest().
+
2013-12-30 Carlos Garcia Campos <[email protected]>
[SOUP] willSendRequest doesn't work after a redirect
Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (161176 => 161177)
--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2013-12-31 08:28:17 UTC (rev 161176)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2013-12-31 08:30:26 UTC (rev 161177)
@@ -455,6 +455,20 @@
return false;
}
+static void continueAfterWillSendRequest(ResourceHandle* handle, const ResourceRequest& newRequest)
+{
+ // willSendRequest might cancel the load.
+ if (handle->cancelledOrClientless())
+ return;
+
+ if (!createSoupRequestAndMessageForHandle(handle, newRequest, true)) {
+ handle->getInternal()->client()->cannotShowURL(handle);
+ return;
+ }
+
+ handle->sendPendingRequest();
+}
+
static void doRedirect(ResourceHandle* handle)
{
ResourceHandleInternal* d = handle->getInternal();
@@ -506,23 +520,15 @@
// the WebKit layer. They were only placed in the URL for the benefit of libsoup.
newRequest.removeCredentials();
+ cleanupSoupRequestOperation(handle);
+
if (d->client()->usesAsyncCallbacks())
d->client()->willSendRequestAsync(handle, newRequest, d->m_response);
- else
+ else {
d->client()->willSendRequest(handle, newRequest, d->m_response);
-
- cleanupSoupRequestOperation(handle);
-
- // willSendRequest might cancel the load.
- if (handle->cancelledOrClientless())
- return;
-
- if (!createSoupRequestAndMessageForHandle(handle, newRequest, true)) {
- d->client()->cannotShowURL(handle);
- return;
+ continueAfterWillSendRequest(handle, newRequest);
}
- handle->sendPendingRequest();
}
static void redirectSkipCallback(GObject*, GAsyncResult* asyncResult, gpointer data)
@@ -1392,7 +1398,7 @@
{
ASSERT(client());
ASSERT(client()->usesAsyncCallbacks());
- // FIXME: Implement this method if needed: https://bugs.webkit.org/show_bug.cgi?id=126114.
+ continueAfterWillSendRequest(this, request);
}
void ResourceHandle::continueDidReceiveResponse()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes