@@ -57,12 +57,13 @@ const Frame = struct {
5757
5858fn getFrameTree (cmd : anytype ) ! void {
5959 const bc = cmd .browser_context orelse return error .BrowserContextNotLoaded ;
60+ const target_id = bc .target_id orelse return error .TargetNotLoaded ;
6061
6162 return cmd .sendResult (.{
6263 .frameTree = .{
6364 .frame = Frame {
6465 .url = bc .url ,
65- .id = bc . frame_id ,
66+ .id = target_id ,
6667 .loaderId = bc .loader_id ,
6768 .securityOrigin = bc .security_origin ,
6869 .secureContextType = bc .secure_context_type ,
@@ -132,7 +133,7 @@ fn navigate(cmd: anytype) !void {
132133 const bc = cmd .browser_context orelse return error .BrowserContextNotLoaded ;
133134
134135 // didn't create?
135- _ = bc .target_id orelse return error .TargetIdNotLoaded ;
136+ const target_id = bc .target_id orelse return error .TargetIdNotLoaded ;
136137
137138 // didn't attach?
138139 const session_id = bc .session_id orelse return error .SessionIdNotLoaded ;
@@ -163,7 +164,7 @@ fn navigate(cmd: anytype) !void {
163164 };
164165
165166 var life_event = LifecycleEvent {
166- .frameId = bc . frame_id ,
167+ .frameId = target_id ,
167168 .loaderId = bc .loader_id ,
168169 .name = "init" ,
169170 .timestamp = 343721.796037 ,
@@ -172,7 +173,7 @@ fn navigate(cmd: anytype) !void {
172173 // frameStartedLoading event
173174 // TODO: event partially hard coded
174175 try cmd .sendEvent ("Page.frameStartedLoading" , .{
175- .frameId = bc . frame_id ,
176+ .frameId = target_id ,
176177 }, .{ .session_id = session_id });
177178
178179 if (bc .page_life_cycle_events ) {
@@ -181,7 +182,7 @@ fn navigate(cmd: anytype) !void {
181182
182183 // output
183184 try cmd .sendResult (.{
184- .frameId = bc . frame_id ,
185+ .frameId = target_id ,
185186 .loaderId = bc .loader_id ,
186187 }, .{});
187188
@@ -195,7 +196,7 @@ fn navigate(cmd: anytype) !void {
195196 cmd .arena ,
196197 // NOTE: we assume this is the default web page
197198 "{{\" isDefault\" :true,\" type\" :\" default\" ,\" frameId\" :\" {s}\" }}" ,
198- .{bc . frame_id },
199+ .{target_id },
199200 );
200201
201202 var page = bc .session .currentPage ().? ;
@@ -217,7 +218,7 @@ fn navigate(cmd: anytype) !void {
217218 try cmd .sendEvent ("Page.frameNavigated" , .{
218219 .type = "Navigation" ,
219220 .frame = Frame {
220- .id = bc . frame_id ,
221+ .id = target_id ,
221222 .url = bc .url ,
222223 .securityOrigin = bc .security_origin ,
223224 .secureContextType = bc .secure_context_type ,
@@ -259,7 +260,7 @@ fn navigate(cmd: anytype) !void {
259260
260261 // frameStoppedLoading
261262 return cmd .sendEvent ("Page.frameStoppedLoading" , .{
262- .frameId = bc . frame_id ,
263+ .frameId = target_id ,
263264 }, .{ .session_id = session_id });
264265}
265266
@@ -273,13 +274,13 @@ test "cdp.page: getFrameTree" {
273274 try ctx .expectSentError (-31998 , "BrowserContextNotLoaded" , .{ .id = 10 });
274275 }
275276
276- const bc = try ctx .loadBrowserContext (.{ .id = "BID-9" });
277+ const bc = try ctx .loadBrowserContext (.{ .id = "BID-9" , . target_id = "TID-3" });
277278 {
278279 try ctx .processMessage (.{ .id = 11 , .method = "Page.getFrameTree" });
279280 try ctx .expectSentResult (.{
280281 .frameTree = .{
281282 .frame = .{
282- .id = bc . frame_id ,
283+ .id = "TID-3" ,
283284 .loaderId = bc .loader_id ,
284285 .url = bc .url ,
285286 .domainAndRegistry = "" ,
0 commit comments