Fix crash when calling LoadURL/Reload from OnRenderProcessTerminated (issue #1429).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1971 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt 2015-01-13 17:38:49 +00:00
parent a76510c0bd
commit 3eabbb2e7d
2 changed files with 28 additions and 0 deletions

View File

@ -114,6 +114,12 @@ patches = [
'name': 'spellcheck_137',
'path': '../chrome/browser/spellchecker/',
},
{
# Fix crash when calling LoadURL/Reload from OnRenderProcessTerminated.
# https://code.google.com/p/chromiumembedded/issues/detail?id=1429
'name': 'render_process_host_1429',
'path': '../content/browser/renderer_host/',
},
{
# Disable scollbar bounce and overlay on OS X.
# http://code.google.com/p/chromiumembedded/issues/detail?id=364

View File

@ -0,0 +1,22 @@
diff --git render_process_host_impl.cc render_process_host_impl.cc
index 656e995..aa3e239 100644
--- render_process_host_impl.cc
+++ render_process_host_impl.cc
@@ -2047,6 +2047,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) {
#endif
RemoveUserData(kSessionStorageHolderKey);
+ mojo_application_host_.reset(new MojoApplicationHost);
+
IDMap<IPC::Listener>::iterator iter(&listeners_);
while (!iter.IsAtEnd()) {
iter.GetCurrentValue()->OnMessageReceived(
@@ -2056,8 +2058,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_)