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, getFrameTree,
setLifecycleEventsEnabled, setLifecycleEventsEnabled,
addScriptToEvaluateOnNewDocument, addScriptToEvaluateOnNewDocument,
createIsolatedWorld,
}; };
pub fn page( pub fn page(
@@ -28,6 +29,7 @@ pub fn page(
.getFrameTree => getFrameTree(alloc, id, scanner, ctx), .getFrameTree => getFrameTree(alloc, id, scanner, ctx),
.setLifecycleEventsEnabled => setLifecycleEventsEnabled(alloc, id, scanner, ctx), .setLifecycleEventsEnabled => setLifecycleEventsEnabled(alloc, id, scanner, ctx),
.addScriptToEvaluateOnNewDocument => addScriptToEvaluateOnNewDocument(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); 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);
}