diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp index fe1ee4242d..ba003535e3 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.cpp +++ b/Userland/Libraries/LibWeb/DOM/Node.cpp @@ -866,4 +866,11 @@ bool Node::is_equal_node(Node const* other_node) const return true; } +// https://dom.spec.whatwg.org/#in-a-document-tree +bool Node::in_a_document_tree() const +{ + // An element is in a document tree if its root is a document. + return root().is_document(); +} + } diff --git a/Userland/Libraries/LibWeb/DOM/Node.h b/Userland/Libraries/LibWeb/DOM/Node.h index 77a6051651..ae21a766fd 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.h +++ b/Userland/Libraries/LibWeb/DOM/Node.h @@ -71,6 +71,8 @@ public: virtual bool requires_svg_container() const { return false; } virtual bool is_svg_container() const { return false; } + bool in_a_document_tree() const; + // NOTE: This is intended for the JS bindings. u16 node_type() const { return (u16)m_type; }