summaryrefslogtreecommitdiffstats
path: root/chrome/browser/render_process_host.cc
diff options
context:
space:
mode:
authordarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 07:56:39 +0000
committerdarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 07:56:39 +0000
commitaa2da5a192e30c5e2c7583597e86adac4d11d14b (patch)
treefa2eb94672c2e161379ff1c357c7dece379587e7 /chrome/browser/render_process_host.cc
parenteb2b2d8b73dfcbe5463f180e97a4fe841ca6e440 (diff)
downloadchromium_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.cc8
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();