From 5349147f5b5380fd4887bcaa90869164d82adc49 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Tue, 8 Nov 2022 19:53:10 +0000 Subject: [PATCH] Refactor emit to onLifecycleEvent There's no need for recalculateLifecycle since all it is now doing is emitting the event to internal handlers. So refactor/move it to onLifecycleEvent. Closes: https://github.com/grafana/xk6-browser/issues/593 --- common/frame.go | 14 +++----------- common/frame_manager.go | 1 - 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/common/frame.go b/common/frame.go index fa890f34f..52443ebc6 100644 --- a/common/frame.go +++ b/common/frame.go @@ -183,12 +183,6 @@ func (f *Frame) clearLifecycle() { f.inflightRequestsMu.Unlock() } -func (f *Frame) recalculateLifecycle(event LifecycleEvent) { - f.log.Debugf("Frame:recalculateLifecycle", "fid:%s furl:%q", f.ID(), f.URL()) - - f.emit(EventFrameAddLifecycle, event) -} - func (f *Frame) detach() { f.log.Debugf("Frame:detach", "fid:%s furl:%q", f.ID(), f.URL()) @@ -340,12 +334,10 @@ func (f *Frame) onLifecycleEvent(event LifecycleEvent) { f.log.Debugf("Frame:onLifecycleEvent", "fid:%s furl:%q event:%s", f.ID(), f.URL(), event) f.lifecycleEventsMu.Lock() - defer f.lifecycleEventsMu.Unlock() - - if ok := f.lifecycleEvents[event]; ok { - return - } f.lifecycleEvents[event] = true + f.lifecycleEventsMu.Unlock() + + f.emit(EventFrameAddLifecycle, event) } func (f *Frame) onLoadingStarted() { diff --git a/common/frame_manager.go b/common/frame_manager.go index 445fe0c69..5f6d044f0 100644 --- a/common/frame_manager.go +++ b/common/frame_manager.go @@ -195,7 +195,6 @@ func (m *FrameManager) frameLifecycleEvent(frameID cdp.FrameID, event LifecycleE frame := m.getFrameByID(frameID) if frame != nil { frame.onLifecycleEvent(event) - frame.recalculateLifecycle(event) } }