diff options
author | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 07:56:39 +0000 |
---|---|---|
committer | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 07:56:39 +0000 |
commit | aa2da5a192e30c5e2c7583597e86adac4d11d14b (patch) | |
tree | fa2eb94672c2e161379ff1c357c7dece379587e7 /chrome/browser/render_process_host.cc | |
parent | eb2b2d8b73dfcbe5463f180e97a4fe841ca6e440 (diff) | |
download | chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.zip chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.tar.gz chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.tar.bz2 |
Third times a charm! This is an attempt at re-landing r408. This time the UI test is revised to give the browser a chance to notice a crashed tab.
TBR=nsylvain
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@557 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/render_process_host.cc')
-rw-r--r-- | chrome/browser/render_process_host.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/chrome/browser/render_process_host.cc b/chrome/browser/render_process_host.cc index 43ebb64..bb048ff 100644 --- a/chrome/browser/render_process_host.cc +++ b/chrome/browser/render_process_host.cc @@ -202,7 +202,7 @@ RenderProcessHost::~RenderProcessHost() { channel_.reset(); if (process_.handle() && !run_renderer_in_process_) { - MessageLoop::current()->WatchObject(process_.handle(), NULL); + watcher_.StopWatching(); ProcessWatcher::EnsureProcessTerminated(process_.handle()); } @@ -420,7 +420,7 @@ bool RenderProcessHost::Init() { process_.set_handle(process); } - MessageLoop::current()->WatchObject(process_.handle(), this); + watcher_.StartWatching(process_.handle(), this); } } @@ -576,7 +576,7 @@ void RenderProcessHost::OnChannelConnected(int32 peer_pid) { // returned by CreateProcess() has to the process object. process_.set_handle(OpenProcess(MAXIMUM_ALLOWED, FALSE, peer_pid)); DCHECK(process_.handle()); - MessageLoop::current()->WatchObject(process_.handle(), this); + watcher_.StartWatching(process_.handle(), this); } } else { // Need to verify that the peer_pid is actually the process we know, if @@ -591,8 +591,6 @@ void RenderProcessHost::OnObjectSignaled(HANDLE object) { DCHECK(channel_.get()); DCHECK_EQ(object, process_.handle()); - MessageLoop::current()->WatchObject(object, NULL); - bool clean_shutdown = !process_util::DidProcessCrash(object); process_.Close(); |