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

Side by Side Diff: content/browser/frame_host/navigation_request.cc

Issue 2739323003: DevTools protocol interception, blocking & modification of requests (Closed)
Patch Set: Add missing expects plus tweak test output of Network.interceptedRedirect for clarity Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698