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

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

Issue 474683003: Not for review - Rebase of crrev.com/62833003 Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 6 years, 2 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 04cb0730eb44602305361513195a908f0dda7564..c05957f18610608b579ce79992b2ff022236de71 100644
--- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp
+++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
@@ -802,6 +802,8 @@ void CompositedLayerMapping::updateOverflowControlsHostLayerGeometry(const Rende
m_owningLayer.renderer()->mapLocalToContainer(compositingStackingContext->renderer(), transformState, ApplyContainerFlip);
transformState.flatten();
LayoutPoint offsetFromStackingContainer = LayoutPoint(transformState.lastPlanarPoint());
+ if (RenderLayerScrollableArea* scrollableArea = compositingStackingContext->scrollableArea())
+ offsetFromStackingContainer.move(LayoutSize(scrollableArea->adjustedScrollOffset()));
m_overflowControlsHostLayer->setPosition(FloatPoint(offsetFromStackingContainer));
}
} else {
@@ -1158,6 +1160,31 @@ void CompositedLayerMapping::updateScrollingBlockSelection()
m_scrollingBlockSelectionLayer->setOffsetFromRenderer(toIntSize(blockSelectionGapsBounds.location()), GraphicsLayer::SetNeedsDisplay);
}
+void CompositedLayerMapping::unbindAnimatedProperties()
+{
+ TRACE_EVENT0("teleport", "CompositedLayerMapping::unbindAnimatedProperties");
+ m_graphicsLayer->clearAnimatedProperties();
+ if (m_scrollingContentsLayer)
+ m_scrollingContentsLayer->clearAnimatedProperties();
+}
+
+void CompositedLayerMapping::bindAnimatedProperties(const Vector<String>& properties)
+{
+ TRACE_EVENT0("teleport", "CompositedLayerMapping::bindAnimatedProperties");
+ for (size_t i = 0; i < properties.size(); ++i) {
+ const String& property = properties[i];
+ // TODO(vollick): this seems to be repeated a bunch. Can it be consolidated?
+ Vector<String> components;
+ property.split(":", components);
+ if (components[1] == "scrollTop" || components[1] == "pendingScrollDelta") {
+ if (m_scrollingContentsLayer)
+ m_scrollingContentsLayer->addAnimatedProperty(property);
+ } else {
+ m_graphicsLayer->addAnimatedProperty(property);
+ }
+ }
+}
+
void CompositedLayerMapping::updateDrawsContent()
{
bool hasPaintedContent = containsPaintedContent();

Powered by Google App Engine
This is Rietveld 408576698