From b613c266df48cf45296ecc23d1bd7098c84bb7ba Mon Sep 17 00:00:00 2001 From: Heather Miller Date: Thu, 10 Nov 2016 21:25:30 +0000 Subject: Revert "Change SkCanvas to *not* inherit from SkRefCnt" This reverts commit 824075071885b6b741c141cbe2134d8345d34589. Reason for revert: Breaking WebView (chromium:663959) Original change's description: > Change SkCanvas to *not* inherit from SkRefCnt > > Definitely tricky for classes like SkNWayCanvas, where the caller (today) > need not pay attention to ownership of the canvases it gave the NWay > (after this CL, the caller *must* managed ownership) > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4441 > > DOCS_PREVIEW= https://skia.org/?cl=4441 > > Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081 > Reviewed-on: https://skia-review.googlesource.com/4441 > Commit-Queue: Mike Reed > Reviewed-by: Florin Malita > Reviewed-by: Robert Phillips > TBR=djsollen@google.com,mtklein@google.com,halcanary@google.com,robertphillips@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I5e3b3e876b7d2c09833cf841801321033b6b968b Reviewed-on: https://skia-review.googlesource.com/4687 Commit-Queue: Heather Miller Reviewed-by: Heather Miller --- tests/CanvasStateHelpers.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'tests/CanvasStateHelpers.cpp') diff --git a/tests/CanvasStateHelpers.cpp b/tests/CanvasStateHelpers.cpp index 98b5d231be..801eaead49 100644 --- a/tests/CanvasStateHelpers.cpp +++ b/tests/CanvasStateHelpers.cpp @@ -27,11 +27,12 @@ void complex_layers_draw(SkCanvas* canvas, float left, float top, extern "C" bool complex_layers_draw_from_canvas_state(SkCanvasState* state, float left, float top, float right, float bottom, int32_t spacer) { - std::unique_ptr canvas = SkCanvasStateUtils::MakeFromCanvasState(state); + SkCanvas* canvas = SkCanvasStateUtils::CreateFromCanvasState(state); if (!canvas) { return false; } - complex_layers_draw(canvas.get(), left, top, right, bottom, spacer); + complex_layers_draw(canvas, left, top, right, bottom, spacer); + canvas->unref(); return true; } @@ -51,7 +52,7 @@ void complex_clips_draw(SkCanvas* canvas, int32_t left, int32_t top, extern "C" bool complex_clips_draw_from_canvas_state(SkCanvasState* state, int32_t left, int32_t top, int32_t right, int32_t bottom, int32_t clipOp, int32_t regionRects, int32_t* rectCoords) { - std::unique_ptr canvas = SkCanvasStateUtils::MakeFromCanvasState(state); + SkCanvas* canvas = SkCanvasStateUtils::CreateFromCanvasState(state); if (!canvas) { return false; } @@ -63,7 +64,8 @@ extern "C" bool complex_clips_draw_from_canvas_state(SkCanvasState* state, rectCoords += 4; } - complex_clips_draw(canvas.get(), left, top, right, bottom, clipOp, localRegion); + complex_clips_draw(canvas, left, top, right, bottom, clipOp, localRegion); + canvas->unref(); return true; } #endif // SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -- cgit v1.2.3