Chromium Code Reviews| Index: content/browser/frame_host/navigation_request.cc |
| diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc |
| index 0fa8adf29875200f0874ae8ff90e031f309a41ae..107fb9f3e344c2b6a4592370f9377c244420e832 100644 |
| --- a/content/browser/frame_host/navigation_request.cc |
| +++ b/content/browser/frame_host/navigation_request.cc |
| @@ -284,7 +284,8 @@ void NavigationRequest::OnRequestStarted(base::TimeTicks timestamp) { |
| } |
| void NavigationRequest::OnStartChecksComplete( |
| - NavigationThrottle::ThrottleCheckResult result) { |
| + NavigationThrottle::ThrottleCheckResult result, |
| + const NavigationHandleImpl::ExtraHeadersList& extra_headers_list) { |
| CHECK(result != NavigationThrottle::DEFER); |
| // Abort the request if needed. This will destroy the NavigationRequest. |
| @@ -295,13 +296,22 @@ void NavigationRequest::OnStartChecksComplete( |
| return; |
| } |
| + // Add extra headers to the request before sending it to the network stack. |
| + net::HttpRequestHeaders headers; |
| + headers.AddHeadersFromString(begin_params_.headers); |
| + for (std::pair<std::string, std::string> header : extra_headers_list) |
|
nasko
2015/11/06 23:51:51
Why not use auto? for (const auto& header : extra_
clamy
2015/11/09 15:47:09
Done. That's what I did in other places, but appar
|
| + headers.SetHeader(header.first, header.second); |
| + begin_params_.headers = headers.ToString(); |
| + info_->begin_params.headers = headers.ToString(); |
| + |
| loader_ = NavigationURLLoader::Create( |
| frame_tree_node_->navigator()->GetController()->GetBrowserContext(), |
| info_.Pass(), navigation_handle_->service_worker_handle(), this); |
| } |
| void NavigationRequest::OnRedirectChecksComplete( |
| - NavigationThrottle::ThrottleCheckResult result) { |
| + NavigationThrottle::ThrottleCheckResult result, |
| + const NavigationHandleImpl::ExtraHeadersList& extra_headers_list) { |
| CHECK(result != NavigationThrottle::DEFER); |
| // Abort the request if needed. This will destroy the NavigationRequest. |
| @@ -312,7 +322,7 @@ void NavigationRequest::OnRedirectChecksComplete( |
| return; |
| } |
| - loader_->FollowRedirect(); |
| + loader_->FollowRedirect(extra_headers_list); |
| navigation_handle_->DidRedirectNavigation(common_params_.url); |
| } |