Add sendEvent utility function

Signed-off-by: Francis Bouvier <francis@lightpanda.io>
This commit is contained in:
Francis Bouvier
2024-04-19 17:11:31 +02:00
parent ed38705efd
commit 9e13ffb8ff
4 changed files with 67 additions and 23 deletions

View File

@@ -31,12 +31,68 @@ fn enable(
alloc: std.mem.Allocator,
id: u64,
scanner: *std.json.Scanner,
_: *Ctx,
ctx: *Ctx,
) ![]const u8 {
_ = ctx;
// input
const sessionID = try cdp.getSessionID(scanner);
// output
// const uniqueID = "1367118932354479079.-1471398151593995849";
// const mainCtx = try executionContextCreated(
// alloc,
// 1,
// cdp.URLBase,
// "",
// uniqueID,
// .{},
// sessionID,
// );
// std.log.debug("res {s}", .{mainCtx});
// try server.sendAsync(ctx, mainCtx);
return result(alloc, id, null, null, sessionID);
}
const AuxData = struct {
isDefault: bool = true,
type: []const u8 = "default",
frameId: []const u8 = cdp.FrameID,
};
const ExecutionContextDescription = struct {
id: u64,
origin: []const u8,
name: []const u8,
uniqueId: []const u8,
auxData: ?AuxData = null,
};
fn executionContextCreated(
alloc: std.mem.Allocator,
id: u64,
origin: []const u8,
name: []const u8,
uniqueID: []const u8,
auxData: ?AuxData,
sessionID: ?[]const u8,
) ![]const u8 {
const Params = struct {
context: ExecutionContextDescription,
};
const params = Params{
.context = .{
.id = id,
.origin = origin,
.name = name,
.uniqueId = uniqueID,
.auxData = auxData,
},
};
return try cdp.method(alloc, "Runtime.executionContextCreated", Params, params, sessionID);
}
fn runIfWaitingForDebugger(
alloc: std.mem.Allocator,
id: u64,