diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h index 31a736d7dc3e31..ea019b0f009d79 100644 --- a/cc/paint/paint_canvas.h +++ b/cc/paint/paint_canvas.h @@ -180,7 +180,7 @@ class CC_PAINT_EXPORT PaintCanvas { virtual void drawPicture(sk_sp record) = 0; virtual bool isClipEmpty() const = 0; - virtual const SkMatrix& getTotalMatrix() const = 0; + virtual SkMatrix getTotalMatrix() const = 0; // Used for printing enum class AnnotationType { diff --git a/cc/paint/record_paint_canvas.cc b/cc/paint/record_paint_canvas.cc index b6c58cb06f3c14..fee7f29c1ef960 100644 --- a/cc/paint/record_paint_canvas.cc +++ b/cc/paint/record_paint_canvas.cc @@ -296,7 +296,7 @@ bool RecordPaintCanvas::isClipEmpty() const { return GetCanvas()->isClipEmpty(); } -const SkMatrix& RecordPaintCanvas::getTotalMatrix() const { +SkMatrix RecordPaintCanvas::getTotalMatrix() const { return GetCanvas()->getTotalMatrix(); } diff --git a/cc/paint/record_paint_canvas.h b/cc/paint/record_paint_canvas.h index 0a33a9cf8bfddb..ecc386082c8853 100644 --- a/cc/paint/record_paint_canvas.h +++ b/cc/paint/record_paint_canvas.h @@ -102,7 +102,7 @@ class CC_PAINT_EXPORT RecordPaintCanvas : public PaintCanvas { void drawPicture(sk_sp record) override; bool isClipEmpty() const override; - const SkMatrix& getTotalMatrix() const override; + SkMatrix getTotalMatrix() const override; void Annotate(AnnotationType type, const SkRect& rect, diff --git a/cc/paint/skia_paint_canvas.cc b/cc/paint/skia_paint_canvas.cc index 72d34e97c58e96..f143d9ea15d7ad 100644 --- a/cc/paint/skia_paint_canvas.cc +++ b/cc/paint/skia_paint_canvas.cc @@ -328,7 +328,7 @@ bool SkiaPaintCanvas::isClipEmpty() const { return canvas_->isClipEmpty(); } -const SkMatrix& SkiaPaintCanvas::getTotalMatrix() const { +SkMatrix SkiaPaintCanvas::getTotalMatrix() const { return canvas_->getTotalMatrix(); } diff --git a/cc/paint/skia_paint_canvas.h b/cc/paint/skia_paint_canvas.h index 3dc125172fa175..e76805b0b49872 100644 --- a/cc/paint/skia_paint_canvas.h +++ b/cc/paint/skia_paint_canvas.h @@ -126,7 +126,7 @@ class CC_PAINT_EXPORT SkiaPaintCanvas final : public PaintCanvas { void drawPicture(sk_sp record) override; bool isClipEmpty() const override; - const SkMatrix& getTotalMatrix() const override; + SkMatrix getTotalMatrix() const override; void Annotate(AnnotationType type, const SkRect& rect, diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h index 94e9588a9b1ee9..7874c2949bfe2c 100644 --- a/skia/config/SkUserConfig.h +++ b/skia/config/SkUserConfig.h @@ -211,6 +211,10 @@ SK_API void SkDebugf_FileLine(const char* file, #define SK_DISABLE_REDUCE_OPLIST_SPLITTING #endif +#ifndef SK_SUPPORT_LEGACY_CANVAS_MATRIX_33 +#define SK_SUPPORT_LEGACY_CANVAS_MATRIX_33 +#endif + #ifndef SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS #define SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS #endif diff --git a/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h b/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h index 919b9e31ec0823..b42f009aa3c25a 100644 --- a/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h +++ b/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h @@ -98,7 +98,7 @@ class MockPaintCanvas : public cc::PaintCanvas { MOCK_METHOD1(drawPicture, void(sk_sp record)); MOCK_CONST_METHOD0(isClipEmpty, bool()); MOCK_CONST_METHOD0(isClipRect, bool()); - MOCK_CONST_METHOD0(getTotalMatrix, const SkMatrix&()); + MOCK_CONST_METHOD0(getTotalMatrix, SkMatrix()); MOCK_METHOD3(Annotate, void(AnnotationType type,