update workers for better cdp integration

This commit is contained in:
Karl Seguin
2026-04-14 12:42:07 +08:00
parent 1adb371902
commit b088c42980
2 changed files with 13 additions and 5 deletions

View File

@@ -127,12 +127,12 @@ pub fn timeEnd(self: *Console, label_: ?[]const u8) void {
logger.info(.js, "console.timeEnd", .{ .label = label, .elapsed = elapsed - kv.value });
}
pub fn group(_: *const Console, values: []js.Value, page: *Page) void {
logger.info(.js, "console.group", .{ValueWriter{ .page = page, .values = values }});
pub fn group(_: *const Console, values: []js.Value) void {
logger.info(.js, "console.group", .{ValueWriter{ .values = values }});
}
pub fn groupCollapsed(_: *const Console, values: []js.Value, page: *Page) void {
logger.info(.js, "console.groupCollapsed", .{ValueWriter{ .page = page, .values = values }});
pub fn groupCollapsed(_: *const Console, values: []js.Value) void {
logger.info(.js, "console.groupCollapsed", .{ValueWriter{ .values = values }});
}
pub fn groupEnd(_: *const Console) void {}

View File

@@ -39,6 +39,11 @@ const IS_DEBUG = @import("builtin").mode == .Debug;
const Worker = @This();
// used by HttpClient when generating notification
// Ultimately used by CDP to generate request/loader ids.
id: u32,
_pseudo_frame_id: u32,
_proto: *EventTarget,
_page: *Page,
_arena: Allocator,
@@ -66,6 +71,8 @@ pub fn init(url: []const u8, exec: *Execution) !*Worker {
const resolved_url = try URL.resolve(arena, exec.url.*, url, .{});
const self = try session.factory.eventTargetWithAllocator(arena, Worker{
.id = session.nextPageId(),
._pseudo_frame_id = session.nextFrameId(),
._arena = arena,
._proto = undefined,
._page = page,
@@ -92,7 +99,8 @@ pub fn init(url: []const u8, exec: *Execution) !*Worker {
.url = resolved_url,
.method = .GET,
.headers = try http_client.newHeaders(),
.frame_id = 0, // Workers don't belong to frames
.page_id = self.id,
.frame_id = self._pseudo_frame_id,
.resource_type = .script,
.cookie_jar = &session.cookie_jar,
.cookie_origin = resolved_url,