| 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..ebf3bbfadd4b433a08ae1189c1eba12612b34f57 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,13 +264,12 @@ void NaClProcessHost::OnProcessLaunched() {
|
| irt_path = plugin_dir.Append(GetIrtLibraryFilename());
|
| }
|
|
|
| - base::FileUtilProxy::CreateOrOpenCallback* callback =
|
| - callback_factory_.NewCallback(&NaClProcessHost::OpenIrtFileDone);
|
| if (!base::FileUtilProxy::CreateOrOpen(
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
|
| irt_path,
|
| base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ,
|
| - callback)) {
|
| + base::Bind(&NaClProcessHost::OpenIrtFileDone,
|
| + weak_factory_.GetWeakPtr()))) {
|
| delete this;
|
| }
|
| }
|
|
|