Merge pull request #517 from lightpanda-io/wpt-fix
Some checks failed
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled

Wpt fix
This commit is contained in:
Pierre Tachoire
2025-04-09 08:39:18 +02:00
committed by GitHub
3 changed files with 9 additions and 2 deletions

View File

@@ -17,7 +17,7 @@ inputs:
zig-v8: zig-v8:
description: 'zig v8 version to install' description: 'zig v8 version to install'
required: false required: false
default: 'v0.1.16' default: 'v0.1.17'
v8: v8:
description: 'v8 version to install' description: 'v8 version to install'
required: false required: false

View File

@@ -26,6 +26,7 @@ const parser = @import("netsurf");
const jsruntime = @import("jsruntime"); const jsruntime = @import("jsruntime");
const Loop = jsruntime.Loop; const Loop = jsruntime.Loop;
const Env = jsruntime.Env; const Env = jsruntime.Env;
const browser = @import("../browser/browser.zig");
const Window = @import("../html/window.zig").Window; const Window = @import("../html/window.zig").Window;
const storage = @import("../storage/storage.zig"); const storage = @import("../storage/storage.zig");
const HttpClient = @import("../http/client.zig").Client; 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); var cookie_jar = storage.CookieJar.init(alloc);
defer cookie_jar.deinit(); 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; var js_env: Env = undefined;
Env.init(&js_env, alloc, &loop, UserContext{ Env.init(&js_env, alloc, &loop, UserContext{
.document = html_doc, .document = html_doc,
.cookie_jar = &cookie_jar, .cookie_jar = &cookie_jar,
.http_client = &http_client, .http_client = &http_client,
.uri = try std.Uri.parse("https://lightpanda.io"), .uri = try std.Uri.parse("https://lightpanda.io"),
.renderer = &renderer,
}); });
defer js_env.deinit(); defer js_env.deinit();
errdefer js_env.wait() catch unreachable;
var storageShelf = storage.Shelf.init(alloc); var storageShelf = storage.Shelf.init(alloc);
defer storageShelf.deinit(); defer storageShelf.deinit();