| Index: chrome/browser/ui/webui/extensions/extension_icon_source.cc
|
| diff --git a/chrome/browser/ui/webui/extensions/extension_icon_source.cc b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
|
| index d2704717047cfd7f36b806e08e73eb91c6adcfeb..78f360dd60a0618afe330f7d4403de5cc26c068d 100644
|
| --- a/chrome/browser/ui/webui/extensions/extension_icon_source.cc
|
| +++ b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/threading/thread.h"
|
| #include "chrome/browser/extensions/extension_prefs.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/image_loader.h"
|
| #include "chrome/browser/favicon/favicon_service_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/common/extensions/extension.h"
|
| @@ -57,9 +58,7 @@ SkBitmap* ToBitmap(const unsigned char* data, size_t size) {
|
|
|
| ExtensionIconSource::ExtensionIconSource(Profile* profile)
|
| : DataSource(chrome::kChromeUIExtensionIconHost, MessageLoop::current()),
|
| - profile_(profile),
|
| - next_tracker_id_(0) {
|
| - tracker_.reset(new ImageLoadingTracker(this));
|
| + profile_(profile) {
|
| }
|
|
|
| struct ExtensionIconSource::ExtensionIconRequest {
|
| @@ -188,11 +187,10 @@ void ExtensionIconSource::LoadDefaultImage(int request_id) {
|
| void ExtensionIconSource::LoadExtensionImage(const ExtensionResource& icon,
|
| int request_id) {
|
| ExtensionIconRequest* request = GetData(request_id);
|
| - tracker_map_[next_tracker_id_++] = request_id;
|
| - tracker_->LoadImage(request->extension,
|
| - icon,
|
| - gfx::Size(request->size, request->size),
|
| - ImageLoadingTracker::DONT_CACHE);
|
| + extensions::ImageLoader::Get(profile_)->LoadImageAsync(
|
| + request->extension, icon,
|
| + gfx::Size(request->size, request->size),
|
| + base::Bind(&ExtensionIconSource::OnImageLoaded, this, request_id));
|
| }
|
|
|
| void ExtensionIconSource::LoadFaviconImage(int request_id) {
|
| @@ -243,12 +241,8 @@ void ExtensionIconSource::OnFaviconDataAvailable(
|
| }
|
| }
|
|
|
| -void ExtensionIconSource::OnImageLoaded(const gfx::Image& image,
|
| - const std::string& extension_id,
|
| - int index) {
|
| - int request_id = tracker_map_[index];
|
| - tracker_map_.erase(tracker_map_.find(index));
|
| -
|
| +void ExtensionIconSource::OnImageLoaded(int request_id,
|
| + const gfx::Image& image) {
|
| if (image.IsEmpty())
|
| LoadIconFailed(request_id);
|
| else
|
|
|