diff options
author | Chris Craik <ccraik@google.com> | 2012-04-11 11:39:55 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-04-12 09:54:16 -0700 |
commit | 5f0350c3ee327062ec6e22a3935c3bd4534cd15d (patch) | |
tree | ccb442755c849654d2692e2eda359e8a060d722e /Source/WebCore/platform/graphics/android/rendering/Surface.cpp | |
parent | 5d119b85382480f33eefb397ef6b34a4331671b9 (diff) | |
download | external_webkit-5f0350c3ee327062ec6e22a3935c3bd4534cd15d.zip external_webkit-5f0350c3ee327062ec6e22a3935c3bd4534cd15d.tar.gz external_webkit-5f0350c3ee327062ec6e22a3935c3bd4534cd15d.tar.bz2 |
Skip drawing the background (glClear) if the tiles cover it.
bug:5631590
Change-Id: Ic7dc0dac0d7f98fb94eb2b111b3e59a0a7010caf
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/Surface.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/Surface.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp index 3ed3aad..f0d9e58 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp @@ -30,6 +30,7 @@ #include "Surface.h" #include "AndroidLog.h" +#include "BaseLayerAndroid.h" #include "ClassTracker.h" #include "LayerAndroid.h" #include "GLWebViewState.h" @@ -140,6 +141,9 @@ void Surface::addLayer(LayerAndroid* layer, const TransformationMatrix& transfor m_unclippedArea.x(), m_unclippedArea.y(), m_unclippedArea.width(), m_unclippedArea.height()); } + + if (isBase()) + m_background = static_cast<BaseLayerAndroid*>(layer)->getBackgroundColor(); } IntRect Surface::visibleArea() @@ -250,6 +254,14 @@ bool Surface::isReady() return m_surfaceBacking->isReady(); } +bool Surface::isMissingContent() +{ + if (!m_surfaceBacking) + return true; + + return m_surfaceBacking->isMissingContent(); +} + IntRect Surface::computePrepareArea() { IntRect area; |