1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 03:35:09 +00:00

LibWeb: Implement Range.commonAncestorContainer

This commit is contained in:
Andreas Kling 2022-02-25 20:45:03 +01:00
parent aec0e54f73
commit c25d653c31
3 changed files with 20 additions and 0 deletions

View file

@ -68,4 +68,20 @@ NonnullRefPtr<Range> Range::normalized() const
return inverted();
}
// https://dom.spec.whatwg.org/#dom-range-commonancestorcontainer
NonnullRefPtr<Node> Range::common_ancestor_container() const
{
// 1. Let container be start node.
auto container = m_start_container;
// 2. While container is not an inclusive ancestor of end node, let container be containers parent.
while (!container->is_inclusive_ancestor_of(m_end_container)) {
VERIFY(container->parent());
container = *container->parent();
}
// 3. Return container.
return container;
}
}