| Index: third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp b/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp
|
| index e8e0b2ebf8437faca34781c33f23b80ba62ddbf9..79a105d65f4580c8cd1393be6b728bee8f730ea6 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp
|
| @@ -99,7 +99,6 @@ void PropertyTreeManager::setupRootClipNode() {
|
| // cc is hardcoded to use clip node index 1 for viewport clip.
|
| cc::ClipTree& clipTree = m_propertyTrees.clip_tree;
|
| clipTree.clear();
|
| - m_propertyTrees.layer_id_to_clip_node_index.clear();
|
| cc::ClipNode& clipNode =
|
| *clipTree.Node(clipTree.Insert(cc::ClipNode(), kRealRootNodeId));
|
| DCHECK_EQ(clipNode.id, kSecondaryRootNodeId);
|
| @@ -112,8 +111,7 @@ void PropertyTreeManager::setupRootClipNode() {
|
| clipNode.transform_id = kRealRootNodeId;
|
| clipNode.target_transform_id = kRealRootNodeId;
|
| clipNode.target_effect_id = kSecondaryRootNodeId;
|
| - m_propertyTrees.layer_id_to_clip_node_index[clipNode.owning_layer_id] =
|
| - clipNode.id;
|
| + clipTree.InsertOwningIdForNode(&clipNode, clipNode.owning_layer_id);
|
|
|
| m_clipNodeMap.set(ClipPaintPropertyNode::root(), clipNode.id);
|
| m_rootLayer->SetClipTreeIndex(clipNode.id);
|
| @@ -123,7 +121,6 @@ void PropertyTreeManager::setupRootEffectNode() {
|
| // cc is hardcoded to use effect node index 1 for root render surface.
|
| cc::EffectTree& effectTree = m_propertyTrees.effect_tree;
|
| effectTree.clear();
|
| - m_propertyTrees.layer_id_to_effect_node_index.clear();
|
| m_propertyTrees.element_id_to_effect_node_index.clear();
|
| cc::EffectNode& effectNode =
|
| *effectTree.Node(effectTree.Insert(cc::EffectNode(), kInvalidNodeId));
|
| @@ -132,8 +129,7 @@ void PropertyTreeManager::setupRootEffectNode() {
|
| effectNode.transform_id = kRealRootNodeId;
|
| effectNode.clip_id = kSecondaryRootNodeId;
|
| effectNode.has_render_surface = true;
|
| - m_propertyTrees.layer_id_to_effect_node_index[effectNode.owning_layer_id] =
|
| - effectNode.id;
|
| + effectTree.InsertOwningIdForNode(&effectNode, effectNode.owning_layer_id);
|
|
|
| m_effectStack.push_back(
|
| BlinkEffectAndCcIdPair{EffectPaintPropertyNode::root(), effectNode.id});
|
| @@ -143,15 +139,13 @@ void PropertyTreeManager::setupRootEffectNode() {
|
| void PropertyTreeManager::setupRootScrollNode() {
|
| cc::ScrollTree& scrollTree = m_propertyTrees.scroll_tree;
|
| scrollTree.clear();
|
| - m_propertyTrees.layer_id_to_scroll_node_index.clear();
|
| m_propertyTrees.element_id_to_scroll_node_index.clear();
|
| cc::ScrollNode& scrollNode =
|
| *scrollTree.Node(scrollTree.Insert(cc::ScrollNode(), kRealRootNodeId));
|
| DCHECK_EQ(scrollNode.id, kSecondaryRootNodeId);
|
| scrollNode.owning_layer_id = m_rootLayer->id();
|
| scrollNode.transform_id = kSecondaryRootNodeId;
|
| - m_propertyTrees.layer_id_to_scroll_node_index[scrollNode.owning_layer_id] =
|
| - scrollNode.id;
|
| + scrollTree.InsertOwningIdForNode(&scrollNode, scrollNode.owning_layer_id);
|
|
|
| m_scrollNodeMap.set(ScrollPaintPropertyNode::root(), scrollNode.id);
|
| m_rootLayer->SetScrollTreeIndex(scrollNode.id);
|
| @@ -229,8 +223,8 @@ int PropertyTreeManager::ensureCompositorClipNode(
|
|
|
| cc::ClipNode& compositorNode = *clipTree().Node(id);
|
| compositorNode.owning_layer_id = dummyLayer->id();
|
| - m_propertyTrees.layer_id_to_clip_node_index[compositorNode.owning_layer_id] =
|
| - id;
|
| + clipTree().InsertOwningIdForNode(&compositorNode,
|
| + compositorNode.owning_layer_id);
|
|
|
| // TODO(jbroman): Don't discard rounded corners.
|
| compositorNode.clip = clipNode->clipRect().rect();
|
| @@ -331,13 +325,13 @@ void PropertyTreeManager::updateLayerScrollMapping(
|
| int scrollNodeId = ensureCompositorScrollNode(enclosingScrollNode);
|
| layer->SetScrollTreeIndex(scrollNodeId);
|
| int layerId = layer->id();
|
| - m_propertyTrees.layer_id_to_scroll_node_index[layerId] = scrollNodeId;
|
| + auto& compositorScrollNode = *scrollTree().Node(scrollNodeId);
|
| +
|
| + scrollTree().InsertOwningIdForNode(&compositorScrollNode, layerId);
|
|
|
| if (!transform->isScrollTranslation())
|
| return;
|
|
|
| - auto& compositorScrollNode = *scrollTree().Node(scrollNodeId);
|
| -
|
| // TODO(pdr): Remove the scroll node's owning_layer_id. This approach of
|
| // setting owning_layer_id only when it is not set lets us maintain a 1:1
|
| // mapping from layer to scroll node.
|
| @@ -447,8 +441,7 @@ void PropertyTreeManager::buildEffectNodesRecursively(
|
| effectNode.filters = nextEffect->filter().asCcFilterOperations();
|
| }
|
| effectNode.blend_mode = nextEffect->blendMode();
|
| - m_propertyTrees.layer_id_to_effect_node_index[effectNode.owning_layer_id] =
|
| - effectNode.id;
|
| + effectTree().InsertOwningIdForNode(&effectNode, effectNode.owning_layer_id);
|
| CompositorElementId compositorElementId = nextEffect->compositorElementId();
|
| if (compositorElementId) {
|
| m_propertyTrees.element_id_to_effect_node_index[compositorElementId] =
|
|
|