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