diff options
author | Chris Craik <ccraik@google.com> | 2012-08-17 18:04:56 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-08-17 18:04:56 -0700 |
commit | 1bf7d7a2d1abb6e625e3bc7168c7cf3ced009ea7 (patch) | |
tree | 99363cce1b0a1e401e0d9a289aa9fdd03736fc61 | |
parent | acc2ae62ddaca4174333b8266a8baf9def87c53a (diff) | |
parent | 78acc1eae6ab06bb0b79648eb24ce77a551e264a (diff) | |
download | external_webkit-1bf7d7a2d1abb6e625e3bc7168c7cf3ced009ea7.zip external_webkit-1bf7d7a2d1abb6e625e3bc7168c7cf3ced009ea7.tar.gz external_webkit-1bf7d7a2d1abb6e625e3bc7168c7cf3ced009ea7.tar.bz2 |
Merge "Early return from layer painting when fully clipped" into jb-mr1-dev
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp index 67d1259..84ce910 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp @@ -803,13 +803,14 @@ bool LayerAndroid::drawCanvas(SkCanvas* canvas, bool drawChildren, PaintStyle st r.set(m_clippingRect.x(), m_clippingRect.y(), m_clippingRect.x() + m_clippingRect.width(), m_clippingRect.y() + m_clippingRect.height()); - canvas->clipRect(r); - SkMatrix matrix; - GLUtils::toSkMatrix(matrix, m_drawTransform); - SkMatrix canvasMatrix = canvas->getTotalMatrix(); - matrix.postConcat(canvasMatrix); - canvas->setMatrix(matrix); - onDraw(canvas, m_drawOpacity, 0, style); + if (canvas->clipRect(r)) { + SkMatrix matrix; + GLUtils::toSkMatrix(matrix, m_drawTransform); + SkMatrix canvasMatrix = canvas->getTotalMatrix(); + matrix.postConcat(canvasMatrix); + canvas->setMatrix(matrix); + onDraw(canvas, m_drawOpacity, 0, style); + } } if (!drawChildren) |