summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering/Surface.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-04-11 11:39:55 -0700
committerChris Craik <ccraik@google.com>2012-04-12 09:54:16 -0700
commit5f0350c3ee327062ec6e22a3935c3bd4534cd15d (patch)
treeccb442755c849654d2692e2eda359e8a060d722e /Source/WebCore/platform/graphics/android/rendering/Surface.cpp
parent5d119b85382480f33eefb397ef6b34a4331671b9 (diff)
downloadexternal_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.cpp12
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;