Title: [194043] trunk/Source/WebKit2
Revision
194043
Author
[email protected]
Date
2015-12-14 11:45:07 -0800 (Mon, 14 Dec 2015)

Log Message

Use existing code for redirects when using NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=152207
rdar://problem/23860624

Reviewed by Darin Adler.
        
This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::convertTaskToDownload):
(WebKit::NetworkLoad::willPerformHTTPRedirection):
(WebKit::NetworkLoad::didReceiveChallenge):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkSession.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (194042 => 194043)


--- trunk/Source/WebKit2/ChangeLog	2015-12-14 19:44:56 UTC (rev 194042)
+++ trunk/Source/WebKit2/ChangeLog	2015-12-14 19:45:07 UTC (rev 194043)
@@ -1,3 +1,21 @@
+2015-12-12  Alex Christensen  <[email protected]>
+
+        Use existing code for redirects when using NETWORK_SESSION
+        https://bugs.webkit.org/show_bug.cgi?id=152207
+        rdar://problem/23860624
+
+        Reviewed by Darin Adler.
+        
+        This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::continueWillSendRequest):
+        (WebKit::NetworkLoad::convertTaskToDownload):
+        (WebKit::NetworkLoad::willPerformHTTPRedirection):
+        (WebKit::NetworkLoad::didReceiveChallenge):
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkSession.h:
+
 2015-12-13  Tim Horton  <[email protected]>
 
         Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp (194042 => 194043)


--- trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp	2015-12-14 19:44:56 UTC (rev 194042)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp	2015-12-14 19:45:07 UTC (rev 194043)
@@ -104,8 +104,8 @@
 
     if (m_currentRequest.isNull()) {
 #if USE(NETWORK_SESSION)
-        // FIXME: Do something here.
-        notImplemented();
+        m_task->cancel();
+        m_client.didFailLoading(cancelledError(m_currentRequest));
 #else
         m_handle->cancel();
         didFail(m_handle.get(), cancelledError(m_currentRequest));
@@ -114,8 +114,9 @@
     }
 
 #if USE(NETWORK_SESSION)
-    // FIXME: Do something here.
-    notImplemented();
+    ASSERT(m_redirectCompletionHandler);
+    m_redirectCompletionHandler(newRequest);
+    m_redirectCompletionHandler = nullptr;
 #else
     m_handle->continueWillSendRequest(m_currentRequest);
 #endif
@@ -161,10 +162,11 @@
     m_responseCompletionHandler = nullptr;
 }
 
-void NetworkLoad::willPerformHTTPRedirection(const ResourceResponse& response, const ResourceRequest& request, std::function<void(const ResourceRequest&)> completionHandler)
+void NetworkLoad::willPerformHTTPRedirection(const ResourceResponse& response, const ResourceRequest& request, RedirectCompletionHandler completionHandler)
 {
+    ASSERT(!m_redirectCompletionHandler);
+    m_redirectCompletionHandler = completionHandler;
     sharedWillSendRedirectedRequest(request, response);
-    completionHandler(request);
 }
 
 void NetworkLoad::didReceiveChallenge(const AuthenticationChallenge& challenge, std::function<void(AuthenticationChallengeDisposition, const Credential&)> completionHandler)

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h (194042 => 194043)


--- trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h	2015-12-14 19:44:56 UTC (rev 194042)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h	2015-12-14 19:45:07 UTC (rev 194043)
@@ -122,6 +122,7 @@
     WebCore::AuthenticationChallenge m_challenge;
     ChallengeCompletionHandler m_challengeCompletionHandler;
     ResponseCompletionHandler m_responseCompletionHandler;
+    RedirectCompletionHandler m_redirectCompletionHandler;
 #else
     RefPtr<WebCore::ResourceHandle> m_handle;
 #endif

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkSession.h (194042 => 194043)


--- trunk/Source/WebKit2/NetworkProcess/NetworkSession.h	2015-12-14 19:44:56 UTC (rev 194042)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkSession.h	2015-12-14 19:45:07 UTC (rev 194043)
@@ -61,7 +61,8 @@
 
 class NetworkSessionTaskClient {
 public:
-    virtual void willPerformHTTPRedirection(const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, std::function<void(const WebCore::ResourceRequest&)>) = 0;
+    typedef std::function<void(const WebCore::ResourceRequest&)> RedirectCompletionHandler;
+    virtual void willPerformHTTPRedirection(const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, RedirectCompletionHandler) = 0;
     typedef std::function<void(AuthenticationChallengeDisposition, const WebCore::Credential&)> ChallengeCompletionHandler;
     virtual void didReceiveChallenge(const WebCore::AuthenticationChallenge&, ChallengeCompletionHandler) = 0;
     typedef std::function<void(WebCore::PolicyAction)> ResponseCompletionHandler;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to