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

Unified Diff: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp

Issue 2049063002: Revert of Use element id's for animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
index ad9321248946c465250f03c8be370239bc69fc71..f6ba036b0fba588ba276e462646a35220160c694 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
@@ -1521,52 +1521,36 @@
}
}
-// Some background on when you receive an element id or mutable properties.
-//
-// element id:
-// If you have a compositor proxy, an animation, or you're a scroller (and
-// might impl animate).
-//
-// mutable properties:
-// Only if you have a compositor proxy.
-//
-// The element id for the scroll layers is assigned when they're constructed,
-// since this is unconditional. However, the element id for the primary layer as
-// well as the mutable properties for all layers may change according to the
-// rules above so we update those values here.
void CompositedLayerMapping::updateElementIdAndCompositorMutableProperties()
{
- int elementId = 0;
- uint32_t primaryMutableProperties = CompositorMutableProperty::kNone;
+ if (!RuntimeEnabledFeatures::compositorWorkerEnabled())
+ return;
+
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositedLayerMapping::updateElementId()");
+
+ uint64_t elementId = 0;
+ uint32_t mainMutableProperties = CompositorMutableProperty::kNone;
uint32_t scrollMutableProperties = CompositorMutableProperty::kNone;
- Node* owningNode = m_owningLayer.layoutObject()->generatingNode();
- Element* owningElement = nullptr;
- if (owningNode && owningNode->isElementNode())
- owningElement = toElement(owningNode);
-
- if (RuntimeEnabledFeatures::compositorWorkerEnabled() && owningElement && m_owningLayer.layoutObject()->style()->hasCompositorProxy()) {
- uint32_t compositorMutableProperties = owningElement->compositorMutableProperties();
- elementId = DOMNodeIds::idForNode(owningNode);
- primaryMutableProperties = (CompositorMutableProperty::kOpacity | CompositorMutableProperty::kTransform) & compositorMutableProperties;
- scrollMutableProperties = (CompositorMutableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop) & compositorMutableProperties;
- }
-
- if (m_owningLayer.layoutObject()->style()->shouldCompositeForCurrentAnimations() && owningNode)
- elementId = DOMNodeIds::idForNode(owningNode);
-
- CompositorElementId compositorElementId;
- if (elementId)
- compositorElementId = createCompositorElementId(elementId, CompositorSubElementId::Primary);
-
- m_graphicsLayer->setElementId(compositorElementId);
- m_graphicsLayer->setCompositorMutableProperties(primaryMutableProperties);
-
- // We always set the elementId for m_scrollingContentsLayer since it can be
- // animated for smooth scrolling, so we don't need to set it conditionally
- // here.
- if (m_scrollingContentsLayer.get())
+ if (m_owningLayer.layoutObject()->style()->hasCompositorProxy()) {
+ if (Node* owningNode = m_owningLayer.layoutObject()->generatingNode()) {
+ if (owningNode->isElementNode()) {
+ Element* owningElement = toElement(owningNode);
+ uint32_t compositorMutableProperties = owningElement->compositorMutableProperties();
+ elementId = DOMNodeIds::idForNode(owningNode);
+ mainMutableProperties = (CompositorMutableProperty::kOpacity | CompositorMutableProperty::kTransform) & compositorMutableProperties;
+ scrollMutableProperties = (CompositorMutableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop) & compositorMutableProperties;
+ }
+ }
+ }
+
+ m_graphicsLayer->setElementId(elementId);
+ m_graphicsLayer->setCompositorMutableProperties(mainMutableProperties);
+
+ if (m_scrollingContentsLayer.get()) {
+ m_scrollingContentsLayer->setElementId(elementId);
m_scrollingContentsLayer->setCompositorMutableProperties(scrollMutableProperties);
+ }
}
bool CompositedLayerMapping::updateForegroundLayer(bool needsForegroundLayer)
@@ -1653,12 +1637,6 @@
// Inner layer which renders the content that scrolls.
m_scrollingContentsLayer = createGraphicsLayer(CompositingReasonLayerForScrollingContents);
-
- if (Node* owningNode = m_owningLayer.layoutObject()->generatingNode()) {
- m_scrollingContentsLayer->setElementId(createCompositorElementId(DOMNodeIds::idForNode(owningNode), CompositorSubElementId::Scroll));
- m_scrollingContentsLayer->setCompositorMutableProperties(CompositorMutableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop);
- }
-
m_scrollingLayer->addChild(m_scrollingContentsLayer.get());
layerChanged = true;

Powered by Google App Engine
This is Rietveld 408576698