diff options
author | Chris Craik <ccraik@google.com> | 2012-03-05 11:08:09 -0800 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-03-07 13:16:07 -0800 |
commit | 0de5188ef06efbbf15051a6ea07ba970253c569c (patch) | |
tree | 963f3d067f5708e1c67f30c55b96980b0e0d94b4 /Source/WebCore/rendering | |
parent | 221265b7850cf40a096dd513e2a492454405a6d0 (diff) | |
download | external_webkit-0de5188ef06efbbf15051a6ea07ba970253c569c.zip external_webkit-0de5188ef06efbbf15051a6ea07ba970253c569c.tar.gz external_webkit-0de5188ef06efbbf15051a6ea07ba970253c569c.tar.bz2 |
UI-side layer merging
Merge multiple painted layers into a LayerGroup to share a dualTiledTexture
see LayerAndroid::canJoinGroup() for merging rules
Change-Id: I5f5b156894c3743825f570b47d34e905d74de10a
Diffstat (limited to 'Source/WebCore/rendering')
-rw-r--r-- | Source/WebCore/rendering/RenderLayer.h | 9 | ||||
-rw-r--r-- | Source/WebCore/rendering/RenderLayerCompositor.cpp | 7 |
2 files changed, 15 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h index 02ab8e9..5e421f0 100644 --- a/Source/WebCore/rendering/RenderLayer.h +++ b/Source/WebCore/rendering/RenderLayer.h @@ -498,6 +498,12 @@ public: bool hasOverflowScroll() const { return m_hasOverflowScroll; } bool hasOverflowParent() const; #endif +#if PLATFORM(ANDROID) + bool intrinsicallyComposited() const { return m_intrinsicallyComposited; } + void setIntrinsicallyComposited(bool intrinsicallyComposited) { + m_intrinsicallyComposited = intrinsicallyComposited; + } +#endif private: // The normal operator new is disallowed on all render objects. @@ -751,6 +757,9 @@ protected: bool m_shouldComposite : 1; #endif #endif +#if PLATFORM(ANDROID) + bool m_intrinsicallyComposited : 1; +#endif bool m_containsDirtyOverlayScrollbars : 1; #if ENABLE(ANDROID_OVERFLOW_SCROLL) diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp index 25a08e7..d7f5c6b 100644 --- a/Source/WebCore/rendering/RenderLayerCompositor.cpp +++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp @@ -682,7 +682,12 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, O layer->updateLayerPosition(); layer->updateZOrderLists(); layer->updateNormalFlowList(); - +#if PLATFORM(ANDROID) + RenderObject* renderer = layer->renderer(); + bool intCom = requiresCompositingLayer(layer); + layer->setIntrinsicallyComposited(intCom); +#endif + // Clear the flag layer->setHasCompositingDescendant(false); |