summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-01-10 13:11:35 -0800
committerNicolas Roard <nicolas@android.com>2011-01-10 14:48:00 -0800
commite3cffebf38964ca4527600cde733500749328dce (patch)
treece1d08baacdf7d0e3ee7fc29f60a0fd3c8260df1
parent477f2da81667d4c0ba02df53a357efede4d8dd1a (diff)
downloadexternal_webkit-e3cffebf38964ca4527600cde733500749328dce.zip
external_webkit-e3cffebf38964ca4527600cde733500749328dce.tar.gz
external_webkit-e3cffebf38964ca4527600cde733500749328dce.tar.bz2
Enable fixed layers for all websites
bug:2797422 Change-Id: Ide0867a06d61a7ee92af751ae824fe6c3b23c41f
-rw-r--r--WebCore/rendering/RenderLayerCompositor.cpp20
-rw-r--r--WebCore/rendering/RenderLayerCompositor.h4
2 files changed, 6 insertions, 18 deletions
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp
index 638c628..654f6e6 100644
--- a/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/WebCore/rendering/RenderLayerCompositor.cpp
@@ -1180,7 +1180,7 @@ bool RenderLayerCompositor::needsToBeComposited(const RenderLayer* layer) const
}
#if PLATFORM(ANDROID)
-bool RenderLayerCompositor::requiresCompositingForMobileSites(const RenderLayer* layer) const
+bool RenderLayerCompositor::requiresCompositingForAndroidLayers(const RenderLayer* layer) const
{
#if ENABLE(ANDROID_OVERFLOW_SCROLL)
if (layer->hasOverflowScroll())
@@ -1193,20 +1193,8 @@ bool RenderLayerCompositor::requiresCompositingForMobileSites(const RenderLayer*
if (m_renderView->document()->frame()->tree()->parent())
return false;
- // For the moment, we want to only enable fixed composited layers on mobile websites.
- // We can consider a website as being a 'mobile' site if all the
- // following checks are true:
- // 1) - the viewport width is either undefined (-1) or equal to device-width (0), and
- // 2) - no scaling is allowed
- if (!layer->isFixed())
- return false;
-
- Settings* settings = m_renderView->document()->settings();
- if (!settings)
- return false;
-
- if ((settings->viewportWidth() == -1 || settings->viewportWidth() == 0) &&
- !settings->viewportUserScalable())
+ // Enable composited layers (for fixed elements)
+ if (layer->isFixed())
return true;
#endif
return false;
@@ -1226,7 +1214,7 @@ bool RenderLayerCompositor::requiresCompositingLayer(const RenderLayer* layer) c
}
return requiresCompositingForTransform(renderer)
#if PLATFORM(ANDROID)
- || requiresCompositingForMobileSites(layer)
+ || requiresCompositingForAndroidLayers(layer)
#endif
|| requiresCompositingForVideo(renderer)
|| requiresCompositingForCanvas(renderer)
diff --git a/WebCore/rendering/RenderLayerCompositor.h b/WebCore/rendering/RenderLayerCompositor.h
index e741dec..a2f51c0 100644
--- a/WebCore/rendering/RenderLayerCompositor.h
+++ b/WebCore/rendering/RenderLayerCompositor.h
@@ -228,8 +228,8 @@ private:
bool requiresCompositingWhenDescendantsAreCompositing(RenderObject*) const;
#if PLATFORM(ANDROID)
- // Whether we are on a mobile site
- bool requiresCompositingForMobileSites(const RenderLayer* layer) const;
+ // Whether we are using layers for new android features (overflow support, fixed elements)
+ bool requiresCompositingForAndroidLayers(const RenderLayer* layer) const;
#endif
bool requiresScrollLayer(RootLayerAttachment) const;