Index: content/browser/devtools/render_frame_devtools_agent_host.cc |
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc |
index 6ecf9819126045718902f4bdea3a8b918ece6df6..4433e25d2e57f9ed3b971e3f899c77ee2983aaf8 100644 |
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc |
@@ -425,13 +425,25 @@ bool RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled( |
} |
// static |
-std::string RenderFrameDevToolsAgentHost::UserAgentOverride( |
- FrameTreeNode* frame_tree_node) { |
+void RenderFrameDevToolsAgentHost::ModifyRequestHeadersIfNeeded( |
+ FrameTreeNode* frame_tree_node, |
+ net::HttpRequestHeaders* headers) { |
RenderFrameDevToolsAgentHost* agent_host = GetAgentHostFor(frame_tree_node); |
if (!agent_host || !agent_host->session()) |
- return std::string(); |
- return protocol::NetworkHandler::FromSession(agent_host->session()) |
- ->UserAgentOverride(); |
+ return; |
+ protocol::NetworkHandler* network_handler = |
+ protocol::NetworkHandler::FromSession(agent_host->session()); |
+ std::string user_agent_override = network_handler->UserAgentOverride(); |
+ if (!user_agent_override.empty()) { |
+ headers->SetHeader(net::HttpRequestHeaders::kUserAgent, |
+ user_agent_override); |
+ } |
+ if (network_handler->interception_enabled()) { |
+ // Needed by DevToolsURLRequestInterceptor and will be removed by |
+ // DevToolsNetworkTransaction::Start before the request is actually sent. |
+ headers->SetHeader("X-DevTools-Emulate-Network-Conditions-Client-Id", |
+ agent_host->GetId()); |
+ } |
} |
// static |