Chromium Code Reviews| 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 1005101b27611379063734736198f196ff726df1..276c269990fb38800be33b6b20f4abdf63a4c9cc 100644 |
| --- a/content/browser/devtools/render_view_devtools_agent_host.cc |
| +++ b/content/browser/devtools/render_view_devtools_agent_host.cc |
| @@ -10,6 +10,7 @@ |
| #include "content/browser/child_process_security_policy_impl.h" |
| #include "content/browser/devtools/devtools_manager_impl.h" |
| #include "content/browser/devtools/devtools_protocol.h" |
| +#include "content/browser/devtools/devtools_protocol_constants.h" |
| #include "content/browser/devtools/renderer_overrides_handler.h" |
| #include "content/browser/renderer_host/render_process_host_impl.h" |
| #include "content/browser/renderer_host/render_view_host_impl.h" |
| @@ -48,7 +49,8 @@ static RenderViewDevToolsAgentHost* FindAgentHost(RenderViewHost* rvh) { |
| using WebKit::WebDevToolsAgent; |
| -class DevToolsAgentHostRvhObserver : public RenderViewHostObserver { |
| +class RenderViewDevToolsAgentHost::DevToolsAgentHostRvhObserver |
|
pfeldman
2013/03/21 06:30:08
Why did this change?
Vladislav Kaznacheev
2013/03/21 07:24:02
yurys asked me to do that earlier in this review (
|
| + : public RenderViewHostObserver { |
| public: |
| DevToolsAgentHostRvhObserver(RenderViewHost* rvh, |
| RenderViewDevToolsAgentHost* agent_host) |
| @@ -271,6 +273,19 @@ void RenderViewDevToolsAgentHost::AboutToNavigateRenderView( |
| ConnectRenderViewHost(dest_rvh, true); |
| } |
| +void RenderViewDevToolsAgentHost::RenderViewGone( |
| + base::TerminationStatus status) { |
| + switch(status) { |
| + case base::TERMINATION_STATUS_ABNORMAL_TERMINATION: |
| + case base::TERMINATION_STATUS_PROCESS_WAS_KILLED: |
| + case base::TERMINATION_STATUS_PROCESS_CRASHED: |
| + RenderViewCrashed(); |
| + break; |
| + default: |
| + break; |
| + } |
| +} |
| + |
| void RenderViewDevToolsAgentHost::ConnectRenderViewHost(RenderViewHost* rvh, |
| bool reattach) { |
| render_view_host_ = rvh; |
| @@ -294,6 +309,14 @@ void RenderViewDevToolsAgentHost::RenderViewHostDestroyed( |
| Release(); |
| } |
| +void RenderViewDevToolsAgentHost::RenderViewCrashed() { |
| + scoped_ptr<DevToolsProtocol::Event> event( |
| + DevToolsProtocol::CreateEvent( |
| + devtools::Inspector::targetCrashed::kName, NULL)); |
| + DevToolsManagerImpl::GetInstance()-> |
| + DispatchOnInspectorFrontend(this, event->Serialize()); |
| +} |
| + |
| bool RenderViewDevToolsAgentHost::OnRvhMessageReceived( |
| const IPC::Message& message) { |
| bool handled = true; |