summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-08-17 18:04:56 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-17 18:04:56 -0700
commit1bf7d7a2d1abb6e625e3bc7168c7cf3ced009ea7 (patch)
tree99363cce1b0a1e401e0d9a289aa9fdd03736fc61
parentacc2ae62ddaca4174333b8266a8baf9def87c53a (diff)
parent78acc1eae6ab06bb0b79648eb24ce77a551e264a (diff)
downloadexternal_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.cpp15
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)