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

Unified Diff: Source/core/rendering/compositing/CompositedLayerMapping.cpp

Issue 784453003: Initial scroll-blocks-on compositor integration (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Eliminate scrollbars from iframe test for cross-platform output consistency Created 5 years, 11 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/compositing/CompositedLayerMapping.cpp
diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
index ccd7e6e7b138b5529efe4faef748dc126c5a7f31..d3191f074678258d3e04db956e480a157b3d4016 100644
--- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp
+++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
@@ -236,6 +236,8 @@ void CompositedLayerMapping::createPrimaryGraphicsLayer()
updateLayerBlendMode(renderer()->style());
updateIsRootForIsolatedGroup();
}
+
+ updateScrollBlocksOn(renderer()->style());
}
void CompositedLayerMapping::destroyGraphicsLayers()
@@ -295,6 +297,18 @@ void CompositedLayerMapping::updateIsRootForIsolatedGroup()
m_graphicsLayer->setIsRootForIsolatedGroup(isolate);
}
+void CompositedLayerMapping::updateScrollBlocksOn(const RenderStyle* style)
+{
+ // Note that blink determines the default scroll blocking policy, even
+ // when the scroll-blocks-on CSS feature isn't enabled.
+ WebScrollBlocksOn blockingMode = WebScrollBlocksOnStartTouch | WebScrollBlocksOnWheelEvent;
+
+ if (RuntimeEnabledFeatures::cssScrollBlocksOnEnabled())
+ blockingMode = style->scrollBlocksOn();
+
+ m_graphicsLayer->setScrollBlocksOn(blockingMode);
+}
+
void CompositedLayerMapping::updateContentsOpaque()
{
ASSERT(m_isMainFrameRenderViewLayer || !m_backgroundLayer);
@@ -715,6 +729,8 @@ void CompositedLayerMapping::updateGraphicsLayerGeometry(const RenderLayer* comp
updateScrollParent(compositor()->preferCompositingToLCDTextEnabled() ? m_owningLayer.scrollParent() : 0);
registerScrollingLayers();
+ updateScrollBlocksOn(renderer()->style());
+
updateCompositingReasons();
}

Powered by Google App Engine
This is Rietveld 408576698