| Index: third_party/WebKit/Source/core/dom/shadow/ComposedTreeTraversal.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/shadow/ComposedTreeTraversal.cpp b/third_party/WebKit/Source/core/dom/shadow/ComposedTreeTraversal.cpp
|
| index cf529209898854c93f3c5d9b727c4ea9740ff308..1e292e5b557e660dc0a0d092125d0c7a12ae5021 100644
|
| --- a/third_party/WebKit/Source/core/dom/shadow/ComposedTreeTraversal.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/shadow/ComposedTreeTraversal.cpp
|
| @@ -155,7 +155,7 @@ ContainerNode* ComposedTreeTraversal::traverseParent(const Node& node, ParentTra
|
| HTMLSlotElement* slot = finalDestinationSlotFor(node);
|
| if (!slot)
|
| return nullptr;
|
| - return traverseParent(*slot);
|
| + return traverseParent(*slot, details);
|
| }
|
|
|
| Element* parent = node.parentElement();
|
| @@ -170,7 +170,7 @@ ContainerNode* ComposedTreeTraversal::traverseParent(const Node& node, ParentTra
|
| return traverseParentForV0(node, details);
|
|
|
| ASSERT(!shadowWhereNodeCanBeDistributed(node));
|
| - return traverseParentOrHost(node);
|
| + return traverseParentOrHost(node, details);
|
| }
|
|
|
| ContainerNode* ComposedTreeTraversal::traverseParentForV0(const Node& node, ParentTraversalDetails* details)
|
| @@ -178,21 +178,21 @@ ContainerNode* ComposedTreeTraversal::traverseParentForV0(const Node& node, Pare
|
| if (shadowWhereNodeCanBeDistributed(node)) {
|
| if (const InsertionPoint* insertionPoint = resolveReprojection(&node)) {
|
| if (details)
|
| - details->didTraverseInsertionPoint(insertionPoint);
|
| + details->didTraverseInsertionPoint();
|
| // The node is distributed. But the distribution was stopped at this insertion point.
|
| if (shadowWhereNodeCanBeDistributed(*insertionPoint))
|
| return nullptr;
|
| - return traverseParent(*insertionPoint);
|
| + return traverseParent(*insertionPoint, details);
|
| }
|
| return nullptr;
|
| }
|
| - ContainerNode* parent = traverseParentOrHost(node);
|
| + ContainerNode* parent = traverseParentOrHost(node, details);
|
| if (isActiveInsertionPoint(*parent))
|
| return nullptr;
|
| return parent;
|
| }
|
|
|
| -ContainerNode* ComposedTreeTraversal::traverseParentOrHost(const Node& node)
|
| +ContainerNode* ComposedTreeTraversal::traverseParentOrHost(const Node& node, ParentTraversalDetails* details)
|
| {
|
| ContainerNode* parent = node.parentNode();
|
| if (!parent)
|
| @@ -200,6 +200,8 @@ ContainerNode* ComposedTreeTraversal::traverseParentOrHost(const Node& node)
|
| if (!parent->isShadowRoot())
|
| return parent;
|
| ShadowRoot* shadowRoot = toShadowRoot(parent);
|
| + if (details)
|
| + details->didTraverseShadowRoot(shadowRoot);
|
| ASSERT(!shadowRoot->shadowInsertionPointOfYoungerShadowRoot());
|
| if (!shadowRoot->isYoungest())
|
| return nullptr;
|
|
|