Skip to content

Commit 8ec22ca

Browse files
Merge pull request #246 from lightpanda-io/mutation-observer
dom: implement MutationObserver
2 parents 00e8f13 + d8fe029 commit 8ec22ca

File tree

5 files changed

+494
-0
lines changed

5 files changed

+494
-0
lines changed

src/dom/dom.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const NamedNodeMap = @import("namednodemap.zig").NamedNodeMap;
2525
const DOMTokenList = @import("token_list.zig").DOMTokenList;
2626
const NodeList = @import("nodelist.zig").NodeList;
2727
const Nod = @import("node.zig");
28+
const MutationObserver = @import("mutation_observer.zig");
2829

2930
pub const Interfaces = generate.Tuple(.{
3031
DOMException,
@@ -35,4 +36,5 @@ pub const Interfaces = generate.Tuple(.{
3536
NodeList,
3637
Nod.Node,
3738
Nod.Interfaces,
39+
MutationObserver.Interfaces,
3840
});

src/dom/element.zig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,26 @@ pub const Element = struct {
138138
return try parser.elementGetAttribute(self, qname);
139139
}
140140

141+
pub fn _getAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8) !?[]const u8 {
142+
return try parser.elementGetAttributeNS(self, ns, qname);
143+
}
144+
141145
pub fn _setAttribute(self: *parser.Element, qname: []const u8, value: []const u8) !void {
142146
return try parser.elementSetAttribute(self, qname, value);
143147
}
144148

149+
pub fn _setAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8, value: []const u8) !void {
150+
return try parser.elementSetAttributeNS(self, ns, qname, value);
151+
}
152+
145153
pub fn _removeAttribute(self: *parser.Element, qname: []const u8) !void {
146154
return try parser.elementRemoveAttribute(self, qname);
147155
}
148156

157+
pub fn _removeAttributeNS(self: *parser.Element, ns: []const u8, qname: []const u8) !void {
158+
return try parser.elementRemoveAttributeNS(self, ns, qname);
159+
}
160+
149161
pub fn _hasAttribute(self: *parser.Element, qname: []const u8) !bool {
150162
return try parser.elementHasAttribute(self, qname);
151163
}

0 commit comments

Comments
 (0)