Chromium Code Reviews| Index: chrome/browser/ui/extensions/icon_with_badge_image_source.cc |
| diff --git a/chrome/browser/ui/extensions/icon_with_badge_image_source.cc b/chrome/browser/ui/extensions/icon_with_badge_image_source.cc |
| index bd9aa21dd7d5a4bb80e2b7c41d5970ae179a8118..8b952ab41e23255da83b43295a4327230d6d11c0 100644 |
| --- a/chrome/browser/ui/extensions/icon_with_badge_image_source.cc |
| +++ b/chrome/browser/ui/extensions/icon_with_badge_image_source.cc |
| @@ -11,6 +11,7 @@ |
| #include "base/logging.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "build/build_config.h" |
| +#include "chrome/browser/extensions/extension_action.h" |
| #include "third_party/skia/include/core/SkPaint.h" |
| #include "third_party/skia/include/core/SkTypeface.h" |
| #include "ui/base/material_design/material_design_controller.h" |
| @@ -90,12 +91,13 @@ SkPaint* GetBadgeTextPaintSingleton() { |
| } |
| gfx::ImageSkiaRep ScaleImageSkiaRep(const gfx::ImageSkiaRep& rep, |
| - int target_width, |
| + int target_width_dp, |
| float target_scale) { |
| + int width_px = target_width_dp * target_scale; |
| return gfx::ImageSkiaRep( |
| skia::ImageOperations::Resize(rep.sk_bitmap(), |
| skia::ImageOperations::RESIZE_BEST, |
| - target_width, target_width), |
| + width_px, width_px), |
| target_scale); |
| } |
| @@ -130,14 +132,16 @@ void IconWithBadgeImageSource::Draw(gfx::Canvas* canvas) { |
| gfx::ImageSkia skia = icon_.AsImageSkia(); |
| gfx::ImageSkiaRep rep = skia.GetRepresentation(canvas->image_scale()); |
| if (rep.scale() != canvas->image_scale()) { |
| - skia.AddRepresentation( |
| - ScaleImageSkiaRep(rep, skia.width(), canvas->image_scale())); |
| + skia.AddRepresentation(ScaleImageSkiaRep( |
| + rep, ExtensionAction::ActionIconSize(), canvas->image_scale())); |
|
varkha
2016/01/26 16:18:41
nit: could cache ExtensionAction::ActionIconSize()
|
| } |
| if (grayscale_) |
| skia = gfx::ImageSkiaOperations::CreateHSLShiftedImage(skia, {-1, 0, 0.6}); |
| - int x_offset = std::floor((size().width() - icon_.Width()) / 2.0); |
| - int y_offset = std::floor((size().height() - icon_.Height()) / 2.0); |
| + int x_offset = |
| + std::floor((size().width() - ExtensionAction::ActionIconSize()) / 2.0); |
| + int y_offset = |
| + std::floor((size().height() - ExtensionAction::ActionIconSize()) / 2.0); |
| canvas->DrawImageInt(skia, x_offset, y_offset); |
| // Draw a badge on the provided browser action icon's canvas. |