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

Unified Diff: Source/platform/graphics/GraphicsLayer.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/platform/graphics/GraphicsLayer.cpp
diff --git a/Source/platform/graphics/GraphicsLayer.cpp b/Source/platform/graphics/GraphicsLayer.cpp
index e59be7a9b5be2a86e623dab966fd53de962f2873..8ded5786aeb13716b7758912872265f5c089c28f 100644
--- a/Source/platform/graphics/GraphicsLayer.cpp
+++ b/Source/platform/graphics/GraphicsLayer.cpp
@@ -80,6 +80,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
, m_backgroundColor(Color::transparent)
, m_opacity(1)
, m_blendMode(WebBlendModeNormal)
+ , m_scrollBlocksOn(WebScrollBlocksOnNone)
, m_hasTransformOrigin(false)
, m_contentsOpaque(false)
, m_shouldFlattenTransform(true)
@@ -574,6 +575,17 @@ PassRefPtr<JSONObject> GraphicsLayer::layerTreeAsJSON(LayerTreeFlags flags, Rend
if (m_blendMode != WebBlendModeNormal)
json->setString("blendMode", compositeOperatorName(CompositeSourceOver, m_blendMode));
+ if ((flags & LayerTreeIncludesScrollBlocksOn) && m_scrollBlocksOn) {
+ RefPtr<JSONArray> scrollBlocksOnJSON = adoptRef(new JSONArray);
+ if (m_scrollBlocksOn & WebScrollBlocksOnStartTouch)
+ scrollBlocksOnJSON->pushString("StartTouch");
+ if (m_scrollBlocksOn & WebScrollBlocksOnWheelEvent)
+ scrollBlocksOnJSON->pushString("WheelEvent");
+ if (m_scrollBlocksOn & WebScrollBlocksOnScrollEvent)
+ scrollBlocksOnJSON->pushString("ScrollEvent");
+ json->setArray("scrollBlocksOn", scrollBlocksOnJSON);
+ }
+
if (m_isRootForIsolatedGroup)
json->setBoolean("isolate", m_isRootForIsolatedGroup);
@@ -876,7 +888,15 @@ void GraphicsLayer::setBlendMode(WebBlendMode blendMode)
if (m_blendMode == blendMode)
return;
m_blendMode = blendMode;
- platformLayer()->setBlendMode(WebBlendMode(blendMode));
+ platformLayer()->setBlendMode(blendMode);
+}
+
+void GraphicsLayer::setScrollBlocksOn(WebScrollBlocksOn scrollBlocksOn)
+{
+ if (m_scrollBlocksOn == scrollBlocksOn)
+ return;
+ m_scrollBlocksOn = scrollBlocksOn;
+ platformLayer()->setScrollBlocksOn(scrollBlocksOn);
}
void GraphicsLayer::setIsRootForIsolatedGroup(bool isolated)

Powered by Google App Engine
This is Rietveld 408576698