| Index: chrome/browser/extensions/extension_icon_image.cc
|
| diff --git a/chrome/browser/extensions/extension_icon_image.cc b/chrome/browser/extensions/extension_icon_image.cc
|
| index 97c5ead450cd9b2e560695ff18eafa82079c19b4..24125c40a51299bcc185219692b874e725ce1766 100644
|
| --- a/chrome/browser/extensions/extension_icon_image.cc
|
| +++ b/chrome/browser/extensions/extension_icon_image.cc
|
| @@ -78,7 +78,7 @@ class BlankImageSource : public gfx::CanvasImageSource {
|
| namespace extensions {
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// ExtensionIconImage::Source
|
| +// IconImage::Source
|
|
|
| class IconImage::Source : public gfx::ImageSkiaSource {
|
| public:
|
| @@ -128,7 +128,7 @@ gfx::ImageSkiaRep IconImage::Source::GetImageForScale(
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// ExtensionIconImage
|
| +// IconImage
|
|
|
| IconImage::IconImage(
|
| const Extension* extension,
|
| @@ -166,22 +166,26 @@ gfx::ImageSkiaRep IconImage::LoadImageForScaleFactor(
|
| static_cast<int>(resource_size_in_dip_ * scale);
|
|
|
| ExtensionResource resource;
|
| - // We try loading bigger image only if resource size is >= 32.
|
| - if (resource_size_in_pixel >= kMatchBiggerTreshold) {
|
| - resource = GetExtensionIconResource(extension_, icon_set_,
|
| - resource_size_in_pixel, ExtensionIconSet::MATCH_BIGGER);
|
| - }
|
|
|
| - // If resource is not found by now, try matching smaller one.
|
| - if (resource.empty()) {
|
| - resource = GetExtensionIconResource(extension_, icon_set_,
|
| - resource_size_in_pixel, ExtensionIconSet::MATCH_SMALLER);
|
| + // Find extension resource for non bundled component extensions.
|
| + if (!ImageLoadingTracker::IsSpecialBundledExtensionId(extension_->id())) {
|
| + // We try loading bigger image only if resource size is >= 32.
|
| + if (resource_size_in_pixel >= kMatchBiggerTreshold) {
|
| + resource = GetExtensionIconResource(extension_, icon_set_,
|
| + resource_size_in_pixel, ExtensionIconSet::MATCH_BIGGER);
|
| + }
|
| +
|
| + // If resource is not found by now, try matching smaller one.
|
| + if (resource.empty()) {
|
| + resource = GetExtensionIconResource(extension_, icon_set_,
|
| + resource_size_in_pixel, ExtensionIconSet::MATCH_SMALLER);
|
| + }
|
| +
|
| + // If there is no resource found, return default icon.
|
| + if (resource.empty())
|
| + return default_icon_.GetRepresentation(scale_factor);
|
| }
|
|
|
| - // If there is no resource found, return default icon.
|
| - if (resource.empty())
|
| - return default_icon_.GetRepresentation(scale_factor);
|
| -
|
| int id = tracker_.next_id();
|
| load_map_[id].scale_factor = scale_factor;
|
| load_map_[id].is_async = false;
|
|
|