From 3c7c08f8223b79bcb4fcd7068bbfd6de5036cd06 Mon Sep 17 00:00:00 2001 From: Halil Durak Date: Mon, 11 May 2026 15:24:08 +0300 Subject: [PATCH] `--inject-script`: don't error out if script execution fails --- src/browser/Frame.zig | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/browser/Frame.zig b/src/browser/Frame.zig index f4e63cc9..56c23c1b 100644 --- a/src/browser/Frame.zig +++ b/src/browser/Frame.zig @@ -2147,15 +2147,14 @@ pub fn createElementNS(self: *Frame, namespace: Element.Namespace, name: []const self.js.localScope(&ls); defer ls.deinit(); - var try_catch: JS.TryCatch = undefined; - try_catch.init(&ls.local); - defer try_catch.deinit(); - for (inject_scripts) |inject_script| { + var try_catch: JS.TryCatch = undefined; + try_catch.init(&ls.local); + defer try_catch.deinit(); + ls.local.eval(inject_script, "inject_script") catch |err| { const caught = try_catch.caughtOrError(self.call_arena, err); log.err(.app, "inject script error", .{ .err = caught }); - return error.InjectScriptError; }; } } @@ -4112,6 +4111,12 @@ test "WebApi: Integration" { try testing.htmlRunner("integration", .{}); } +test "WebApi: inject_script" { + try testing.htmlRunner("inject_script.html", .{ + .inject_script = "window.__injected = true; window.__injectValue = 42;", + }); +} + test "Page: isSameOrigin" { var arena = std.heap.ArenaAllocator.init(testing.allocator); defer arena.deinit();