Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2458)

Unified Diff: chrome/browser/ui/webui/extensions/extension_icon_source.cc

Issue 11027044: Add a class to replace ImageLoadingTracker with a nicer API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix include order Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698