Index: content/browser/devtools/render_view_devtools_agent_host.cc |
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc |
index c9d8634466364dbfa2ca3a8cc288c9a1893df0aa..7727399d42c471c61ecca37cfdca6f162061d067 100644 |
--- a/content/browser/devtools/render_view_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc |
@@ -165,8 +165,8 @@ RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost( |
: render_view_host_(NULL), |
overrides_handler_(new RendererOverridesHandler(this)), |
tracing_handler_(new DevToolsTracingHandler()), |
- power_handler_(new DevToolsPowerHandler()) |
- { |
+ power_handler_(new DevToolsPowerHandler()), |
+ network_disabled_(false) { |
SetRenderViewHost(rvh); |
DevToolsProtocol::Notifier notifier(base::Bind( |
&RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend, |
@@ -223,6 +223,8 @@ void RenderViewDevToolsAgentHost::OnClientAttached() { |
// extensions::ProcessManager no longer relies on this notification. |
DevToolsManagerImpl::GetInstance()->NotifyObservers(this, true); |
+ UpdateNetworkState(network_disabled_); |
+ |
#if defined(OS_ANDROID) |
power_save_blocker_.reset( |
static_cast<PowerSaveBlockerImpl*>( |
@@ -240,6 +242,8 @@ void RenderViewDevToolsAgentHost::OnClientDetached() { |
#if defined(OS_ANDROID) |
power_save_blocker_.reset(); |
#endif |
+ UpdateNetworkState(false); |
+ |
overrides_handler_->OnClientDetached(); |
ClientDetachedFromRenderer(); |
} |
@@ -405,6 +409,8 @@ bool RenderViewDevToolsAgentHost::DispatchIPCMessage( |
IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCache, OnClearBrowserCache) |
IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCookies, |
OnClearBrowserCookies) |
+ IPC_MESSAGE_HANDLER(DevToolsHostMsg_DisableNetwork, |
+ OnDisableNetwork) |
IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame, |
handled = false; OnSwapCompositorFrame(msg)) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -452,4 +458,17 @@ void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { |
GetContentClient()->browser()->ClearCookies(render_view_host_); |
} |
+void RenderViewDevToolsAgentHost::UpdateNetworkState(bool disable_network) { |
+ if (render_view_host_) { |
+ GetContentClient()->browser()->DisableNetwork( |
+ render_view_host_, GetId(), disable_network); |
+ } |
+} |
+ |
+void RenderViewDevToolsAgentHost::OnDisableNetwork( |
+ bool disable_network) { |
+ network_disabled_ = disable_network; |
+ UpdateNetworkState(disable_network); |
+} |
+ |
} // namespace content |