| 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..17baca0d2d446683e850e3b4f30ec3ce6b3eab0d 100644
|
| --- a/content/browser/devtools/render_view_devtools_agent_host.cc
|
| +++ b/content/browser/devtools/render_view_devtools_agent_host.cc
|
| @@ -165,7 +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(
|
| @@ -223,6 +224,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 +243,8 @@ void RenderViewDevToolsAgentHost::OnClientDetached() {
|
| #if defined(OS_ANDROID)
|
| power_save_blocker_.reset();
|
| #endif
|
| + UpdateNetworkState(false);
|
| +
|
| overrides_handler_->OnClientDetached();
|
| ClientDetachedFromRenderer();
|
| }
|
| @@ -405,6 +410,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 +459,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
|
|
|