diff options
author | Nicolas Roard <nicolasroard@google.com> | 2011-07-20 12:58:10 -0700 |
---|---|---|
committer | Nicolas Roard <nicolasroard@google.com> | 2011-07-29 10:26:30 -0700 |
commit | e0aa068729e4558f198f02f9217b11a05fe3d1d3 (patch) | |
tree | 935254bb0e9d03d84a660cc47aa5f096196ec615 /Source/WebCore/rendering/RenderLayer.h | |
parent | 14a561b2c1a0d30c36751ea756c773d70c9c4d76 (diff) | |
download | external_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.h | 9 |
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; |