Chromium Code Reviews| Index: extensions/browser/image_loader.cc |
| diff --git a/extensions/browser/image_loader.cc b/extensions/browser/image_loader.cc |
| index f090ffba1ef7390671712b45d50e430151003e35..fe72e57b7a776e936d3ce274c9dc7289f86a264a 100644 |
| --- a/extensions/browser/image_loader.cc |
| +++ b/extensions/browser/image_loader.cc |
| @@ -19,7 +19,9 @@ |
| #include "extensions/browser/extensions_browser_client.h" |
| #include "extensions/browser/image_loader_factory.h" |
| #include "extensions/common/extension.h" |
| +#include "extensions/common/manifest_handlers/icons_handler.h" |
| #include "skia/ext/image_operations.h" |
| +#include "ui/base/layout.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/gfx/codec/png_codec.h" |
| #include "ui/gfx/image/image_family.h" |
| @@ -239,6 +241,23 @@ void ImageLoader::LoadImageAsync(const Extension* extension, |
| LoadImagesAsync(extension, info_list, callback); |
| } |
| +void ImageLoader::LoadImageAtEveryScaleFactorAsync( |
| + const Extension* extension, |
| + const gfx::Size& dip_size, |
| + const ImageLoaderImageCallback& callback) { |
| + std::vector<ImageRepresentation> info_list; |
| + for (auto scale : ui::GetSupportedScaleFactors()) { |
| + const float scale_factor = ui::GetScaleForScaleFactor(scale); |
| + const gfx::Size px_size = gfx::ScaleToFlooredSize(dip_size, scale_factor); |
| + extensions::ExtensionResource image = |
|
Devlin
2016/12/15 17:14:41
no need for extensions:: prefix
Evan Stade
2016/12/15 23:49:02
Done.
|
| + extensions::IconsInfo::GetIconResource(extension, px_size.width(), |
| + ExtensionIconSet::MATCH_BIGGER); |
| + info_list.push_back(ImageRepresentation( |
| + image, ImageRepresentation::ALWAYS_RESIZE, px_size, scale)); |
| + } |
| + LoadImagesAsync(extension, info_list, callback); |
| +} |
| + |
| void ImageLoader::LoadImagesAsync( |
| const Extension* extension, |
| const std::vector<ImageRepresentation>& info_list, |