| 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 37e8b336ffba2f0d5bf32283e09a099e1cea4372..04044f3320a3660a1ab51c0c3dca466dcaef5035 100644
|
| --- a/content/browser/renderer_host/render_process_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_process_host_impl.cc
|
| @@ -2049,6 +2049,10 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) {
|
| #endif
|
| RemoveUserData(kSessionStorageHolderKey);
|
|
|
| + // RenderProcessGone handlers might navigate or perform other actions that
|
| + // require a connection. Ensure that there is one before calling them.
|
| + mojo_application_host_.reset(new MojoApplicationHost);
|
| +
|
| IDMap<IPC::Listener>::iterator iter(&listeners_);
|
| while (!iter.IsAtEnd()) {
|
| iter.GetCurrentValue()->OnMessageReceived(
|
| @@ -2058,8 +2062,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) {
|
| iter.Advance();
|
| }
|
|
|
| - mojo_application_host_.reset(new MojoApplicationHost);
|
| -
|
| // It's possible that one of the calls out to the observers might have caused
|
| // this object to be no longer needed.
|
| if (delayed_cleanup_needed_)
|
|
|