Index: chrome/browser/icon_loader.cc |
diff --git a/chrome/browser/icon_loader.cc b/chrome/browser/icon_loader.cc |
index 262bc54a12e8aea0c863edebbf6809fb332df9e4..e00c890654ba390e25a12e6732ccf065bb0cdeef 100644 |
--- a/chrome/browser/icon_loader.cc |
+++ b/chrome/browser/icon_loader.cc |
@@ -10,33 +10,35 @@ |
using content::BrowserThread; |
-IconLoader::IconLoader(const base::FilePath& file_path, |
- IconSize size, |
- Delegate* delegate) |
- : file_path_(file_path), |
- icon_size_(size), |
- delegate_(delegate) {} |
- |
-IconLoader::~IconLoader() { |
+// static |
+IconLoader* IconLoader::Create(const base::FilePath& file_path, |
+ IconSize size, |
+ IconLoadedCallback callback) { |
+ return new IconLoader(file_path, size, callback); |
} |
void IconLoader::Start() { |
target_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
- BrowserThread::PostTaskAndReply(BrowserThread::FILE, FROM_HERE, |
- base::Bind(&IconLoader::ReadGroup, this), |
- base::Bind(&IconLoader::OnReadGroup, this)); |
+ BrowserThread::PostTaskAndReply( |
+ BrowserThread::FILE, FROM_HERE, |
+ base::Bind(&IconLoader::ReadGroup, base::Unretained(this)), |
+ base::Bind(&IconLoader::OnReadGroup, base::Unretained(this))); |
} |
+IconLoader::IconLoader(const base::FilePath& file_path, |
+ IconSize size, |
+ IconLoadedCallback callback) |
+ : file_path_(file_path), icon_size_(size), callback_(callback) {} |
+ |
+IconLoader::~IconLoader() {} |
+ |
void IconLoader::ReadGroup() { |
group_ = GroupForFilepath(file_path_); |
} |
void IconLoader::OnReadGroup() { |
- BrowserThread::PostTask(ReadIconThreadID(), FROM_HERE, |
- base::Bind(&IconLoader::ReadIcon, this)); |
-} |
- |
-void IconLoader::NotifyDelegate() { |
- delegate_->OnImageLoaded(this, std::move(image_), group_); |
+ BrowserThread::PostTask( |
+ ReadIconThreadID(), FROM_HERE, |
+ base::Bind(&IconLoader::ReadIcon, base::Unretained(this))); |
} |