diff --git a/src/cdp/cdp.zig b/src/cdp/cdp.zig index 5c056763..7fcdeeb4 100644 --- a/src/cdp/cdp.zig +++ b/src/cdp/cdp.zig @@ -206,6 +206,9 @@ pub fn sendEvent( params: T, sessionID: ?[]const u8, ) !void { + // some clients like chromedp expects empty parameters structs. + if (T == void) @compileError("sendEvent: use struct{} instead of void for empty parameters"); + log_cdp.debug("Event > method {s}, sessionID {?s}", .{ name, sessionID }); const Resp = struct { method: []const u8, diff --git a/src/cdp/page.zig b/src/cdp/page.zig index d453e9d5..2079f106 100644 --- a/src/cdp/page.zig +++ b/src/cdp/page.zig @@ -329,7 +329,7 @@ fn navigate( // Send Runtime.executionContextsCleared event // TODO: noop event, we have no env context at this point, is it necesarry? - try sendEvent(alloc, ctx, "Runtime.executionContextsCleared", void, {}, input.sessionId); + try sendEvent(alloc, ctx, "Runtime.executionContextsCleared", struct {}, .{}, input.sessionId); // Launch navigate, the page must have been created by a // target.createTarget.