summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderLayer.h
diff options
context:
space:
mode:
authorNicolas Roard <nicolasroard@google.com>2011-07-20 12:58:10 -0700
committerNicolas Roard <nicolasroard@google.com>2011-07-29 10:26:30 -0700
commite0aa068729e4558f198f02f9217b11a05fe3d1d3 (patch)
tree935254bb0e9d03d84a660cc47aa5f096196ec615 /Source/WebCore/rendering/RenderLayer.h
parent14a561b2c1a0d30c36751ea756c773d70c9c4d76 (diff)
downloadexternal_webkit-e0aa068729e4558f198f02f9217b11a05fe3d1d3.zip
external_webkit-e0aa068729e4558f198f02f9217b11a05fe3d1d3.tar.gz
external_webkit-e0aa068729e4558f198f02f9217b11a05fe3d1d3.tar.bz2
Reduce the number of layers
- overflow elements triggered all layers before them to be composited; this is not needed at all... - fixed elements will trigger layers after them to be composited, but we don't need to composite all of them -- the one fully contained into previous composited layers don't need to... bug:5069090 Change-Id: I65f789f490b837a16096b4cb186c45ade1605b41
Diffstat (limited to 'Source/WebCore/rendering/RenderLayer.h')
-rw-r--r--Source/WebCore/rendering/RenderLayer.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
index 2174920..f257593 100644
--- a/Source/WebCore/rendering/RenderLayer.h
+++ b/Source/WebCore/rendering/RenderLayer.h
@@ -354,7 +354,7 @@ public:
if (hasOverflowScroll())
return true;
#endif
- return !hasAutoZIndex() || renderer()->isRenderView() || (isComposited() && isFixed());
+ return !hasAutoZIndex() || renderer()->isRenderView() || (isComposited() && isFixed()) || m_shouldComposite;
}
#else
#if ENABLE(ANDROID_OVERFLOW_SCROLL)
@@ -641,6 +641,10 @@ private:
bool mustOverlapCompositedLayers() const { return m_mustOverlapCompositedLayers; }
void setMustOverlapCompositedLayers(bool b) { m_mustOverlapCompositedLayers = b; }
+#if ENABLE(COMPOSITED_FIXED_ELEMENTS)
+ bool shouldComposite() { return m_shouldComposite; }
+ void setShouldComposite(bool b) { m_shouldComposite = b; }
+#endif
#endif
void updateContentsScale(float);
@@ -743,6 +747,9 @@ protected:
#if USE(ACCELERATED_COMPOSITING)
bool m_hasCompositingDescendant : 1; // In the z-order tree.
bool m_mustOverlapCompositedLayers : 1;
+#if ENABLE(COMPOSITED_FIXED_ELEMENTS)
+ bool m_shouldComposite : 1;
+#endif
#endif
bool m_containsDirtyOverlayScrollbars : 1;