| 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
 | 
| 
 |