mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 15:13:28 +00:00
dom: add attributeNS funcs
This commit is contained in:
@@ -138,14 +138,26 @@ pub const Element = struct {
|
||||
return try parser.elementGetAttribute(self, qname);
|
||||
}
|
||||
|
||||
pub fn _getAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8) !?[]const u8 {
|
||||
return try parser.elementGetAttributeNS(self, ns, qname);
|
||||
}
|
||||
|
||||
pub fn _setAttribute(self: *parser.Element, qname: []const u8, value: []const u8) !void {
|
||||
return try parser.elementSetAttribute(self, qname, value);
|
||||
}
|
||||
|
||||
pub fn _setAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8, value: []const u8) !void {
|
||||
return try parser.elementSetAttributeNS(self, ns, qname, value);
|
||||
}
|
||||
|
||||
pub fn _removeAttribute(self: *parser.Element, qname: []const u8) !void {
|
||||
return try parser.elementRemoveAttribute(self, qname);
|
||||
}
|
||||
|
||||
pub fn _removeAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8) !void {
|
||||
return try parser.elementRemoveAttributeNS(self, ns, qname);
|
||||
}
|
||||
|
||||
pub fn _hasAttribute(self: *parser.Element, qname: []const u8) !bool {
|
||||
return try parser.elementHasAttribute(self, qname);
|
||||
}
|
||||
|
||||
@@ -1436,6 +1436,20 @@ pub fn elementGetAttribute(elem: *Element, name: []const u8) !?[]const u8 {
|
||||
return strToData(s.?);
|
||||
}
|
||||
|
||||
pub fn elementGetAttributeNS(elem: *Element, ns: []const u8, name: []const u8) !?[]const u8 {
|
||||
var s: ?*String = undefined;
|
||||
const err = elementVtable(elem).dom_element_get_attribute_ns.?(
|
||||
elem,
|
||||
try strFromData(ns),
|
||||
try strFromData(name),
|
||||
&s,
|
||||
);
|
||||
try DOMErr(err);
|
||||
if (s == null) return null;
|
||||
|
||||
return strToData(s.?);
|
||||
}
|
||||
|
||||
pub fn elementSetAttribute(elem: *Element, qname: []const u8, value: []const u8) !void {
|
||||
const err = elementVtable(elem).dom_element_set_attribute.?(
|
||||
elem,
|
||||
@@ -1445,11 +1459,35 @@ pub fn elementSetAttribute(elem: *Element, qname: []const u8, value: []const u8)
|
||||
try DOMErr(err);
|
||||
}
|
||||
|
||||
pub fn elementSetAttributeNS(
|
||||
elem: *Element,
|
||||
ns: []const u8,
|
||||
qname: []const u8,
|
||||
value: []const u8,
|
||||
) !void {
|
||||
const err = elementVtable(elem).dom_element_set_attribute_ns.?(
|
||||
elem,
|
||||
try strFromData(ns),
|
||||
try strFromData(qname),
|
||||
try strFromData(value),
|
||||
);
|
||||
try DOMErr(err);
|
||||
}
|
||||
|
||||
pub fn elementRemoveAttribute(elem: *Element, qname: []const u8) !void {
|
||||
const err = elementVtable(elem).dom_element_remove_attribute.?(elem, try strFromData(qname));
|
||||
try DOMErr(err);
|
||||
}
|
||||
|
||||
pub fn elementRemoveAttributeNS(elem: *Element, ns: []const u8, qname: []const u8) !void {
|
||||
const err = elementVtable(elem).dom_element_remove_attribute_ns.?(
|
||||
elem,
|
||||
try strFromData(ns),
|
||||
try strFromData(qname),
|
||||
);
|
||||
try DOMErr(err);
|
||||
}
|
||||
|
||||
pub fn elementHasAttribute(elem: *Element, qname: []const u8) !bool {
|
||||
var res: bool = undefined;
|
||||
const err = elementVtable(elem).dom_element_has_attribute.?(elem, try strFromData(qname), &res);
|
||||
|
||||
Reference in New Issue
Block a user