diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 91fa5512..2b5fa598 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -17,7 +17,7 @@ inputs: zig-v8: description: 'zig v8 version to install' required: false - default: 'v0.1.16' + default: 'v0.1.17' v8: description: 'v8 version to install' required: false diff --git a/src/wpt/run.zig b/src/wpt/run.zig index b152b5bd..e0a0c3f0 100644 --- a/src/wpt/run.zig +++ b/src/wpt/run.zig @@ -26,6 +26,7 @@ const parser = @import("netsurf"); const jsruntime = @import("jsruntime"); const Loop = jsruntime.Loop; const Env = jsruntime.Env; +const browser = @import("../browser/browser.zig"); const Window = @import("../html/window.zig").Window; const storage = @import("../storage/storage.zig"); const HttpClient = @import("../http/client.zig").Client; @@ -61,14 +62,20 @@ pub fn run(arena: *std.heap.ArenaAllocator, comptime dir: []const u8, f: []const var cookie_jar = storage.CookieJar.init(alloc); defer cookie_jar.deinit(); + var renderer = browser.Renderer.init(alloc); + defer renderer.elements.deinit(alloc); + defer renderer.positions.deinit(alloc); + var js_env: Env = undefined; Env.init(&js_env, alloc, &loop, UserContext{ .document = html_doc, .cookie_jar = &cookie_jar, .http_client = &http_client, .uri = try std.Uri.parse("https://lightpanda.io"), + .renderer = &renderer, }); defer js_env.deinit(); + errdefer js_env.wait() catch unreachable; var storageShelf = storage.Shelf.init(alloc); defer storageShelf.deinit(); diff --git a/vendor/zig-js-runtime b/vendor/zig-js-runtime index 6b48960a..f3a9e3d4 160000 --- a/vendor/zig-js-runtime +++ b/vendor/zig-js-runtime @@ -1 +1 @@ -Subproject commit 6b48960a0664b74016c777da5e3f9129e5f041f7 +Subproject commit f3a9e3d448cd56a709ec2d101c05507e894d8e6f