Chromium Code Reviews| Index: Source/core/rendering/RenderLayer.cpp |
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
| index e8186688e1b0e2a7a5c1c73199211117e76dfad0..cc2967fc3438809203aae2457ed9c3ccbd279a2d 100644 |
| --- a/Source/core/rendering/RenderLayer.cpp |
| +++ b/Source/core/rendering/RenderLayer.cpp |
| @@ -484,8 +484,8 @@ void RenderLayer::dirtyAncestorChainHasSelfPaintingLayerDescendantStatus() |
| bool RenderLayer::acceleratedCompositingForOverflowScrollEnabled() const |
| { |
| return renderer()->frame() |
| - && renderer()->frame()->page() |
| - && renderer()->frame()->page()->settings()->acceleratedCompositingForOverflowScrollEnabled(); |
| + && renderer()->frame()->page()->settings() |
|
Julien - ping for review
2013/05/13 20:48:56
I don't think this is right: the page can be NULL,
|
| + && (renderer()->frame()->page()->settings()->acceleratedCompositingForOverflowScrollEnabled() != AcceleratedCompositingForOverflowScrollDisabled); |
| } |
| // If we are a stacking container, then this function will determine if our |
| @@ -567,7 +567,7 @@ bool RenderLayer::acceleratedCompositingForOverflowScrollEnabled() const |
| // And we would conclude that C could be promoted. |
| void RenderLayer::updateDescendantsAreContiguousInStackingOrder() |
| { |
| - if (!m_descendantsAreContiguousInStackingOrderDirty || !isStackingContext() || !acceleratedCompositingForOverflowScrollEnabled()) |
| + if (!m_descendantsAreContiguousInStackingOrderDirty || !isStackingContext() || acceleratedCompositingForOverflowScrollEnabled() == AcceleratedCompositingForOverflowScrollDisabled) |
| return; |
| ASSERT(!m_normalFlowListDirty); |
| @@ -2057,6 +2057,20 @@ bool RenderLayer::usesCompositedScrolling() const |
| bool RenderLayer::needsCompositedScrolling() const |
| { |
| + AcceleratedCompositingForOverflowScrollEnabledMode mode = AcceleratedCompositingForOverflowScrollDisabled; |
| + if (renderer()->frame() && renderer()->frame()->page()->settings()) |
|
Julien - ping for review
2013/05/13 20:48:56
Same comment here about NULL-checking settings.
|
| + mode = renderer()->frame()->page()->settings()->acceleratedCompositingForOverflowScrollEnabled(); |
| + |
| + switch (mode) { |
| + case AcceleratedCompositingForOverflowScrollEnabled: |
| + return m_needsCompositedScrolling; |
| + case AcceleratedCompositingForOverflowScrollDisabled: |
| + return false; |
| + case AcceleratedCompositingForOverflowScrollAlwaysOn: |
| + return true; |
| + } |
| + |
| + ASSERT_NOT_REACHED(); |
| return m_needsCompositedScrolling; |
| } |