From 3d32759030e11f9c065e37a6569220f8c5300c1b Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Thu, 12 Feb 2026 12:39:07 +0800 Subject: [PATCH] Allow node.contains(null) (false), per spec --- src/browser/tests/node/node.html | 13 +++++++++++++ src/browser/webapi/Node.zig | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/browser/tests/node/node.html b/src/browser/tests/node/node.html index 72c51748..b6e628e9 100644 --- a/src/browser/tests/node/node.html +++ b/src/browser/tests/node/node.html @@ -210,3 +210,16 @@ testing.expectEqual('HTMLDivElement', disconnectedChild.getRootNode().__proto__.constructor.name); testing.expectEqual('HTMLDivElement', disconnectedChild.getRootNode({ composed: true }).__proto__.constructor.name); + +
+ diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig index 7482e042..b82f7862 100644 --- a/src/browser/webapi/Node.zig +++ b/src/browser/webapi/Node.zig @@ -413,7 +413,9 @@ pub fn getRootNode(self: *Node, opts_: ?GetRootNodeOpts) *Node { return root; } -pub fn contains(self: *const Node, child: *const Node) bool { +pub fn contains(self: *const Node, child_: ?*const Node) bool { + const child = child_ orelse return false; + if (self == child) { // yes, this is correct return true;