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

Unified Diff: content/child/web_url_loader_impl.cc

Issue 2653953005: PlzNavigate: transmit redirect info to the renderer side (Closed)
Patch Set: PlzNavigate: transmit redirect info to the renderer side Created 3 years, 10 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: 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;
}

Powered by Google App Engine
This is Rietveld 408576698