LibWeb: Implement Node::navigable()

https://html.spec.whatwg.org/multipage/document-sequences.html#node-navigable
This commit is contained in:
Aliaksandr Kalenik 2023-04-23 00:21:59 +03:00 committed by Andreas Kling
parent 6e416284b9
commit 22572c39e0
Notes: sideshowbarker 2024-07-17 08:55:54 +09:00
2 changed files with 11 additions and 0 deletions

View file

@ -32,6 +32,7 @@
#include <LibWeb/HTML/CustomElements/CustomElementReactionNames.h>
#include <LibWeb/HTML/HTMLAnchorElement.h>
#include <LibWeb/HTML/HTMLStyleElement.h>
#include <LibWeb/HTML/Navigable.h>
#include <LibWeb/HTML/NavigableContainer.h>
#include <LibWeb/HTML/Origin.h>
#include <LibWeb/HTML/Parser/HTMLParser.h>
@ -238,6 +239,14 @@ void Node::set_node_value(DeprecatedString const& value)
// Otherwise, do nothing.
}
// https://html.spec.whatwg.org/multipage/document-sequences.html#node-navigable
JS::GCPtr<HTML::Navigable> Node::navigable() const
{
// To get the node navigable of a node node, return the navigable whose active document is node's node document,
// or null if there is no such navigable.
return HTML::Navigable::navigable_with_active_document(const_cast<Document&>(document()));
}
void Node::invalidate_style()
{
if (is_document()) {

View file

@ -135,6 +135,8 @@ public:
DeprecatedString node_value() const;
void set_node_value(DeprecatedString const&);
JS::GCPtr<HTML::Navigable> navigable() const;
Document& document() { return *m_document; }
Document const& document() const { return *m_document; }