Index: chrome/browser/nacl_host/nacl_process_host.cc |
diff --git a/chrome/browser/nacl_host/nacl_process_host.cc b/chrome/browser/nacl_host/nacl_process_host.cc |
index 3957c5bf0f85055f93be656caf4542c5bfe4f5b1..195a2fa21a04fb8ae024b7fad746dc6500ed0704 100644 |
--- a/chrome/browser/nacl_host/nacl_process_host.cc |
+++ b/chrome/browser/nacl_host/nacl_process_host.cc |
@@ -10,6 +10,7 @@ |
#include <fcntl.h> |
#endif |
+#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/path_service.h" |
#include "base/stringprintf.h" |
@@ -56,7 +57,7 @@ NaClProcessHost::NaClProcessHost(const std::wstring& url) |
reply_msg_(NULL), |
internal_(new NaClInternal()), |
running_on_wow64_(false), |
- ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)) { |
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
set_name(WideToUTF16Hack(url)); |
#if defined(OS_WIN) |
running_on_wow64_ = (base::win::OSInfo::GetInstance()->wow64_status() == |
@@ -263,8 +264,8 @@ void NaClProcessHost::OnProcessLaunched() { |
irt_path = plugin_dir.Append(GetIrtLibraryFilename()); |
} |
- base::FileUtilProxy::CreateOrOpenCallback* callback = |
- callback_factory_.NewCallback(&NaClProcessHost::OpenIrtFileDone); |
+ base::FileUtilProxy::CreateOrOpenCallback callback = |
+ base::Bind(&NaClProcessHost::OpenIrtFileDone, weak_factory_.GetWeakPtr()); |
if (!base::FileUtilProxy::CreateOrOpen( |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE), |
irt_path, |