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

Unified Diff: chrome/browser/ui/extensions/icon_with_badge_image_source.cc

Issue 1637763002: Fix bug in browser action icon scaling for non-1x scale factors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove dbg code Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698