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

Unified Diff: ui/gfx/canvas.cc

Issue 2509983004: Revert "Change call-sites now that SkCanvas is not ref-counted" (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « ui/gfx/canvas.h ('k') | ui/gfx/render_text_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/canvas.cc
diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc
index 73a7a669700cebcc2891ae9d88ca2d3827b047c3..df386f7da584da4a48cd1b59404d5e455763bb54 100644
--- a/ui/gfx/canvas.cc
+++ b/ui/gfx/canvas.cc
@@ -28,10 +28,9 @@ namespace gfx {
Canvas::Canvas(const Size& size, float image_scale, bool is_opaque)
: image_scale_(image_scale) {
Size pixel_size = ScaleToCeiledSize(size, image_scale);
- canvas_owner_ = skia::CreatePlatformCanvas(pixel_size.width(),
- pixel_size.height(), is_opaque);
- canvas_ = canvas_owner_.get();
-
+ canvas_ = sk_sp<SkCanvas>(skia::CreatePlatformCanvas(pixel_size.width(),
+ pixel_size.height(),
+ is_opaque));
#if !defined(USE_CAIRO)
// skia::PlatformCanvas instances are initialized to 0 by Cairo, but
// uninitialized on other platforms.
@@ -45,11 +44,10 @@ Canvas::Canvas(const Size& size, float image_scale, bool is_opaque)
Canvas::Canvas()
: image_scale_(1.f),
- canvas_owner_(skia::CreatePlatformCanvas(0, 0, false)),
- canvas_(canvas_owner_.get()) {}
+ canvas_(sk_sp<SkCanvas>(skia::CreatePlatformCanvas(0, 0, false))) {}
-Canvas::Canvas(SkCanvas* canvas, float image_scale)
- : image_scale_(image_scale), canvas_(canvas) {
+Canvas::Canvas(sk_sp<SkCanvas> canvas, float image_scale)
+ : image_scale_(image_scale), canvas_(std::move(canvas)) {
DCHECK(canvas_);
}
@@ -61,10 +59,9 @@ void Canvas::RecreateBackingCanvas(const Size& size,
bool is_opaque) {
image_scale_ = image_scale;
Size pixel_size = ScaleToFlooredSize(size, image_scale);
- canvas_owner_ = skia::CreatePlatformCanvas(pixel_size.width(),
- pixel_size.height(), is_opaque);
- canvas_ = canvas_owner_.get();
-
+ canvas_ = sk_sp<SkCanvas>(skia::CreatePlatformCanvas(pixel_size.width(),
+ pixel_size.height(),
+ is_opaque));
SkScalar scale_scalar = SkFloatToScalar(image_scale);
canvas_->scale(scale_scalar, scale_scalar);
}
« no previous file with comments | « ui/gfx/canvas.h ('k') | ui/gfx/render_text_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698