| Index: chrome/browser/profiles/profile_impl_io_data.cc
|
| diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc
|
| index d9a694a6546ce01e7dfc22689e4bcefcccd2de4d..34bbe9a3a2991eb8d99853d6d097e53e50b110d4 100644
|
| --- a/chrome/browser/profiles/profile_impl_io_data.cc
|
| +++ b/chrome/browser/profiles/profile_impl_io_data.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/browser/profiles/profile_impl_io_data.h"
|
|
|
| +#include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/file_util.h"
|
| #include "base/logging.h"
|
| @@ -46,7 +47,8 @@ ProfileImplIOData::Handle::~Handle() {
|
| iter->second->CleanupOnUIThread();
|
| }
|
|
|
| - io_data_->ShutdownOnUIThread();
|
| + io_data_->AddRef();
|
| + io_data_.release()->ShutdownOnUIThread();
|
| }
|
|
|
| void ProfileImplIOData::Handle::Init(const FilePath& cookie_path,
|
| @@ -73,6 +75,14 @@ void ProfileImplIOData::Handle::Init(const FilePath& cookie_path,
|
| io_data_->app_path_ = app_path;
|
| }
|
|
|
| +base::Callback<ChromeURLDataManagerBackend*(void)>
|
| +ProfileImplIOData::Handle::GetChromeURLDataManagerBackendGetter() const {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + LazyInitialize();
|
| + return base::Bind(&ProfileIOData::GetChromeURLDataManagerBackend,
|
| + base::Unretained(io_data_.get()));
|
| +}
|
| +
|
| const content::ResourceContext&
|
| ProfileImplIOData::Handle::GetResourceContext() const {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|