LibWeb: Use TraversalDecision for multi level Node traversal methods

This adds the `SkipChildrenAndContinue` option, where traversal
continues but child nodes are not included.
This commit is contained in:
Tim Ledbetter 2024-05-04 14:47:04 +01:00 committed by Andrew Kaster
parent c57d395a48
commit 398bf10b92
Notes: sideshowbarker 2024-07-17 08:59:18 +09:00
33 changed files with 229 additions and 215 deletions

View file

@ -157,15 +157,15 @@ void HTMLDetailsElement::update_shadow_tree_slots()
for_each_in_subtree([&](auto& child) {
if (&child == summary)
return IterationDecision::Continue;
return TraversalDecision::Continue;
if (!child.is_slottable())
return IterationDecision::Continue;
return TraversalDecision::Continue;
child.as_slottable().visit([&](auto& node) {
descendants_assignment.append(JS::make_handle(node));
});
return IterationDecision::Continue;
return TraversalDecision::Continue;
});
m_summary_slot->assign(move(summary_assignment));