| Index: third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
|
| index 702f2baed84229c3d2c13a1c1cd1dd6876a8a8c4..7077820e02f7667c3815cbe386cea5bac67bd647 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
|
| @@ -446,6 +446,7 @@ 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.clip_id_to_index_map.clear();
|
| cc::ClipNode& clipNode =
|
| *clipTree.Node(clipTree.Insert(cc::ClipNode(), kRealRootNodeId));
|
| DCHECK_EQ(clipNode.id, kSecondaryRootNodeId);
|
| @@ -458,6 +459,7 @@ void PropertyTreeManager::setupRootClipNode() {
|
| clipNode.transform_id = kRealRootNodeId;
|
| clipNode.target_transform_id = kRealRootNodeId;
|
| clipNode.target_effect_id = kSecondaryRootNodeId;
|
| + m_propertyTrees.clip_id_to_index_map[clipNode.owner_id] = clipNode.id;
|
|
|
| m_clipNodeMap.set(ClipPaintPropertyNode::root(), clipNode.id);
|
| m_rootLayer->SetClipTreeIndex(clipNode.id);
|
| @@ -467,6 +469,7 @@ 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.effect_id_to_index_map.clear();
|
| cc::EffectNode& effectNode =
|
| *effectTree.Node(effectTree.Insert(cc::EffectNode(), kInvalidNodeId));
|
| DCHECK_EQ(effectNode.id, kSecondaryRootNodeId);
|
| @@ -474,6 +477,7 @@ void PropertyTreeManager::setupRootEffectNode() {
|
| effectNode.transform_id = kRealRootNodeId;
|
| effectNode.clip_id = kSecondaryRootNodeId;
|
| effectNode.has_render_surface = true;
|
| + m_propertyTrees.effect_id_to_index_map[effectNode.owner_id] = effectNode.id;
|
|
|
| m_effectStack.append(
|
| BlinkEffectAndCcIdPair{EffectPaintPropertyNode::root(), effectNode.id});
|
| @@ -483,11 +487,13 @@ void PropertyTreeManager::setupRootEffectNode() {
|
| void PropertyTreeManager::setupRootScrollNode() {
|
| cc::ScrollTree& scrollTree = m_propertyTrees.scroll_tree;
|
| scrollTree.clear();
|
| + m_propertyTrees.scroll_id_to_index_map.clear();
|
| cc::ScrollNode& scrollNode =
|
| *scrollTree.Node(scrollTree.Insert(cc::ScrollNode(), kRealRootNodeId));
|
| DCHECK_EQ(scrollNode.id, kSecondaryRootNodeId);
|
| scrollNode.owner_id = m_rootLayer->id();
|
| scrollNode.transform_id = kSecondaryRootNodeId;
|
| + m_propertyTrees.scroll_id_to_index_map[scrollNode.owner_id] = scrollNode.id;
|
|
|
| m_scrollNodeMap.set(ScrollPaintPropertyNode::root(), scrollNode.id);
|
| m_rootLayer->SetScrollTreeIndex(scrollNode.id);
|
| @@ -555,6 +561,7 @@ int PropertyTreeManager::compositorIdForClipNode(
|
|
|
| cc::ClipNode& compositorNode = *clipTree().Node(id);
|
| compositorNode.owner_id = dummyLayer->id();
|
| + m_propertyTrees.clip_id_to_index_map[compositorNode.owner_id] = id;
|
|
|
| // TODO(jbroman): Don't discard rounded corners.
|
| compositorNode.clip = clipNode->clipRect().rect();
|
| @@ -595,6 +602,7 @@ int PropertyTreeManager::compositorIdForScrollNode(
|
|
|
| cc::ScrollNode& compositorNode = *scrollTree().Node(id);
|
| compositorNode.owner_id = parentId;
|
| + m_propertyTrees.scroll_id_to_index_map[compositorNode.owner_id] = id;
|
|
|
| compositorNode.scrollable = true;
|
|
|
| @@ -724,6 +732,7 @@ void PropertyTreeManager::buildEffectNodesRecursively(
|
| dummyClip.transform_id = kRealRootNodeId;
|
| dummyClip.target_transform_id = kRealRootNodeId;
|
| dummyClip.target_effect_id = kSecondaryRootNodeId;
|
| + m_propertyTrees.clip_id_to_index_map[dummyClip.owner_id] = dummyClip.id;
|
|
|
| cc::EffectNode& effectNode = *effectTree().Node(effectTree().Insert(
|
| cc::EffectNode(), compositorIdForCurrentEffectNode()));
|
| @@ -739,6 +748,7 @@ void PropertyTreeManager::buildEffectNodesRecursively(
|
| // decision until later phase of the pipeline. Remove premature optimization
|
| // here once the work is ready.
|
| effectNode.opacity = nextEffect->opacity();
|
| + m_propertyTrees.effect_id_to_index_map[effectNode.owner_id] = effectNode.id;
|
| m_effectStack.append(BlinkEffectAndCcIdPair{nextEffect, effectNode.id});
|
|
|
| dummyLayer->set_property_tree_sequence_number(kPropertyTreeSequenceNumber);
|
|
|