| Index: content/browser/devtools/renderer_overrides_handler.cc
|
| diff --git a/content/browser/devtools/renderer_overrides_handler.cc b/content/browser/devtools/renderer_overrides_handler.cc
|
| index 1fd66da0607687ec7f5db3d6b05cb8ec8ac6daa1..df27ab3984bc20683a650c4779d43cfc7907f808 100644
|
| --- a/content/browser/devtools/renderer_overrides_handler.cc
|
| +++ b/content/browser/devtools/renderer_overrides_handler.cc
|
| @@ -23,6 +23,7 @@
|
| #include "content/browser/renderer_host/render_view_host_impl.h"
|
| #include "content/browser/renderer_host/render_widget_host_view_base.h"
|
| #include "content/common/view_messages.h"
|
| +#include "content/public/browser/browser_context.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/content_browser_client.h"
|
| #include "content/public/browser/devtools_agent_host.h"
|
| @@ -32,6 +33,7 @@
|
| #include "content/public/browser/render_process_host.h"
|
| #include "content/public/browser/render_view_host.h"
|
| #include "content/public/browser/render_widget_host_view.h"
|
| +#include "content/public/browser/resource_context.h"
|
| #include "content/public/browser/storage_partition.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/browser/web_contents_delegate.h"
|
| @@ -103,6 +105,11 @@ RendererOverridesHandler::RendererOverridesHandler(DevToolsAgentHost* agent)
|
| &RendererOverridesHandler::ClearBrowserCookies,
|
| base::Unretained(this)));
|
| RegisterCommandHandler(
|
| + devtools::Network::emulateNetworkConditions::kName,
|
| + base::Bind(
|
| + &RendererOverridesHandler::EmulateNetworkConditions,
|
| + base::Unretained(this)));
|
| + RegisterCommandHandler(
|
| devtools::Page::disable::kName,
|
| base::Bind(
|
| &RendererOverridesHandler::PageDisable, base::Unretained(this)));
|
| @@ -172,6 +179,7 @@ RendererOverridesHandler::~RendererOverridesHandler() {}
|
|
|
| void RendererOverridesHandler::OnClientDetached() {
|
| screencast_command_ = NULL;
|
| + UpdateNetworkState(false);
|
| }
|
|
|
| void RendererOverridesHandler::OnSwapCompositorFrame(
|
| @@ -272,6 +280,15 @@ base::DictionaryValue* RendererOverridesHandler::CreateScreenshotResponse(
|
| return response;
|
| }
|
|
|
| +void RendererOverridesHandler::UpdateNetworkState(bool offline) {
|
| + RenderViewHost* host = agent_->GetRenderViewHost();
|
| + if (!host)
|
| + return;
|
| + ResourceContext* context = host->GetSiteInstance()->GetProcess()->
|
| + GetBrowserContext()->GetResourceContext();
|
| + context->SetNetworkState(agent_->GetId(), offline);
|
| +}
|
| +
|
| // DOM agent handlers --------------------------------------------------------
|
|
|
| scoped_refptr<DevToolsProtocol::Response>
|
| @@ -314,6 +331,20 @@ RendererOverridesHandler::ClearBrowserCookies(
|
| return command->SuccessResponse(NULL);
|
| }
|
|
|
| +scoped_refptr<DevToolsProtocol::Response>
|
| +RendererOverridesHandler::EmulateNetworkConditions(
|
| + scoped_refptr<DevToolsProtocol::Command> command) {
|
| + base::DictionaryValue* params = command->params();
|
| + bool offline = false;
|
| + const char* offline_param =
|
| + devtools::Network::emulateNetworkConditions::kParamOffline;
|
| + if (!params || !params->GetBoolean(offline_param, &offline))
|
| + return command->InvalidParamResponse(offline_param);
|
| +
|
| + UpdateNetworkState(offline);
|
| + return command->SuccessResponse(NULL);
|
| +}
|
| +
|
|
|
| // Page agent handlers -------------------------------------------------------
|
|
|
|
|