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

Unified Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 1393013007: Add a Canvas::SaveAndUnscale() method for pixel-accurate drawing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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/views/location_bar/location_bar_view.cc
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
index 958977d42b1de6a4cd51fa239ca893bffdcc0e65..423a35ded026a266405cc9d08a617d387251c25f 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -1290,10 +1290,7 @@ void LocationBarView::PaintChildren(const ui::PaintContext& context) {
if (ui::MaterialDesignController::IsModeMaterial()) {
gfx::Canvas* canvas = recorder.canvas();
- const float display_scale = canvas->image_scale();
- canvas->Save();
- SkScalar scale_factor = 1.0f / display_scale;
- canvas->sk_canvas()->scale(scale_factor, scale_factor);
+ const float scale = canvas->SaveAndUnscale();
SkPaint paint;
paint.setStyle(SkPaint::Style::kStroke_Style);
@@ -1303,11 +1300,11 @@ void LocationBarView::PaintChildren(const ui::PaintContext& context) {
const float kOffset = 0.5f;
gfx::RectF border_rect_f(border_rect);
- border_rect_f.Scale(display_scale);
+ border_rect_f.Scale(scale);
gfx::InsetsF insets(kOffset, kOffset, kOffset, kOffset);
border_rect_f.Inset(insets);
- const SkScalar kCornerRadius = SkDoubleToScalar(2.5f * display_scale);
+ const SkScalar kCornerRadius = SkDoubleToScalar(2.5f * scale);
canvas->sk_canvas()->drawRoundRect(gfx::RectFToSkRect(border_rect_f),
kCornerRadius, kCornerRadius, paint);
recorder.canvas()->Restore();
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.cc ('k') | ui/gfx/canvas.h » ('j') | ui/gfx/canvas.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698