summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-05-30 16:20:14 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-30 16:20:14 -0700
commitdb590796ce589844c92205685ffae83c86b168f0 (patch)
treecf18d80d13667556cd2afe2f0c1fb6449226b282 /Source/WebCore/platform/graphics/android/rendering
parente4d0c1973ec857d1408499010dca9f6856cecdd1 (diff)
parent45c2747dcc0151ebf5a296118c2d3c8f69ab4f68 (diff)
downloadexternal_webkit-db590796ce589844c92205685ffae83c86b168f0.zip
external_webkit-db590796ce589844c92205685ffae83c86b168f0.tar.gz
external_webkit-db590796ce589844c92205685ffae83c86b168f0.tar.bz2
Merge "Minimize tearing for fixed element in single surface mode" into jb-dev
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering')
-rw-r--r--Source/WebCore/platform/graphics/android/rendering/Surface.cpp2
-rw-r--r--Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp8
2 files changed, 4 insertions, 6 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp
index 106b045..9df1a7a 100644
--- a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp
+++ b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp
@@ -370,7 +370,7 @@ bool Surface::paint(SkCanvas* canvas)
// In single surface mode, draw layer content onto the base layer
if (isBase()
&& getFirstLayer()->countChildren()
- && getFirstLayer()->state()->layersRenderingMode() > GLWebViewState::kClippedTextures) {
+ && getFirstLayer()->state()->isSingleSurfaceRenderingMode()) {
for (int i = 0; i < getFirstLayer()->countChildren(); i++)
getFirstLayer()->getChild(i)->drawCanvas(canvas, true, Layer::FlattenedLayers);
}
diff --git a/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp b/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp
index 093c947..3cfabe1 100644
--- a/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp
+++ b/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp
@@ -86,8 +86,7 @@ void SurfaceCollection::prepareGL(const SkRect& visibleContentRect, bool tryToFa
{
TRACE_METHOD();
updateLayerPositions(visibleContentRect);
- bool layerTilesDisabled = m_compositedRoot->state()->layersRenderingMode()
- > GLWebViewState::kClippedTextures;
+ bool layerTilesDisabled = m_compositedRoot->state()->isSingleSurfaceRenderingMode();
if (!layerTilesDisabled) {
for (unsigned int i = 0; tryToFastBlit && i < m_surfaces.size(); i++)
tryToFastBlit &= m_surfaces[i]->canUpdateWithBlit();
@@ -114,8 +113,7 @@ bool SurfaceCollection::drawGL(const SkRect& visibleContentRect)
bool needsRedraw = false;
updateLayerPositions(visibleContentRect);
- bool layerTilesDisabled = m_compositedRoot->state()->layersRenderingMode()
- > GLWebViewState::kClippedTextures;
+ bool layerTilesDisabled = m_compositedRoot->state()->isSingleSurfaceRenderingMode();
// create a duplicate vector of surfaces, sorted by z value
Vector <Surface*> surfaces;
@@ -153,7 +151,7 @@ void SurfaceCollection::addFrameworkInvals()
bool SurfaceCollection::isReady()
{
// Override layer readiness check for single surface mode
- if (m_compositedRoot->state()->layersRenderingMode() > GLWebViewState::kClippedTextures) {
+ if (m_compositedRoot->state()->isSingleSurfaceRenderingMode()) {
// TODO: single surface mode should be properly double buffered
return true;
}