Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index dffb6999ea46b40e65a624eb5517db9e241a1a2c..0780d0a99b2b3050a3eb3b945fc25b0547a91fc9 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -144,6 +144,7 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer) |
, m_hasSelfPaintingLayerDescendantDirty(false) |
, m_hasOutOfFlowPositionedDescendant(false) |
, m_hasOutOfFlowPositionedDescendantDirty(true) |
+ , m_forceNeedsCompositedScrolling(DoNotForceCompositedScrolling) |
, m_needsCompositedScrolling(false) |
, m_descendantsAreContiguousInStackingOrder(false) |
, m_descendantsAreContiguousInStackingOrderDirty(true) |
@@ -2051,6 +2052,15 @@ bool RenderLayer::usesCompositedScrolling() const |
bool RenderLayer::needsCompositedScrolling() const |
{ |
+ switch (m_forceNeedsCompositedScrolling) { |
+ case DoNotForceCompositedScrolling: |
+ return m_needsCompositedScrolling; |
+ case ForceCompositedScrollingOn: |
+ return true; |
+ case ForceCompositedScrollingOff: |
+ return false; |
+ } |
+ |
Julien - ping for review
2013/05/06 22:56:59
ASSERT_NOT_REACHED()
Ian Vollick
2013/05/08 13:10:58
Done.
|
return m_needsCompositedScrolling; |
} |
@@ -2084,6 +2094,21 @@ void RenderLayer::updateNeedsCompositedScrolling() |
m_needsCompositedScrolling = needsCompositedScrolling; |
+ // Note, the z-order lists may need to be rebuilt, but our code guarantees |
+ // that we have not affected stacking, so we will not dirty |
+ // m_canBePromotedToStackingContainer for either us or our stacking context |
+ // or container. |
+ didUpdateNeedsCompositedScrolling(); |
+} |
+ |
+void RenderLayer::setForceNeedsCompositedScrolling(RenderLayer::ForceNeedsCompositedScrollingMode mode) |
+{ |
+ m_forceNeedsCompositedScrolling = mode; |
+ didUpdateNeedsCompositedScrolling(); |
+} |
+ |
+void RenderLayer::didUpdateNeedsCompositedScrolling() |
+{ |
updateIsNormalFlowOnly(); |
updateSelfPaintingLayer(); |