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

Unified Diff: content/child/web_url_loader_impl.cc

Issue 2653953005: PlzNavigate: transmit redirect info to the renderer side (Closed)
Patch Set: Rebase + addressed comments 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
« no previous file with comments | « content/child/web_url_loader_impl.h ('k') | content/common/frame_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 7ed0fab072258aca9e14479b748a46f171c55a40..454cbd7d387b02c4fedc7c46c18e83bc4befa77a 100644
--- a/content/child/web_url_loader_impl.cc
+++ b/content/child/web_url_loader_impl.cc
@@ -710,29 +710,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);
- }
- }
-
bool show_raw_listing = false;
if (info.mime_type == "text/vnd.chromium.ftp-dir") {
if (url.query_piece() == "raw") {
@@ -1191,6 +1186,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;
}
« no previous file with comments | « content/child/web_url_loader_impl.h ('k') | content/common/frame_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698