LibWeb: Implement getting the container document of a navigable

Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
This commit is contained in:
Andreas Kling 2022-12-16 12:05:19 +01:00
parent d85bdd3ac5
commit 406e3ed849
Notes: sideshowbarker 2024-07-17 02:08:15 +09:00
2 changed files with 14 additions and 0 deletions

View File

@ -193,6 +193,19 @@ JS::GCPtr<NavigableContainer> Navigable::container() const
return NavigableContainer::navigable_container_with_content_navigable(const_cast<Navigable&>(*this));
}
// https://html.spec.whatwg.org/multipage/document-sequences.html#nav-container-document
JS::GCPtr<DOM::Document> Navigable::container_document() const
{
auto container = this->container();
// 1. If navigable's container is null, then return null.
if (!container)
return nullptr;
// 2. Return navigable's container's node document.
return container->document();
}
// https://html.spec.whatwg.org/multipage/document-sequences.html#nav-traversable
JS::GCPtr<TraversableNavigable> Navigable::traversable_navigable() const
{

View File

@ -60,6 +60,7 @@ public:
String target_name() const;
JS::GCPtr<NavigableContainer> container() const;
JS::GCPtr<DOM::Document> container_document() const;
JS::GCPtr<TraversableNavigable> traversable_navigable() const;
JS::GCPtr<TraversableNavigable> top_level_traversable();