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

Unified Diff: third_party/WebKit/Source/core/dom/shadow/SlotScopedTraversal.cpp

Issue 1840333002: Support slots' fallback contents in focus navigation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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/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

Powered by Google App Engine
This is Rietveld 408576698