Chromium Code Reviews| Index: content/browser/devtools/devtools_agent_host_impl.cc |
| diff --git a/content/browser/devtools/devtools_agent_host_impl.cc b/content/browser/devtools/devtools_agent_host_impl.cc |
| index cfe65e59cd2c4e577489f9f985714c9c7167cec3..4d935519c07e0fa2ee919e11ee9ec83bf5e751c8 100644 |
| --- a/content/browser/devtools/devtools_agent_host_impl.cc |
| +++ b/content/browser/devtools/devtools_agent_host_impl.cc |
| @@ -108,7 +108,7 @@ void DevToolsAgentHostImpl::AttachClient(DevToolsAgentHostClient* client) { |
| scoped_refptr<DevToolsAgentHostImpl> protect(this); |
| if (client_) { |
| client_->AgentHostClosed(this, true); |
| - Detach(); |
| + InnerDetach(); |
| } |
| client_ = client; |
| Attach(); |
| @@ -120,7 +120,12 @@ void DevToolsAgentHostImpl::DetachClient() { |
| scoped_refptr<DevToolsAgentHostImpl> protect(this); |
| client_ = NULL; |
| + InnerDetach(); |
| +} |
| + |
| +void DevToolsAgentHostImpl::InnerDetach() { |
| Detach(); |
| + io_context_.DiscardAllStreams(); |
|
pfeldman
2015/08/25 20:53:41
You could kill your object here.
|
| } |
| bool DevToolsAgentHostImpl::IsAttached() { |
| @@ -181,7 +186,7 @@ void DevToolsAgentHost::DetachAllClients() { |
| DevToolsAgentHostClient* client = agent_host->client_; |
| agent_host->client_ = NULL; |
| client->AgentHostClosed(agent_host, true); |
| - agent_host->Detach(); |
| + agent_host->InnerDetach(); |
| } |
| } |
| } |