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