Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Unified Diff: third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp

Issue 2230173002: Change WebURLLoaderClient::willFollowRedirect() API to return bool (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
diff --git a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
index cbe22b3d8466f6b2a84f33e83bacdc133b69c9c3..9e8a6e692f60c89786906e092978736d38de9b23 100644
--- a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
+++ b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
@@ -415,7 +415,7 @@ void DocumentThreadableLoader::clear()
// RawResource::didAddClient(), clearing |request| won't be propagated
// to content::WebURLLoaderImpl. So, this loader must also get detached from
// the resource by calling clearResource().
-void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequest& request, const ResourceResponse& redirectResponse)
+bool DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequest& request, const ResourceResponse& redirectResponse)
{
DCHECK(m_client);
DCHECK_EQ(resource, this->resource());
@@ -428,9 +428,7 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
handlePreflightFailure(redirectResponse.url().getString(), "Response for preflight is invalid (redirect)");
- request = ResourceRequest();
-
- return;
+ return false;
}
if (m_redirectMode == WebURLRequest::FetchRedirectModeManual) {
@@ -451,8 +449,7 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
responseReceived(resource, redirectResponse, wrapUnique(new EmptyDataHandle()));
if (!self) {
- request = ResourceRequest();
- return;
+ return false;
}
if (m_client) {
@@ -460,9 +457,7 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
notifyFinished(resource);
}
- request = ResourceRequest();
-
- return;
+ return false;
}
if (m_redirectMode == WebURLRequest::FetchRedirectModeError) {
@@ -470,24 +465,21 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
clear();
client->didFailRedirectCheck();
- request = ResourceRequest();
-
- return;
+ return false;
}
// Allow same origin requests to continue after allowing clients to audit the redirect.
if (isAllowedRedirect(request.url())) {
if (m_client->isDocumentThreadableLoaderClient())
- static_cast<DocumentThreadableLoaderClient*>(m_client)->willFollowRedirect(request, redirectResponse);
- return;
+ return static_cast<DocumentThreadableLoaderClient*>(m_client)->willFollowRedirect(request, redirectResponse);
+ return true;
}
if (m_corsRedirectLimit <= 0) {
ThreadableLoaderClient* client = m_client;
clear();
client->didFailRedirectCheck();
- request = ResourceRequest();
- return;
+ return false;
}
--m_corsRedirectLimit;
@@ -515,8 +507,7 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
ThreadableLoaderClient* client = m_client;
clear();
client->didFailAccessControlCheck(ResourceError(errorDomainBlinkInternal, 0, redirectResponse.url().getString(), accessControlErrorDescription));
- request = ResourceRequest();
- return;
+ return false;
}
// FIXME: consider combining this with CORS redirect handling performed by
@@ -553,6 +544,8 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
request.setHTTPHeaderField(header.key, header.value);
makeCrossOriginAccessRequest(request);
// |this| may be dead here.
+
+ return true;
}
void DocumentThreadableLoader::redirectBlocked()

Powered by Google App Engine
This is Rietveld 408576698