Chromium Code Reviews| Index: content/browser/renderer_host/render_process_host_impl.cc |
| diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc |
| index c6ee319c3f781f8a09e389c4fa06e16d5fbb0280..46087dfacff65046afa5d9b391559fb1a50f5740 100644 |
| --- a/content/browser/renderer_host/render_process_host_impl.cc |
| +++ b/content/browser/renderer_host/render_process_host_impl.cc |
| @@ -784,7 +784,9 @@ bool RenderProcessHostImpl::Init() { |
| // at this stage. |
| child_process_launcher_.reset(new ChildProcessLauncher( |
| new RendererSandboxedProcessLauncherDelegate(channel_.get()), cmd_line, |
| - GetID(), this, child_token_)); |
| + GetID(), this, child_token_, |
| + base::Bind(&RenderProcessHostImpl::OnMojoProcessError, |
| + weak_factory_.GetWeakPtr()))); |
| fast_shutdown_started_ = false; |
| } |
| @@ -2627,6 +2629,15 @@ void RenderProcessHostImpl::OnProcessLaunchFailed(int error_code) { |
| ProcessDied(true, &details); |
| } |
| +void RenderProcessHostImpl::OnMojoProcessError(const std::string& error) { |
| + // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. Alias |
| + // enough information here so that we can determine what the bad message was. |
| + base::debug::Alias(&error); |
| + bad_message::ReceivedBadMessage(this, |
| + bad_message::RPH_MOJO_PROCESS_ERROR); |
| + LOG(ERROR) << "Killing render process process: " << error; |
|
jam
2016/06/13 18:30:39
nit: no need, since bad_message::ReceivedBadMessag
Ken Rockot(use gerrit already)
2016/06/13 22:36:40
The message logged by ReceivedBadMessage is not pa
|
| +} |
| + |
| scoped_refptr<AudioRendererHost> RenderProcessHostImpl::audio_renderer_host() |
| const { |
| return audio_renderer_host_; |