OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/frame_host/navigation_request.h" | 5 #include "content/browser/frame_host/navigation_request.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "content/browser/appcache/appcache_navigation_handle.h" | 10 #include "content/browser/appcache/appcache_navigation_handle.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 headers->RemoveHeader("Save-Data"); | 143 headers->RemoveHeader("Save-Data"); |
144 | 144 |
145 if (GetContentClient()->browser()->IsDataSaverEnabled(browser_context)) | 145 if (GetContentClient()->browser()->IsDataSaverEnabled(browser_context)) |
146 headers->SetHeaderIfMissing("Save-Data", "on"); | 146 headers->SetHeaderIfMissing("Save-Data", "on"); |
147 | 147 |
148 headers->SetHeaderIfMissing(net::HttpRequestHeaders::kUserAgent, | 148 headers->SetHeaderIfMissing(net::HttpRequestHeaders::kUserAgent, |
149 user_agent_override.empty() | 149 user_agent_override.empty() |
150 ? GetContentClient()->GetUserAgent() | 150 ? GetContentClient()->GetUserAgent() |
151 : user_agent_override); | 151 : user_agent_override); |
152 | 152 |
153 // Check whether DevTools wants to override user agent for this request | 153 // Let DevTools modify the headers (e.g. UserAgent) if required. |
154 // after setting the default user agent. | 154 RenderFrameDevToolsAgentHost::ModifyRequestHeadersIfNeeded(frame_tree_node, |
155 std::string devtools_user_agent = | 155 headers); |
156 RenderFrameDevToolsAgentHost::UserAgentOverride(frame_tree_node); | |
157 if (!devtools_user_agent.empty()) { | |
158 headers->SetHeader(net::HttpRequestHeaders::kUserAgent, | |
159 devtools_user_agent); | |
160 } | |
161 | 156 |
162 // Tack an 'Upgrade-Insecure-Requests' header to outgoing navigational | 157 // Tack an 'Upgrade-Insecure-Requests' header to outgoing navigational |
163 // requests, as described in | 158 // requests, as described in |
164 // https://w3c.github.io/webappsec/specs/upgrade/#feature-detect | 159 // https://w3c.github.io/webappsec/specs/upgrade/#feature-detect |
165 headers->AddHeaderFromString("Upgrade-Insecure-Requests: 1"); | 160 headers->AddHeaderFromString("Upgrade-Insecure-Requests: 1"); |
166 | 161 |
167 // Next, set the HTTP Origin if needed. | 162 // Next, set the HTTP Origin if needed. |
168 if (!NeedsHTTPOrigin(headers, method)) | 163 if (!NeedsHTTPOrigin(headers, method)) |
169 return; | 164 return; |
170 | 165 |
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 DCHECK_EQ(request_params_.has_user_gesture, begin_params_.has_user_gesture); | 818 DCHECK_EQ(request_params_.has_user_gesture, begin_params_.has_user_gesture); |
824 | 819 |
825 render_frame_host->CommitNavigation(response_.get(), std::move(body_), | 820 render_frame_host->CommitNavigation(response_.get(), std::move(body_), |
826 common_params_, request_params_, | 821 common_params_, request_params_, |
827 is_view_source_); | 822 is_view_source_); |
828 | 823 |
829 frame_tree_node_->ResetNavigationRequest(true); | 824 frame_tree_node_->ResetNavigationRequest(true); |
830 } | 825 } |
831 | 826 |
832 } // namespace content | 827 } // namespace content |
OLD | NEW |