summaryrefslogtreecommitdiffstats
path: root/chrome/browser/nacl_host/nacl_process_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/nacl_host/nacl_process_host.cc')
-rw-r--r--chrome/browser/nacl_host/nacl_process_host.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/nacl_host/nacl_process_host.cc b/chrome/browser/nacl_host/nacl_process_host.cc
index eadffc1..db5b3b0 100644
--- a/chrome/browser/nacl_host/nacl_process_host.cc
+++ b/chrome/browser/nacl_host/nacl_process_host.cc
@@ -225,9 +225,11 @@ bool NaClProcessHost::Launch(
if (!LaunchSelLdr()) {
return false;
}
+
chrome_render_message_filter_ = chrome_render_message_filter;
- reply_msg_ = reply_msg;
+ // On success, we take responsibility for sending the reply.
+ reply_msg_ = reply_msg;
return true;
}
@@ -384,8 +386,10 @@ void NaClProcessHost::OnProcessLaunched() {
SendStart(nacl_browser->IrtFile());
} else {
// We're waiting for the IRT to be open.
- nacl_browser->MakeIrtAvailable(base::Bind(&NaClProcessHost::IrtReady,
- weak_factory_.GetWeakPtr()));
+ if (!nacl_browser->MakeIrtAvailable(
+ base::Bind(&NaClProcessHost::IrtReady,
+ weak_factory_.GetWeakPtr())))
+ delete this;
}
}