| 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 c6d7c49a4535a6d92ecca8c42f8a3db1859f72cb..6bb13ba84a73a1fe0009331388ee35975f252851 100644
|
| --- a/content/browser/devtools/render_view_devtools_agent_host.cc
|
| +++ b/content/browser/devtools/render_view_devtools_agent_host.cc
|
| @@ -141,7 +141,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(
|
| @@ -199,6 +200,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*>(
|
| @@ -216,6 +219,8 @@ void RenderViewDevToolsAgentHost::OnClientDetached() {
|
| #if defined(OS_ANDROID)
|
| power_save_blocker_.reset();
|
| #endif
|
| + UpdateNetworkState(false);
|
| +
|
| overrides_handler_->OnClientDetached();
|
| ClientDetachedFromRenderer();
|
| }
|
| @@ -381,6 +386,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)
|
| @@ -428,4 +435,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
|
|
|