Merge pull request #86 from Browsercore/jsruntime_changes

Adapt to free js slices
This commit is contained in:
Pierre Tachoire
2023-11-27 12:22:07 +01:00
committed by GitHub
2 changed files with 60 additions and 12 deletions

View File

@@ -95,15 +95,33 @@ pub const Document = struct {
// the spec changed to return an HTMLCollection instead.
// That's why we reimplemented getElementsByTagName by using an
// HTMLCollection in zig here.
pub fn _getElementsByTagName(self: *parser.Document, tag_name: []const u8) collection.HTMLCollection {
pub fn _getElementsByTagName(
self: *parser.Document,
alloc: std.mem.Allocator,
tag_name: []const u8,
) !collection.HTMLCollection {
const root = parser.documentGetDocumentElement(self);
return collection.HTMLCollectionByTagName(parser.elementToNode(root), tag_name);
return try collection.HTMLCollectionByTagName(
alloc,
parser.elementToNode(root),
tag_name,
);
}
pub fn _getElementsByClassName(self: *parser.Document, classNames: []const u8) collection.HTMLCollection {
pub fn _getElementsByClassName(
self: *parser.Document,
alloc: std.mem.Allocator,
classNames: []const u8,
) !collection.HTMLCollection {
const root = parser.documentGetDocumentElement(self);
return collection.HTMLCollectionByClassName(parser.elementToNode(root), classNames);
return try collection.HTMLCollectionByClassName(
alloc,
parser.elementToNode(root),
classNames,
);
}
pub fn deinit(_: *parser.Document, _: std.mem.Allocator) void {}
};
// Tests