Chromium Code Reviews| Index: content/child/web_url_loader_impl.cc |
| diff --git a/content/child/web_url_loader_impl.cc b/content/child/web_url_loader_impl.cc |
| index 9bc53f51824941ddce61fa3af27d9e1b1b1edf15..59e6dc90c8c7370e1c070b432f3fe5eecdd39158 100644 |
| --- a/content/child/web_url_loader_impl.cc |
| +++ b/content/child/web_url_loader_impl.cc |
| @@ -715,29 +715,24 @@ void WebURLLoaderImpl::Context::OnReceivedResponse( |
| stream_override_->response.encoded_data_length - |
| initial_info.encoded_data_length; |
| info = stream_override_->response; |
| + |
| + // Replay the redirects that happened during navigation. |
| + DCHECK_EQ(stream_override_->redirect_responses.size(), |
| + stream_override_->redirect_infos.size()); |
| + for (size_t i = 0; i < stream_override_->redirect_responses.size(); ++i) { |
| + bool result = OnReceivedRedirect(stream_override_->redirect_infos[i], |
| + stream_override_->redirect_responses[i]); |
| + if (!result) { |
| + NOTREACHED(); |
| + return; |
| + } |
| + } |
| } |
| WebURLResponse response; |
| GURL url(request_.url()); |
| PopulateURLResponse(url, info, &response, request_.reportRawHeaders()); |
| - if (stream_override_.get()) { |
| - CHECK(IsBrowserSideNavigationEnabled()); |
| - DCHECK(stream_override_->redirect_responses.size() == |
| - stream_override_->redirects.size()); |
| - for (size_t i = 0; i < stream_override_->redirects.size(); ++i) { |
| - WebURLResponse previous_response; |
| - // TODO(arthursonzogni) Once Devtool is supported by PlzNavigate, the |
| - // |report_raw_header| argument must be checked. |
| - WebURLLoaderImpl::PopulateURLResponse( |
| - stream_override_->redirects[i], |
| - stream_override_->redirect_responses[i], |
| - &previous_response, |
| - request_.reportRawHeaders()); |
| - response.appendRedirectResponse(previous_response); |
| - } |
| - } |
|
nasko
2017/02/10 23:53:09
Just to make sure I understand, the reason we don'
clamy
2017/02/13 14:29:37
Precisely.
|
| - |
| bool show_raw_listing = false; |
| if (info.mime_type == "text/vnd.chromium.ftp-dir") { |
| if (url.query_piece() == "raw") { |
| @@ -1204,6 +1199,10 @@ WebURLRequest WebURLLoaderImpl::PopulateURLRequestForRedirect( |
| new_request.setHTTPMethod(WebString::fromUTF8(redirect_info.new_method)); |
| if (redirect_info.new_method == old_method) |
| new_request.setHTTPBody(request.httpBody()); |
| + |
| + new_request.setCheckForBrowserSideNavigation( |
| + request.checkForBrowserSideNavigation()); |
| + |
| return new_request; |
| } |