LibWeb: Use IterationDecision in single level Node iteration methods

`Node::for_each_child()` and `Node::for_each_child_of_type()` callbacks
now return an `IterationDecision`, which allows us to break early if
required.
This commit is contained in:
Tim Ledbetter 2024-05-04 14:59:52 +01:00 committed by Andrew Kaster
parent b5bed37074
commit c57d395a48
Notes: sideshowbarker 2024-07-17 02:35:27 +09:00
25 changed files with 81 additions and 27 deletions

View file

@ -174,12 +174,15 @@ Vector<JS::Handle<HTMLOptionElement>> HTMLSelectElement::list_of_options() const
for_each_child_of_type<HTMLOptionElement>([&](HTMLOptionElement& option_element) {
list.append(JS::make_handle(option_element));
return IterationDecision::Continue;
});
for_each_child_of_type<HTMLOptGroupElement>([&](HTMLOptGroupElement const& optgroup_element) {
optgroup_element.for_each_child_of_type<HTMLOptionElement>([&](HTMLOptionElement& option_element) {
list.append(JS::make_handle(option_element));
return IterationDecision::Continue;
});
return IterationDecision::Continue;
});
return list;