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

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

Issue 9586018: Add support for multiple icon sizes for Mac platform apps (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix build Created 8 years, 10 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
diff --git a/chrome/browser/ui/webui/extensions/extension_icon_source.cc b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
index 0aa30660e7654edb92388f5dbc6af80c443898cb..ca34c997e2e0eb956246d03c58ccf385fbd71644 100644
--- a/chrome/browser/ui/webui/extensions/extension_icon_source.cc
+++ b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
@@ -37,9 +37,9 @@ scoped_refptr<RefCountedMemory> BitmapToMemory(const SkBitmap* image) {
return image_bytes;
}
-void DesaturateImage(SkBitmap* image) {
+SkBitmap DesaturateImage(const SkBitmap* image) {
color_utils::HSL shift = {-1, 0, 0.6};
- *image = SkBitmapOperations::CreateHSLShiftedBitmap(*image, shift);
+ return SkBitmapOperations::CreateHSLShiftedBitmap(*image, shift);
}
SkBitmap* ToBitmap(const unsigned char* data, size_t size) {
@@ -168,13 +168,16 @@ const SkBitmap* ExtensionIconSource::GetDefaultExtensionImage() {
return default_extension_data_.get();
}
-void ExtensionIconSource::FinalizeImage(SkBitmap* image,
+void ExtensionIconSource::FinalizeImage(const SkBitmap* image,
int request_id) {
+ SkBitmap bitmap;
if (GetData(request_id)->grayscale)
- DesaturateImage(image);
+ bitmap = DesaturateImage(image);
+ else
+ bitmap = *image;
ClearData(request_id);
- SendResponse(request_id, BitmapToMemory(image));
+ SendResponse(request_id, BitmapToMemory(&bitmap));
}
void ExtensionIconSource::LoadDefaultImage(int request_id) {
@@ -274,16 +277,16 @@ void ExtensionIconSource::OnFaviconDataAvailable(
}
}
-void ExtensionIconSource::OnImageLoaded(SkBitmap* image,
- const ExtensionResource& resource,
+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));
- if (!image || image->empty())
+ if (image.IsEmpty())
LoadIconFailed(request_id);
else
- FinalizeImage(image, request_id);
+ FinalizeImage(image.ToSkBitmap(), request_id);
}
bool ExtensionIconSource::ParseData(const std::string& path,
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_icon_source.h ('k') | chrome/browser/ui/webui/ntp/favicon_webui_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698