From 71087422f67e1b46398e223ac51fa8ad371c4b91 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 29 Sep 2021 22:23:28 +0200 Subject: [PATCH] LibWeb: Add Node::in_a_document_tree() This is "in a document tree" from the DOM spec. --- Userland/Libraries/LibWeb/DOM/Node.cpp | 7 +++++++ Userland/Libraries/LibWeb/DOM/Node.h | 2 ++ 2 files changed, 9 insertions(+) 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; }