diff options
author | Matt Sarett <msarett@google.com> | 2017-04-13 17:42:20 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-04-13 17:42:20 +0000 |
commit | f9a9dfd6c51df2fe4dd9fbcfc30e1e9b101223be (patch) | |
tree | 3d976e390fa7d0e9611c16aa318ad7f33a401974 | |
parent | 55c94a23e453aeb6ad4d0716991d87b1ea473687 (diff) | |
parent | 3c0c39a4f6026ea3b2fa6f3049b7a8710c98bba8 (diff) | |
download | webview-f9a9dfd6c51df2fe4dd9fbcfc30e1e9b101223be.tar.gz |
Use Canvas::captureCanvasState()
am: 3c0c39a4f6
Change-Id: I9fcf0e8ecbe7251519a6254867272eb811e13fa0
-rw-r--r-- | chromium/plat_support/graphics_utils.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/chromium/plat_support/graphics_utils.cpp b/chromium/plat_support/graphics_utils.cpp index 5d8d0a5..89beb75 100644 --- a/chromium/plat_support/graphics_utils.cpp +++ b/chromium/plat_support/graphics_utils.cpp @@ -38,15 +38,15 @@ namespace { class PixelInfo : public AwPixelInfo { public: - explicit PixelInfo(SkCanvas* canvas); + explicit PixelInfo(android::Canvas* canvas); ~PixelInfo(); }; -PixelInfo::PixelInfo(SkCanvas* canvas) { +PixelInfo::PixelInfo(android::Canvas* canvas) { memset(this, 0, sizeof(AwPixelInfo)); version = kAwPixelInfoVersion; - state = SkCanvasStateUtils::CaptureCanvasState(canvas); + state = canvas->captureCanvasState(); } PixelInfo::~PixelInfo() { @@ -59,21 +59,7 @@ AwPixelInfo* GetPixels(JNIEnv* env, jobject java_canvas) { if (!nativeCanvas) return NULL; - SkCanvas* canvas = nativeCanvas->asSkCanvas(); - if (!canvas) - return NULL; - - // Workarounds for http://crbug.com/271096: SW draw only supports - // translate & scale transforms, and a simple rectangular clip. - // (This also avoids significant wasted time in calling - // SkCanvasStateUtils::CaptureCanvasState when the clip is complex). - if (!canvas->isClipRect() || - (canvas->getTotalMatrix().getType() & - ~(SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask))) { - return NULL; - } - - PixelInfo* pixels = new PixelInfo(canvas); + PixelInfo* pixels = new PixelInfo(nativeCanvas); if (!pixels->state) { delete pixels; pixels = NULL; |