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

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_icon_source.cc

Issue 10375021: Move Extension into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Take 6 Created 8 years, 7 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 unified diff | Download patch
OLDNEW
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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 53
54 ExtensionIconSource::ExtensionIconSource(Profile* profile) 54 ExtensionIconSource::ExtensionIconSource(Profile* profile)
55 : DataSource(chrome::kChromeUIExtensionIconHost, MessageLoop::current()), 55 : DataSource(chrome::kChromeUIExtensionIconHost, MessageLoop::current()),
56 profile_(profile), 56 profile_(profile),
57 next_tracker_id_(0) { 57 next_tracker_id_(0) {
58 tracker_.reset(new ImageLoadingTracker(this)); 58 tracker_.reset(new ImageLoadingTracker(this));
59 } 59 }
60 60
61 struct ExtensionIconSource::ExtensionIconRequest { 61 struct ExtensionIconSource::ExtensionIconRequest {
62 int request_id; 62 int request_id;
63 const Extension* extension; 63 const extensions::Extension* extension;
64 bool grayscale; 64 bool grayscale;
65 int size; 65 int size;
66 ExtensionIconSet::MatchType match; 66 ExtensionIconSet::MatchType match;
67 }; 67 };
68 68
69 // static 69 // static
70 GURL ExtensionIconSource::GetIconURL(const Extension* extension, 70 GURL ExtensionIconSource::GetIconURL(const extensions::Extension* extension,
71 int icon_size, 71 int icon_size,
72 ExtensionIconSet::MatchType match, 72 ExtensionIconSet::MatchType match,
73 bool grayscale, 73 bool grayscale,
74 bool* exists) { 74 bool* exists) {
75 if (exists) 75 if (exists)
76 *exists = true; 76 *exists = true;
77 if (exists && extension->GetIconURL(icon_size, match) == GURL()) 77 if (exists && extension->GetIconURL(icon_size, match) == GURL())
78 *exists = false; 78 *exists = false;
79 79
80 GURL icon_url(base::StringPrintf("%s%s/%d/%d%s", 80 GURL icon_url(base::StringPrintf("%s%s/%d/%d%s",
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 int match_num; 289 int match_num;
290 if (!base::StringToInt(match_param, &match_num)) 290 if (!base::StringToInt(match_param, &match_num))
291 return false; 291 return false;
292 match_type = static_cast<ExtensionIconSet::MatchType>(match_num); 292 match_type = static_cast<ExtensionIconSet::MatchType>(match_num);
293 if (!(match_type == ExtensionIconSet::MATCH_EXACTLY || 293 if (!(match_type == ExtensionIconSet::MATCH_EXACTLY ||
294 match_type == ExtensionIconSet::MATCH_SMALLER || 294 match_type == ExtensionIconSet::MATCH_SMALLER ||
295 match_type == ExtensionIconSet::MATCH_BIGGER)) 295 match_type == ExtensionIconSet::MATCH_BIGGER))
296 match_type = ExtensionIconSet::MATCH_EXACTLY; 296 match_type = ExtensionIconSet::MATCH_EXACTLY;
297 297
298 std::string extension_id = path_parts.at(0); 298 std::string extension_id = path_parts.at(0);
299 const Extension* extension = 299 const extensions::Extension* extension =
300 profile_->GetExtensionService()->GetInstalledExtension(extension_id); 300 profile_->GetExtensionService()->GetInstalledExtension(extension_id);
301 if (!extension) 301 if (!extension)
302 return false; 302 return false;
303 303
304 bool grayscale = path_lower.find("grayscale=true") != std::string::npos; 304 bool grayscale = path_lower.find("grayscale=true") != std::string::npos;
305 305
306 SetData(request_id, extension, grayscale, size, match_type); 306 SetData(request_id, extension, grayscale, size, match_type);
307 307
308 return true; 308 return true;
309 } 309 }
310 310
311 void ExtensionIconSource::SendDefaultResponse(int request_id) { 311 void ExtensionIconSource::SendDefaultResponse(int request_id) {
312 // We send back the default application icon (not resized or desaturated) 312 // We send back the default application icon (not resized or desaturated)
313 // as the default response, like when there is no data. 313 // as the default response, like when there is no data.
314 ClearData(request_id); 314 ClearData(request_id);
315 SendResponse(request_id, BitmapToMemory(GetDefaultAppImage())); 315 SendResponse(request_id, BitmapToMemory(GetDefaultAppImage()));
316 } 316 }
317 317
318 void ExtensionIconSource::SetData(int request_id, 318 void ExtensionIconSource::SetData(int request_id,
319 const Extension* extension, 319 const extensions::Extension* extension,
320 bool grayscale, 320 bool grayscale,
321 int size, 321 int size,
322 ExtensionIconSet::MatchType match) { 322 ExtensionIconSet::MatchType match) {
323 ExtensionIconRequest* request = new ExtensionIconRequest(); 323 ExtensionIconRequest* request = new ExtensionIconRequest();
324 request->request_id = request_id; 324 request->request_id = request_id;
325 request->extension = extension; 325 request->extension = extension;
326 request->grayscale = grayscale; 326 request->grayscale = grayscale;
327 request->size = size; 327 request->size = size;
328 request->match = match; 328 request->match = match;
329 request_map_[request_id] = request; 329 request_map_[request_id] = request;
330 } 330 }
331 331
332 ExtensionIconSource::ExtensionIconRequest* ExtensionIconSource::GetData( 332 ExtensionIconSource::ExtensionIconRequest* ExtensionIconSource::GetData(
333 int request_id) { 333 int request_id) {
334 return request_map_[request_id]; 334 return request_map_[request_id];
335 } 335 }
336 336
337 void ExtensionIconSource::ClearData(int request_id) { 337 void ExtensionIconSource::ClearData(int request_id) {
338 std::map<int, ExtensionIconRequest*>::iterator i = 338 std::map<int, ExtensionIconRequest*>::iterator i =
339 request_map_.find(request_id); 339 request_map_.find(request_id);
340 if (i == request_map_.end()) 340 if (i == request_map_.end())
341 return; 341 return;
342 342
343 delete i->second; 343 delete i->second;
344 request_map_.erase(i); 344 request_map_.erase(i);
345 } 345 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698