1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 12:47:34 +00:00

LibWeb: Implement Node.contains

Used by Web Components Polyfills.
This commit is contained in:
Luke 2021-07-05 05:55:02 +01:00 committed by Andreas Kling
parent a826df773e
commit 9cae827f07
3 changed files with 9 additions and 0 deletions

View file

@ -649,4 +649,10 @@ bool Node::is_scripting_disabled() const
return !document().browsing_context();
}
// https://dom.spec.whatwg.org/#dom-node-contains
bool Node::contains(RefPtr<Node> other) const
{
return other && other->is_inclusive_descendant_of(*this);
}
}

View file

@ -166,6 +166,8 @@ public:
bool is_scripting_disabled() const;
bool contains(RefPtr<Node>) const;
// Used for dumping the DOM Tree
void serialize_tree_as_json(JsonObjectSerializer<StringBuilder>&) const;

View file

@ -21,6 +21,7 @@ interface Node : EventTarget {
Node replaceChild(Node node, Node child);
[ImplementedAs=pre_remove] Node removeChild(Node child);
[ImplementedAs=clone_node_binding] Node cloneNode(optional boolean deep = false);
boolean contains(Node? other);
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;