mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-12-16 08:18:59 +00:00
netsurf: update parseDocumentHtml breaking change
This commit is contained in:
10
src/main.zig
10
src/main.zig
@@ -52,8 +52,12 @@ pub fn main() !void {
|
|||||||
const vm = jsruntime.VM.init();
|
const vm = jsruntime.VM.init();
|
||||||
defer vm.deinit();
|
defer vm.deinit();
|
||||||
|
|
||||||
|
// alloc
|
||||||
|
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
|
||||||
|
defer arena.deinit();
|
||||||
|
|
||||||
// document
|
// document
|
||||||
doc = parser.documentHTMLParse("test.html");
|
doc = try parser.documentHTMLParseFromFile(arena.allocator(), "test.html");
|
||||||
defer parser.documentHTMLClose(doc);
|
defer parser.documentHTMLClose(doc);
|
||||||
|
|
||||||
// remove socket file of internal server
|
// remove socket file of internal server
|
||||||
@@ -66,10 +70,6 @@ pub fn main() !void {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// alloc
|
|
||||||
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
|
|
||||||
defer arena.deinit();
|
|
||||||
|
|
||||||
// server
|
// server
|
||||||
var addr = try std.net.Address.initUnix(socket_path);
|
var addr = try std.net.Address.initUnix(socket_path);
|
||||||
server = std.net.StreamServer.init(.{});
|
server = std.net.StreamServer.init(.{});
|
||||||
|
|||||||
@@ -31,20 +31,20 @@ pub fn main() !void {
|
|||||||
// generate APIs
|
// generate APIs
|
||||||
const apis = jsruntime.compile(DOM.Interfaces);
|
const apis = jsruntime.compile(DOM.Interfaces);
|
||||||
|
|
||||||
|
// allocator
|
||||||
|
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||||
|
defer _ = gpa.deinit();
|
||||||
|
var arena = std.heap.ArenaAllocator.init(gpa.allocator());
|
||||||
|
defer arena.deinit();
|
||||||
|
|
||||||
// document
|
// document
|
||||||
doc = parser.documentHTMLParse("test.html");
|
doc = try parser.documentHTMLParseFromFile(arena.allocator(), "test.html");
|
||||||
defer parser.documentHTMLClose(doc);
|
defer parser.documentHTMLClose(doc);
|
||||||
|
|
||||||
// create JS vm
|
// create JS vm
|
||||||
const vm = jsruntime.VM.init();
|
const vm = jsruntime.VM.init();
|
||||||
defer vm.deinit();
|
defer vm.deinit();
|
||||||
|
|
||||||
// alloc
|
|
||||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
|
||||||
defer _ = gpa.deinit();
|
|
||||||
var arena = std.heap.ArenaAllocator.init(gpa.allocator());
|
|
||||||
defer arena.deinit();
|
|
||||||
|
|
||||||
// launch shell
|
// launch shell
|
||||||
try jsruntime.shell(&arena, apis, execJS, .{ .app_name = "browsercore" });
|
try jsruntime.shell(&arena, apis, execJS, .{ .app_name = "browsercore" });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -553,7 +553,7 @@ fn documentHTMLVtable(doc_html: *DocumentHTML) c.dom_html_document_vtable {
|
|||||||
return getVtable(c.dom_html_document_vtable, DocumentHTML, doc_html);
|
return getVtable(c.dom_html_document_vtable, DocumentHTML, doc_html);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn documentHTMLParse(allocator: std.mem.Allocator, filename: []const u8) !*DocumentHTML {
|
pub fn documentHTMLParseFromFile(allocator: std.mem.Allocator, filename: []const u8) !*DocumentHTML {
|
||||||
var file = try std.fs.cwd().openFile(filename, .{});
|
var file = try std.fs.cwd().openFile(filename, .{});
|
||||||
defer file.close();
|
defer file.close();
|
||||||
|
|
||||||
@@ -561,7 +561,11 @@ pub fn documentHTMLParse(allocator: std.mem.Allocator, filename: []const u8) !*D
|
|||||||
const html = try file.readToEndAlloc(allocator, file_size);
|
const html = try file.readToEndAlloc(allocator, file_size);
|
||||||
defer allocator.free(html);
|
defer allocator.free(html);
|
||||||
|
|
||||||
const doc = c.wr_create_doc_dom_from_string(html.ptr);
|
return documentHTMLParseFromString(html);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn documentHTMLParseFromString(s: []const u8) !*DocumentHTML {
|
||||||
|
const doc = c.wr_create_doc_dom_from_string(s.ptr);
|
||||||
if (doc == null) {
|
if (doc == null) {
|
||||||
return error.ParserError;
|
return error.ParserError;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,10 +38,9 @@ test {
|
|||||||
const apis = jsruntime.compile(DOM.Interfaces);
|
const apis = jsruntime.compile(DOM.Interfaces);
|
||||||
|
|
||||||
// document
|
// document
|
||||||
doc = parser.documentHTMLParse("test.html");
|
doc = try parser.documentHTMLParseFromFile(std.testing.allocator, "test.html");
|
||||||
defer parser.documentHTMLClose(doc);
|
defer parser.documentHTMLClose(doc);
|
||||||
|
|
||||||
|
|
||||||
// create JS vm
|
// create JS vm
|
||||||
const vm = jsruntime.VM.init();
|
const vm = jsruntime.VM.init();
|
||||||
defer vm.deinit();
|
defer vm.deinit();
|
||||||
|
|||||||
Reference in New Issue
Block a user