From c4380b91f448a54e5a145cb48f7ef0c75fbb8548 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Wed, 12 Nov 2025 11:02:22 +0100 Subject: [PATCH] handle template's original content When the document fragment is called via the content method on a templat, it must contain the original template's HTML nodes. --- src/browser/dom/node.zig | 16 ++++++++++++++++ src/browser/html/elements.zig | 15 ++++++++++++++- src/tests/html/template.html | 16 ++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/browser/dom/node.zig b/src/browser/dom/node.zig index a8f43a1f4..7eae13c9a 100644 --- a/src/browser/dom/node.zig +++ b/src/browser/dom/node.zig @@ -390,7 +390,23 @@ pub const Node = struct { return parser.nodeHasChildNodes(self); } + fn is_template(self: *parser.Node) !bool { + if (parser.nodeType(self) != .element) { + return false; + } + + const e = parser.nodeToElement(self); + return try parser.elementTag(e) == .template; + } + pub fn get_childNodes(self: *parser.Node, page: *Page) !NodeList { + // special case for template: + // > The Node.childNodes property of the