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 b01aa7909611c273e044a11901bb06f6477f7934..8303929558f815a15262872e37998fed0ce7c21c 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -2075,10 +2075,6 @@ 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( |
@@ -2088,6 +2084,8 @@ 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_) |