Index: content/browser/loader/resource_loader.cc |
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc |
index 0339cf11c0d5ade2f2f4ebe14a64cd3da4289c3b..712c0248bebd05505a78713794c3dc4ca8de59e4 100644 |
--- a/content/browser/loader/resource_loader.cc |
+++ b/content/browser/loader/resource_loader.cc |
@@ -280,6 +280,19 @@ void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused, |
return; |
} |
+ if (info->fetch_redirect_mode() == FETCH_REDIRECT_MODE_ERROR) { |
+ Cancel(); |
+ return; |
+ } else if (info->fetch_redirect_mode() == FETCH_REDIRECT_MODE_MANUAL) { |
+ CompleteResponseStarted(); |
yhirano
2015/08/10 08:27:25
You might want to notify the upload progress. (or
horo
2015/08/10 08:57:10
Done.
Added comment.
|
+ // We don't need to read the response body because there is no way to read |
+ // the body of opaque-redirect filtered response's internal response. |
+ // TODO(horo): When we will support any API which exposes the internal body, |
+ // we have to read the body before calling ResponseCompleted(). |
+ ResponseCompleted(); |
yhirano
2015/08/10 08:27:26
What happens when deferred?
horo
2015/08/10 08:57:10
Who can set |defer|?
I think ResourceLoader::OnRec
yhirano
2015/08/10 09:02:51
|deferred_stage_| may be set in |CompleteResponseS
horo
2015/08/10 09:42:29
Ah, I see.
I think we should change deferred_stage
|
+ return; |
+ } |
+ |
delegate_->DidReceiveRedirect(this, redirect_info.new_url); |
if (delegate_->HandleExternalProtocol(this, redirect_info.new_url)) { |