pass null namespace/prefix to libdom

This commit is contained in:
Karl Seguin
2025-04-24 11:52:01 +08:00
parent b2a975fe4a
commit 3153d8ee8c
3 changed files with 14 additions and 12 deletions

View File

@@ -289,8 +289,7 @@ pub const Node = struct {
return try parser.nodeInsertBefore(self, new_node, ref_node); return try parser.nodeInsertBefore(self, new_node, ref_node);
} }
pub fn _isDefaultNamespace(self: *parser.Node, namespace: []const u8) !bool { pub fn _isDefaultNamespace(self: *parser.Node, namespace: ?[]const u8) !bool {
// TODO: namespace is not an optional parameter, but can be null.
return try parser.nodeIsDefaultNamespace(self, namespace); return try parser.nodeIsDefaultNamespace(self, namespace);
} }

View File

@@ -1273,8 +1273,8 @@ pub fn nodeInsertBefore(node: *Node, new_node: *Node, ref_node: *Node) !*Node {
return res.?; return res.?;
} }
pub fn nodeIsDefaultNamespace(node: *Node, namespace: []const u8) !bool { pub fn nodeIsDefaultNamespace(node: *Node, namespace_: ?[]const u8) !bool {
const s = try strFromData(namespace); const s = if (namespace_) |n| try strFromData(n) else null;
var res: bool = undefined; var res: bool = undefined;
const err = nodeVtable(node).dom_node_is_default_namespace.?(node, s, &res); const err = nodeVtable(node).dom_node_is_default_namespace.?(node, s, &res);
try DOMErr(err); try DOMErr(err);
@@ -1303,9 +1303,10 @@ pub fn nodeLookupPrefix(node: *Node, namespace: []const u8) !?[]const u8 {
return strToData(s.?); return strToData(s.?);
} }
pub fn nodeLookupNamespaceURI(node: *Node, prefix: ?[]const u8) !?[]const u8 { pub fn nodeLookupNamespaceURI(node: *Node, prefix_: ?[]const u8) !?[]const u8 {
var s: ?*String = undefined; var s: ?*String = undefined;
const err = nodeVtable(node).dom_node_lookup_namespace.?(node, try strFromData(prefix.?), &s); const prefix: ?*String = if (prefix_) |p| try strFromData(p) else null;
const err = nodeVtable(node).dom_node_lookup_namespace.?(node, prefix, &s);
try DOMErr(err); try DOMErr(err);
if (s == null) return null; if (s == null) return null;
return strToData(s.?); return strToData(s.?);

View File

@@ -163,12 +163,14 @@ const Inspector = struct {
_ = object_id; _ = object_id;
return try alloc.create(i32); return try alloc.create(i32);
} }
pub fn contextCreated(self: *const Inspector, pub fn contextCreated(
executor: *const Env.Executor, self: *const Inspector,
name: []const u8, executor: *const Env.Executor,
origin: []const u8, name: []const u8,
aux_data: ?[]const u8, origin: []const u8,
is_default_context: bool,) void { aux_data: ?[]const u8,
is_default_context: bool,
) void {
_ = self; _ = self;
_ = executor; _ = executor;
_ = name; _ = name;