Index: third_party/WebKit/Source/core/loader/PingLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/PingLoader.cpp b/third_party/WebKit/Source/core/loader/PingLoader.cpp |
index eda58be918b50d7320748d833e0cc1b2af001d46..3db5343cfd0b82e7c41b83461d956e1abd48c42b 100644 |
--- a/third_party/WebKit/Source/core/loader/PingLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/PingLoader.cpp |
@@ -213,7 +213,7 @@ private: |
void dispose(); |
// WebURLLoaderClient |
- void willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse&, int64_t encodedDataLength) override; |
+ bool willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse&, int64_t encodedDataLength) override; |
void didReceiveResponse(WebURLLoader*, const WebURLResponse&) final; |
void didReceiveData(WebURLLoader*, const char*, int, int, int) final; |
void didFinishLoading(WebURLLoader*, double, int64_t) final; |
@@ -290,16 +290,16 @@ void PingLoaderImpl::dispose() |
m_keepAlive.clear(); |
} |
-void PingLoaderImpl::willFollowRedirect(WebURLLoader*, WebURLRequest& passedNewRequest, const WebURLResponse& passedRedirectResponse, int64_t encodedDataLength) |
+bool PingLoaderImpl::willFollowRedirect(WebURLLoader*, WebURLRequest& passedNewRequest, const WebURLResponse& passedRedirectResponse, int64_t encodedDataLength) |
{ |
if (!m_isBeacon) |
- return; |
+ return true; |
// TODO(tyoshino): Check if setAllowStoredCredentials() should be called |
// also for non beacon cases. |
passedNewRequest.setAllowStoredCredentials(true); |
if (m_corsMode == NotCORSEnabled) |
- return; |
+ return true; |
ResourceRequest& newRequest(passedNewRequest.toMutableResourceRequest()); |
const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceResponse()); |
@@ -318,12 +318,13 @@ void PingLoaderImpl::willFollowRedirect(WebURLLoader*, WebURLRequest& passedNewR |
} |
// Cancel the load and self destruct. |
dispose(); |
- // Signal WebURLLoader that the redirect musn't be followed. |
- passedNewRequest = WebURLRequest(); |
- return; |
+ |
+ return false; |
} |
// FIXME: http://crbug.com/427429 is needed to correctly propagate |
// updates of Origin: following this successful redirect. |
+ |
+ return true; |
} |