From 09ddfd2a09be1741becb9d8ff644d6cb5e650903 Mon Sep 17 00:00:00 2001 From: Francis Bouvier Date: Thu, 28 Sep 2023 18:22:39 +0200 Subject: [PATCH] node: add lookupNamespaceURI method (NOT TESTED) Signed-off-by: Francis Bouvier --- src/dom/node.zig | 5 +++++ src/netsurf.zig | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/src/dom/node.zig b/src/dom/node.zig index 904119e0..3d3ea43c 100644 --- a/src/dom/node.zig +++ b/src/dom/node.zig @@ -180,6 +180,11 @@ pub const Node = struct { return parser.nodeLookupPrefix(self, namespace); } + pub fn _lookupNamespaceURI(self: *parser.Node, prefix: ?[]const u8) ?[]const u8 { + // TODO: other is not an optional parameter, but can be null. + return parser.nodeLookupNamespaceURI(self, prefix); + } + pub fn _normalize(self: *parser.Node) void { return parser.nodeNormalize(self); } diff --git a/src/netsurf.zig b/src/netsurf.zig index 6bf5ea54..4cf6184b 100644 --- a/src/netsurf.zig +++ b/src/netsurf.zig @@ -398,6 +398,15 @@ pub fn nodeLookupPrefix(node: *Node, namespace: ?[]const u8) ?[]const u8 { return stringToData(s.?); } +pub fn nodeLookupNamespaceURI(node: *Node, prefix: ?[]const u8) ?[]const u8 { + var s: ?*String = undefined; + _ = nodeVtable(node).dom_node_lookup_namespace.?(node, stringFromData(prefix.?), &s); + if (s == null) { + return null; + } + return stringToData(s.?); +} + pub fn nodeNormalize(node: *Node) void { _ = nodeVtable(node).dom_node_normalize.?(node); }