@@ -243,11 +243,11 @@ func (fs *FrameSession) initEvents() {
243
243
for {
244
244
select {
245
245
case <- fs .session .done :
246
- fs .logger .Debugf ("NewFrameSession :initEvents:go:session.done" ,
246
+ fs .logger .Debugf ("FrameSession :initEvents:go:session.done" ,
247
247
"sid:%v tid:%v" , fs .session .id , fs .targetID )
248
248
return
249
249
case <- fs .ctx .Done ():
250
- fs .logger .Debugf ("NewFrameSession :initEvents:go:ctx.Done" ,
250
+ fs .logger .Debugf ("FrameSession :initEvents:go:ctx.Done" ,
251
251
"sid:%v tid:%v" , fs .session .id , fs .targetID )
252
252
253
253
return
@@ -285,12 +285,8 @@ func (fs *FrameSession) initEvents() {
285
285
case * runtime.EventExecutionContextsCleared :
286
286
fs .onExecutionContextsCleared ()
287
287
case * target.EventAttachedToTarget :
288
- // handle target attachment in a new goroutine
289
- // so that other frame events won't go stale.
290
288
fs .onAttachedToTarget (ev )
291
289
case * target.EventDetachedFromTarget :
292
- // handle target detachment in a new goroutine
293
- // so that other frame events won't go stale.
294
290
fs .onDetachedFromTarget (ev )
295
291
}
296
292
}
@@ -476,7 +472,7 @@ func (fs *FrameSession) isMainFrame() bool {
476
472
}
477
473
478
474
func (fs * FrameSession ) handleFrameTree (frameTree * cdppage.FrameTree ) {
479
- fs .logger .Debugf ("NewFrameSession :handleFrameTree" ,
475
+ fs .logger .Debugf ("FrameSession :handleFrameTree" ,
480
476
"sid:%v tid:%v" , fs .session .id , fs .targetID )
481
477
482
478
if frameTree .Frame .ParentID != "" {
@@ -492,7 +488,7 @@ func (fs *FrameSession) handleFrameTree(frameTree *cdppage.FrameTree) {
492
488
}
493
489
494
490
func (fs * FrameSession ) navigateFrame (frame * Frame , url , referrer string ) (string , error ) {
495
- fs .logger .Debugf ("NewFrameSession :navigateFrame" ,
491
+ fs .logger .Debugf ("FrameSession :navigateFrame" ,
496
492
"sid:%v tid:%v url:%q referrer:%q" ,
497
493
fs .session .id , fs .targetID , url , referrer )
498
494
@@ -541,7 +537,7 @@ func (fs *FrameSession) onExceptionThrown(event *runtime.EventExceptionThrown) {
541
537
}
542
538
543
539
func (fs * FrameSession ) onExecutionContextCreated (event * runtime.EventExecutionContextCreated ) {
544
- fs .logger .Debugf ("NewFrameSession :onExecutionContextCreated" ,
540
+ fs .logger .Debugf ("FrameSession :onExecutionContextCreated" ,
545
541
"sid:%v tid:%v ectxid:%d" ,
546
542
fs .session .id , fs .targetID , event .Context .ID )
547
543
@@ -579,7 +575,7 @@ func (fs *FrameSession) onExecutionContextCreated(event *runtime.EventExecutionC
579
575
}
580
576
581
577
func (fs * FrameSession ) onExecutionContextDestroyed (execCtxID runtime.ExecutionContextID ) {
582
- fs .logger .Debugf ("NewFrameSession :onExecutionContextDestroyed" ,
578
+ fs .logger .Debugf ("FrameSession :onExecutionContextDestroyed" ,
583
579
"sid:%v tid:%v ectxid:%d" ,
584
580
fs .session .id , fs .targetID , execCtxID )
585
581
@@ -596,7 +592,7 @@ func (fs *FrameSession) onExecutionContextDestroyed(execCtxID runtime.ExecutionC
596
592
}
597
593
598
594
func (fs * FrameSession ) onExecutionContextsCleared () {
599
- fs .logger .Debugf ("NewFrameSession :onExecutionContextsCleared" ,
595
+ fs .logger .Debugf ("FrameSession :onExecutionContextsCleared" ,
600
596
"sid:%v tid:%v" , fs .session .id , fs .targetID )
601
597
602
598
fs .contextIDToContextMu .Lock ()
@@ -613,7 +609,7 @@ func (fs *FrameSession) onExecutionContextsCleared() {
613
609
}
614
610
615
611
func (fs * FrameSession ) onFrameAttached (frameID cdp.FrameID , parentFrameID cdp.FrameID ) {
616
- fs .logger .Debugf ("NewFrameSession :onFrameAttached" ,
612
+ fs .logger .Debugf ("FrameSession :onFrameAttached" ,
617
613
"sid:%v tid:%v fid:%v pfid:%v" ,
618
614
fs .session .id , fs .targetID , frameID , parentFrameID )
619
615
@@ -622,15 +618,15 @@ func (fs *FrameSession) onFrameAttached(frameID cdp.FrameID, parentFrameID cdp.F
622
618
}
623
619
624
620
func (fs * FrameSession ) onFrameDetached (frameID cdp.FrameID , reason cdppage.FrameDetachedReason ) {
625
- fs .logger .Debugf ("NewFrameSession :onFrameDetached" ,
621
+ fs .logger .Debugf ("FrameSession :onFrameDetached" ,
626
622
"sid:%v tid:%v fid:%v reason:%s" ,
627
623
fs .session .id , fs .targetID , frameID , reason )
628
624
629
625
fs .manager .frameDetached (frameID )
630
626
}
631
627
632
628
func (fs * FrameSession ) onFrameNavigated (frame * cdp.Frame , initial bool ) {
633
- fs .logger .Debugf ("NewFrameSession :onFrameNavigated" ,
629
+ fs .logger .Debugf ("FrameSession :onFrameNavigated" ,
634
630
"sid:%v tid:%v fid:%v" ,
635
631
fs .session .id , fs .targetID , frame .ID )
636
632
@@ -641,7 +637,7 @@ func (fs *FrameSession) onFrameNavigated(frame *cdp.Frame, initial bool) {
641
637
}
642
638
643
639
func (fs * FrameSession ) onFrameRequestedNavigation (event * cdppage.EventFrameRequestedNavigation ) {
644
- fs .logger .Debugf ("NewFrameSession :onFrameRequestedNavigation" ,
640
+ fs .logger .Debugf ("FrameSession :onFrameRequestedNavigation" ,
645
641
"sid:%v tid:%v fid:%v url:%q" ,
646
642
fs .session .id , fs .targetID , event .FrameID , event .URL )
647
643
@@ -654,15 +650,15 @@ func (fs *FrameSession) onFrameRequestedNavigation(event *cdppage.EventFrameRequ
654
650
}
655
651
656
652
func (fs * FrameSession ) onFrameStartedLoading (frameID cdp.FrameID ) {
657
- fs .logger .Debugf ("NewFrameSession :onFrameStartedLoading" ,
653
+ fs .logger .Debugf ("FrameSession :onFrameStartedLoading" ,
658
654
"sid:%v tid:%v fid:%v" ,
659
655
fs .session .id , fs .targetID , frameID )
660
656
661
657
fs .manager .frameLoadingStarted (frameID )
662
658
}
663
659
664
660
func (fs * FrameSession ) onFrameStoppedLoading (frameID cdp.FrameID ) {
665
- fs .logger .Debugf ("NewFrameSession :onFrameStoppedLoading" ,
661
+ fs .logger .Debugf ("FrameSession :onFrameStoppedLoading" ,
666
662
"sid:%v tid:%v fid:%v" ,
667
663
fs .session .id , fs .targetID , frameID )
668
664
@@ -692,7 +688,7 @@ func (fs *FrameSession) onLogEntryAdded(event *log.EventEntryAdded) {
692
688
}
693
689
694
690
func (fs * FrameSession ) onPageLifecycle (event * cdppage.EventLifecycleEvent ) {
695
- fs .logger .Debugf ("NewFrameSession :onPageLifecycle" ,
691
+ fs .logger .Debugf ("FrameSession :onPageLifecycle" ,
696
692
"sid:%v tid:%v fid:%v event:%q" ,
697
693
fs .session .id , fs .targetID , event .FrameID , event .Name )
698
694
@@ -773,7 +769,7 @@ func (fs *FrameSession) onPageLifecycle(event *cdppage.EventLifecycleEvent) {
773
769
}
774
770
775
771
func (fs * FrameSession ) onPageNavigatedWithinDocument (event * cdppage.EventNavigatedWithinDocument ) {
776
- fs .logger .Debugf ("NewFrameSession :onPageNavigatedWithinDocument" ,
772
+ fs .logger .Debugf ("FrameSession :onPageNavigatedWithinDocument" ,
777
773
"sid:%v tid:%v fid:%v" ,
778
774
fs .session .id , fs .targetID , event .FrameID )
779
775
@@ -787,7 +783,7 @@ func (fs *FrameSession) onAttachedToTarget(event *target.EventAttachedToTarget)
787
783
err error
788
784
)
789
785
790
- fs .logger .Debugf ("NewFrameSession :onAttachedToTarget" ,
786
+ fs .logger .Debugf ("FrameSession :onAttachedToTarget" ,
791
787
"sid:%v tid:%v esid:%v etid:%v ebctxid:%v type:%q" ,
792
788
fs .session .id , fs .targetID , event .SessionID ,
793
789
event .TargetInfo .TargetID , event .TargetInfo .BrowserContextID ,
@@ -819,32 +815,40 @@ func (fs *FrameSession) onAttachedToTarget(event *target.EventAttachedToTarget)
819
815
return
820
816
}
821
817
// Handle or ignore errors.
822
- defer fs .logger .Debugf ("FrameSession:onAttachedToTarget:return" ,
823
- "sid:%v tid:%v esid:%v etid:%v ebctxid:%v type:%q err:%v" ,
824
- fs .session .id , fs .targetID , sid ,
825
- ti .TargetID , ti .BrowserContextID ,
826
- ti .Type , err )
818
+ var reason string
819
+ defer func () {
820
+ fs .logger .Debugf ("FrameSession:onAttachedToTarget:return" ,
821
+ "sid:%v tid:%v esid:%v etid:%v ebctxid:%v type:%q reason:%s" ,
822
+ fs .session .id , fs .targetID , sid ,
823
+ ti .TargetID , ti .BrowserContextID ,
824
+ ti .Type , reason )
825
+ }()
827
826
// Ignore errors if we're no longer connected to browser.
828
827
// This happens when there is no browser but we still want to
829
828
// attach a frame/worker to it.
830
829
if ! fs .page .browserCtx .browser .IsConnected () {
831
- return // ignore
832
- }
833
- // Ignore context canceled error to gracefuly handle shutting down
834
- // of the extension. This may happen because of generated events
835
- // while a frame session is being created.
836
- if errors .Is (err , context .Canceled ) {
830
+ reason = "browser disconnected"
837
831
return // ignore
838
832
}
839
833
// Final chance:
840
834
// Ignore the error if the context was canceled, otherwise,
841
835
// throw a k6 error.
842
836
select {
843
837
case <- fs .ctx .Done ():
838
+ reason = "frame session context canceled"
844
839
return
845
840
case <- session .done :
841
+ reason = "session closed"
846
842
return
847
843
default :
844
+ // Ignore context canceled error to gracefuly handle shutting down
845
+ // of the extension. This may happen because of generated events
846
+ // while a frame session is being created.
847
+ if errors .Is (err , context .Canceled ) {
848
+ reason = "context canceled"
849
+ return // ignore
850
+ }
851
+ reason = "fatal"
848
852
k6Throw (fs .ctx , "cannot attach %v: %w" , ti .Type , err )
849
853
}
850
854
}
@@ -855,6 +859,10 @@ func (fs *FrameSession) attachIFrameToTarget(ti *target.Info, sid target.Session
855
859
if fr == nil {
856
860
// IFrame should be attached to fs.page with EventFrameAttached
857
861
// event before.
862
+ fs .logger .Debugf ("FrameSession:attachIFrameToTarget:return" ,
863
+ "sid:%v tid:%v esid:%v etid:%v ebctxid:%v type:%q, nil frame" ,
864
+ fs .session .id , fs .targetID ,
865
+ sid , ti .TargetID , ti .BrowserContextID , ti .Type )
858
866
return nil
859
867
}
860
868
// Remove all children of the previously attached frame.
@@ -887,15 +895,15 @@ func (fs *FrameSession) attachWorkerToTarget(ti *target.Info, sid target.Session
887
895
}
888
896
889
897
func (fs * FrameSession ) onDetachedFromTarget (event * target.EventDetachedFromTarget ) {
890
- fs .logger .Debugf ("NewFrameSession :onDetachedFromTarget" ,
898
+ fs .logger .Debugf ("FrameSession :onDetachedFromTarget" ,
891
899
"sid:%v tid:%v esid:%v" ,
892
900
fs .session .id , fs .targetID , event .SessionID )
893
901
894
902
fs .page .closeWorker (event .SessionID )
895
903
}
896
904
897
905
func (fs * FrameSession ) onTargetCrashed (event * inspector.EventTargetCrashed ) {
898
- fs .logger .Debugf ("NewFrameSession :onTargetCrashed" , "sid:%v tid:%v" , fs .session .id , fs .targetID )
906
+ fs .logger .Debugf ("FrameSession :onTargetCrashed" , "sid:%v tid:%v" , fs .session .id , fs .targetID )
899
907
900
908
fs .session .markAsCrashed ()
901
909
fs .page .didCrash ()
0 commit comments