| Index: third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp b/third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp
|
| index 92a75f5a96ae3c124304784ec2125fe72cd477c9..82b4123b6fd897f51ad6837db94285fc4748bcd7 100644
|
| --- a/third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp
|
| @@ -82,4 +82,20 @@ bool SlotScopedTraversal::isSlotScoped(const Element& current)
|
| return SlotScopedTraversal::nearestAncestorAssignedToSlot(current);
|
| }
|
|
|
| +HTMLSlotElement* SlotScopedTraversal::findFallbackScopeOwnerSlot(const Element& current)
|
| +{
|
| + Element* parent = const_cast<Element*>(current.parentElement());
|
| + while (parent) {
|
| + if (isHTMLSlotElement(parent))
|
| + return toHTMLSlotElement(parent)->getAssignedNodes().isEmpty() ? toHTMLSlotElement(parent) : nullptr;
|
| + parent = parent->parentElement();
|
| + }
|
| + return nullptr;
|
| +}
|
| +
|
| +bool SlotScopedTraversal::isSlotFallbackScoped(const Element& current)
|
| +{
|
| + return SlotScopedTraversal::findFallbackScopeOwnerSlot(current);
|
| +}
|
| +
|
| } // namespace blink
|
|
|