summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-09-27 15:31:53 -0700
committerChris Craik <ccraik@google.com>2012-09-27 15:46:49 -0700
commit224e946b3cabeaa9c360bdd6865485b5acb34cdc (patch)
treefbb912c77a6f90b0419be1fc2f64f3aaab8f23a3
parent98f974e63bc216d6c12d4d319d25bbf8751184ff (diff)
downloadexternal_webkit-224e946b3cabeaa9c360bdd6865485b5acb34cdc.zip
external_webkit-224e946b3cabeaa9c360bdd6865485b5acb34cdc.tar.gz
external_webkit-224e946b3cabeaa9c360bdd6865485b5acb34cdc.tar.bz2
Fix opaque rect calculation to quickreject transparent shader drawn ops
bug:7247486 Change-Id: Iba6b37d50985b51585e6e96a35705da54aae9878
-rw-r--r--Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.cpp b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.cpp
index 03d9b81..867ff56 100644
--- a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.cpp
+++ b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.cpp
@@ -1017,6 +1017,7 @@ IntRect PlatformGraphicsContextRecording::calculateCoveredBounds(FloatRect bound
{
if (mRecordingStateStack.last().mOpaqueTrackingDisabled
|| m_state->alpha != 1.0f
+ || (m_state->fillShader != 0 && !m_state->fillShader->isOpaque())
|| (m_state->mode != SkXfermode::kSrc_Mode && m_state->mode != SkXfermode::kSrcOver_Mode)
|| !mCurrentMatrix->rectStaysRect()) {
return IntRect();