diff options
Diffstat (limited to 'chrome/browser/nacl_host/nacl_process_host.cc')
-rw-r--r-- | chrome/browser/nacl_host/nacl_process_host.cc | 10 |
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; } } |