mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-22 23:55:12 +00:00
LibWeb: Implement more of the foster parenting algorithm in the parser
This commit is contained in:
@@ -140,4 +140,27 @@ Element* StackOfOpenElements::topmost_special_node_below(const Element& formatti
|
||||
return found_element;
|
||||
}
|
||||
|
||||
Element* StackOfOpenElements::last_element_with_tag_name(const FlyString& tag_name)
|
||||
{
|
||||
for (ssize_t i = m_elements.size() - 1; i >= 0; --i) {
|
||||
auto& element = m_elements[i];
|
||||
if (element.tag_name() == tag_name)
|
||||
return &element;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Element* StackOfOpenElements::element_before(const Element& target)
|
||||
{
|
||||
bool found_target = false;
|
||||
for (ssize_t i = m_elements.size() - 1; i >= 0; --i) {
|
||||
auto& element = m_elements[i];
|
||||
if (&element == &target) {
|
||||
found_target = true;
|
||||
} else if (found_target)
|
||||
return &element;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user