Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1025)

Unified Diff: Source/core/rendering/RenderLayer.cpp

Issue 14858004: Clean up the way layout tests force elements to opt in/out of composited scrolling. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698