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

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

Issue 11885021: Don't derive from ChromeURLDataManager::DataSource, and instead have these classes implement a dele… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: nits Created 7 years, 11 months 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
===================================================================
--- chrome/browser/ui/webui/extensions/extension_icon_source.cc (revision 176443)
+++ chrome/browser/ui/webui/extensions/extension_icon_source.cc (working copy)
@@ -19,6 +19,7 @@
#include "chrome/browser/extensions/image_loader.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_resource.h"
@@ -58,8 +59,7 @@
} // namespace
ExtensionIconSource::ExtensionIconSource(Profile* profile)
- : DataSource(chrome::kChromeUIExtensionIconHost, MessageLoop::current()),
- profile_(profile) {
+ : profile_(profile) {
}
struct ExtensionIconSource::ExtensionIconRequest {
@@ -103,6 +103,10 @@
return ToBitmap(data, contents.length());
}
+std::string ExtensionIconSource::GetSource() {
+ return chrome::kChromeUIExtensionIconHost;
+}
+
std::string ExtensionIconSource::GetMimeType(const std::string&) const {
// We need to explicitly return a mime type, otherwise if the user tries to
// drag the image they get no extension.
@@ -160,7 +164,7 @@
bitmap = *image;
ClearData(request_id);
- SendResponse(request_id, BitmapToMemory(&bitmap));
+ url_data_source()->SendResponse(request_id, BitmapToMemory(&bitmap));
}
void ExtensionIconSource::LoadDefaultImage(int request_id) {
@@ -191,7 +195,7 @@
extensions::ImageLoader::Get(profile_)->LoadImageAsync(
request->extension, icon,
gfx::Size(request->size, request->size),
- base::Bind(&ExtensionIconSource::OnImageLoaded, this, request_id));
+ base::Bind(&ExtensionIconSource::OnImageLoaded, AsWeakPtr(), request_id));
}
void ExtensionIconSource::LoadFaviconImage(int request_id) {
@@ -228,7 +232,7 @@
// If we don't need a grayscale image, then we can bypass FinalizeImage
// to avoid unnecessary conversions.
ClearData(request_id);
- SendResponse(request_id, bitmap_result.bitmap_data);
+ url_data_source()->SendResponse(request_id, bitmap_result.bitmap_data);
} else {
FinalizeImage(ToBitmap(bitmap_result.bitmap_data->front(),
bitmap_result.bitmap_data->size()), request_id);
@@ -302,7 +306,8 @@
// We send back the default application icon (not resized or desaturated)
// as the default response, like when there is no data.
ClearData(request_id);
- SendResponse(request_id, BitmapToMemory(GetDefaultAppImage()));
+ url_data_source()->SendResponse(
+ request_id, BitmapToMemory(GetDefaultAppImage()));
}
void ExtensionIconSource::SetData(int request_id,

Powered by Google App Engine
This is Rietveld 408576698