From 05f0f8901e45b94aeb8748b14ae981618db9d0f2 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Sat, 10 Jan 2026 08:24:12 +0800 Subject: [PATCH] make Node.isConnected() shadowroot-aware --- src/browser/webapi/Node.zig | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig index 03f7ac7f..ae805456 100644 --- a/src/browser/webapi/Node.zig +++ b/src/browser/webapi/Node.zig @@ -378,8 +378,14 @@ pub fn isConnected(self: *const Node) bool { root = parent; } - // A node is connected if its root is a document - return root._type == .document; + switch (root._type) { + .document => return true, + .document_fragment => |df| { + const sr = df.is(ShadowRoot) orelse return false; + return sr._host.asNode().isConnected(); + }, + else => return false, + } } const GetRootNodeOpts = struct {