| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" | 5 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/memory/ref_counted_memory.h" | 9 #include "base/memory/ref_counted_memory.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 int render_view_id, | 122 int render_view_id, |
| 123 const content::URLDataSource::GotDataCallback& callback) { | 123 const content::URLDataSource::GotDataCallback& callback) { |
| 124 // This is where everything gets started. First, parse the request and make | 124 // This is where everything gets started. First, parse the request and make |
| 125 // the request data available for later. | 125 // the request data available for later. |
| 126 static int next_id = 0; | 126 static int next_id = 0; |
| 127 if (!ParseData(path, ++next_id, callback)) { | 127 if (!ParseData(path, ++next_id, callback)) { |
| 128 // If the request data cannot be parsed, request parameters will not be | 128 // If the request data cannot be parsed, request parameters will not be |
| 129 // added to |request_map_|. | 129 // added to |request_map_|. |
| 130 // Send back the default application icon (not resized or desaturated) as | 130 // Send back the default application icon (not resized or desaturated) as |
| 131 // the default response. | 131 // the default response. |
| 132 callback.Run(BitmapToMemory(GetDefaultAppImage())); | 132 callback.Run(BitmapToMemory(GetDefaultAppImage()).get()); |
| 133 return; | 133 return; |
| 134 } | 134 } |
| 135 | 135 |
| 136 ExtensionIconRequest* request = GetData(next_id); | 136 ExtensionIconRequest* request = GetData(next_id); |
| 137 extensions::ExtensionResource icon = extensions::IconsInfo::GetIconResource( | 137 extensions::ExtensionResource icon = extensions::IconsInfo::GetIconResource( |
| 138 request->extension, request->size, request->match); | 138 request->extension, request->size, request->match); |
| 139 | 139 |
| 140 if (icon.relative_path().empty()) { | 140 if (icon.relative_path().empty()) { |
| 141 LoadIconFailed(next_id); | 141 LoadIconFailed(next_id); |
| 142 } else { | 142 } else { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 167 | 167 |
| 168 void ExtensionIconSource::FinalizeImage(const SkBitmap* image, | 168 void ExtensionIconSource::FinalizeImage(const SkBitmap* image, |
| 169 int request_id) { | 169 int request_id) { |
| 170 SkBitmap bitmap; | 170 SkBitmap bitmap; |
| 171 ExtensionIconRequest* request = GetData(request_id); | 171 ExtensionIconRequest* request = GetData(request_id); |
| 172 if (request->grayscale) | 172 if (request->grayscale) |
| 173 bitmap = DesaturateImage(image); | 173 bitmap = DesaturateImage(image); |
| 174 else | 174 else |
| 175 bitmap = *image; | 175 bitmap = *image; |
| 176 | 176 |
| 177 request->callback.Run(BitmapToMemory(&bitmap)); | 177 request->callback.Run(BitmapToMemory(&bitmap).get()); |
| 178 ClearData(request_id); | 178 ClearData(request_id); |
| 179 } | 179 } |
| 180 | 180 |
| 181 void ExtensionIconSource::LoadDefaultImage(int request_id) { | 181 void ExtensionIconSource::LoadDefaultImage(int request_id) { |
| 182 ExtensionIconRequest* request = GetData(request_id); | 182 ExtensionIconRequest* request = GetData(request_id); |
| 183 const SkBitmap* default_image = NULL; | 183 const SkBitmap* default_image = NULL; |
| 184 | 184 |
| 185 if (request->extension->is_app()) | 185 if (request->extension->is_app()) |
| 186 default_image = GetDefaultAppImage(); | 186 default_image = GetDefaultAppImage(); |
| 187 else | 187 else |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 | 340 |
| 341 void ExtensionIconSource::ClearData(int request_id) { | 341 void ExtensionIconSource::ClearData(int request_id) { |
| 342 std::map<int, ExtensionIconRequest*>::iterator i = | 342 std::map<int, ExtensionIconRequest*>::iterator i = |
| 343 request_map_.find(request_id); | 343 request_map_.find(request_id); |
| 344 if (i == request_map_.end()) | 344 if (i == request_map_.end()) |
| 345 return; | 345 return; |
| 346 | 346 |
| 347 delete i->second; | 347 delete i->second; |
| 348 request_map_.erase(i); | 348 request_map_.erase(i); |
| 349 } | 349 } |
| OLD | NEW |