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