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

Reply via email to