From a010684ce9236488daec00d3fc9d036014f58a23 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Wed, 7 Jan 2026 17:36:26 +0800 Subject: [PATCH] Add deprecated Node constants Remove toString where the [new] auto-generated toString symbol works. Reject node mutation on attributes. --- src/browser/webapi/DOMImplementation.zig | 5 ----- src/browser/webapi/DocumentType.zig | 5 ----- src/browser/webapi/EventTarget.zig | 1 - src/browser/webapi/Node.zig | 13 ++++++++----- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/browser/webapi/DOMImplementation.zig b/src/browser/webapi/DOMImplementation.zig index 82514c95..10a9a0c0 100644 --- a/src/browser/webapi/DOMImplementation.zig +++ b/src/browser/webapi/DOMImplementation.zig @@ -120,11 +120,6 @@ pub const JsApi = struct { pub const createDocument = bridge.function(DOMImplementation.createDocument, .{}); pub const createHTMLDocument = bridge.function(DOMImplementation.createHTMLDocument, .{}); pub const hasFeature = bridge.function(DOMImplementation.hasFeature, .{}); - - pub const toString = bridge.function(_toString, .{}); - fn _toString(_: *const DOMImplementation) []const u8 { - return "[object DOMImplementation]"; - } }; const testing = @import("../../testing.zig"); diff --git a/src/browser/webapi/DocumentType.zig b/src/browser/webapi/DocumentType.zig index fc3e093a..61d798b3 100644 --- a/src/browser/webapi/DocumentType.zig +++ b/src/browser/webapi/DocumentType.zig @@ -70,9 +70,4 @@ pub const JsApi = struct { pub const name = bridge.accessor(DocumentType.getName, null, .{}); pub const publicId = bridge.accessor(DocumentType.getPublicId, null, .{}); pub const systemId = bridge.accessor(DocumentType.getSystemId, null, .{}); - - pub const toString = bridge.function(_toString, .{}); - fn _toString(self: *const DocumentType) []const u8 { - return self.className(); - } }; diff --git a/src/browser/webapi/EventTarget.zig b/src/browser/webapi/EventTarget.zig index 33531d02..16c48466 100644 --- a/src/browser/webapi/EventTarget.zig +++ b/src/browser/webapi/EventTarget.zig @@ -167,7 +167,6 @@ pub const JsApi = struct { pub const dispatchEvent = bridge.function(EventTarget.dispatchEvent, .{}); pub const addEventListener = bridge.function(EventTarget.addEventListener, .{}); pub const removeEventListener = bridge.function(EventTarget.removeEventListener, .{}); - pub const toString = bridge.function(EventTarget.toString, .{}); }; const testing = @import("../../testing.zig"); diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig index 1e443378..11833184 100644 --- a/src/browser/webapi/Node.zig +++ b/src/browser/webapi/Node.zig @@ -201,6 +201,11 @@ fn validateNodeInsertion(parent: *Node, node: *Node) !void { if (node.contains(parent)) { return error.HierarchyError; } + + if (node._type == .attribute) { + return error.HierarchyError; + } + } pub fn appendChild(self: *Node, child: *Node, page: *Page) !*Node { @@ -847,11 +852,14 @@ pub const JsApi = struct { pub const ATTRIBUTE_NODE = bridge.property(2); pub const TEXT_NODE = bridge.property(3); pub const CDATA_SECTION_NODE = bridge.property(4); + pub const ENTITY_REFERENCE_NODE = bridge.property(5); + pub const ENTITY_NODE = bridge.property(6); pub const PROCESSING_INSTRUCTION_NODE = bridge.property(7); pub const COMMENT_NODE = bridge.property(8); pub const DOCUMENT_NODE = bridge.property(9); pub const DOCUMENT_TYPE_NODE = bridge.property(10); pub const DOCUMENT_FRAGMENT_NODE = bridge.property(11); + pub const NOTATION_NODE = bridge.property(12); pub const DOCUMENT_POSITION_DISCONNECTED = bridge.property(0x01); pub const DOCUMENT_POSITION_PRECEDING = bridge.property(0x02); @@ -907,11 +915,6 @@ pub const JsApi = struct { pub const getRootNode = bridge.function(Node.getRootNode, .{}); pub const isEqualNode = bridge.function(Node.isEqualNode, .{}); - pub const toString = bridge.function(_toString, .{}); - fn _toString(self: *const Node) []const u8 { - return self.className(); - } - fn _baseURI(_: *Node, page: *const Page) []const u8 { return page.base(); }