Add Page.createIsolatedWorld

Signed-off-by: Francis Bouvier <francis@lightpanda.io>
This commit is contained in:
Francis Bouvier
2024-04-18 21:57:31 +02:00
parent c54b50eb0c
commit 9ce574a1f0

View File

@@ -12,6 +12,7 @@ const PageMethods = enum {
getFrameTree,
setLifecycleEventsEnabled,
addScriptToEvaluateOnNewDocument,
createIsolatedWorld,
};
pub fn page(
@@ -28,6 +29,7 @@ pub fn page(
.getFrameTree => getFrameTree(alloc, id, scanner, ctx),
.setLifecycleEventsEnabled => setLifecycleEventsEnabled(alloc, id, scanner, ctx),
.addScriptToEvaluateOnNewDocument => addScriptToEvaluateOnNewDocument(alloc, id, scanner, ctx),
.createIsolatedWorld => createIsolatedWorld(alloc, id, scanner, ctx),
};
}
@@ -123,3 +125,21 @@ fn addScriptToEvaluateOnNewDocument(
};
return result(alloc, id, Res, Res{}, sessionID);
}
fn createIsolatedWorld(
alloc: std.mem.Allocator,
id: u64,
scanner: *std.json.Scanner,
_: *Ctx,
) ![]const u8 {
// input
const content = try cdp.getContent(alloc, void, scanner);
// output
const Resp = struct {
executionContextId: u8 = 2,
};
return result(alloc, id, Resp, .{}, content.sessionID);
}