diff --git a/packages/playwright-core/src/server/chromium/crPage.ts b/packages/playwright-core/src/server/chromium/crPage.ts index 57ebc5fa69..f3f21121e5 100644 --- a/packages/playwright-core/src/server/chromium/crPage.ts +++ b/packages/playwright-core/src/server/chromium/crPage.ts @@ -731,6 +731,10 @@ class FrameSession { if (!frame) return; // Subtree may be already gone due to renderer/browser race. this._page._frameManager.removeChildFramesRecursively(frame); + for (const [contextId, context] of this._contextIdToContext) { + if (context.frame === frame) + this._onExecutionContextDestroyed(contextId); + } const frameSession = new FrameSession(this._crPage, session, targetId, this); this._crPage._sessions.set(targetId, frameSession); frameSession._initialize(false).catch(e => e);