From b6f1b7720c0de309ae5e138649f17ca25900a86d Mon Sep 17 00:00:00 2001 From: Devin Rousso Date: Wed, 17 Jun 2026 14:21:46 -0600 Subject: [PATCH] Revert "fix(firefox): treat `navigationCommitted` events without `navigationId` as same-document URL updates (#41224)" This is a partial revert for commits 81881e2c1ba7c9cb96db3eab97c0a043b32e0725 and c2ac911d09675c7dc9124bcad0a1cf04748ffa8a. Keep the test added as that's still a valuable scenario to check, though it's skipped for Firefox due to the known issue. --- packages/playwright-core/src/server/firefox/ffPage.ts | 9 +-------- tests/library/defaultbrowsercontext-2.spec.ts | 3 ++- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/playwright-core/src/server/firefox/ffPage.ts b/packages/playwright-core/src/server/firefox/ffPage.ts index f291c5f6fbd7f..12f386f3560b9 100644 --- a/packages/playwright-core/src/server/firefox/ffPage.ts +++ b/packages/playwright-core/src/server/firefox/ffPage.ts @@ -239,18 +239,11 @@ export class FFPage implements PageDelegate { } _onNavigationCommitted(params: Protocol.Page.navigationCommittedPayload) { - if (!params.navigationId) { - // Firefox replays the current navigation without a navigationId during a process swap (e.g. when restoring a persistent profile). - // Treat these as same-document URL updates so they don't interrupt any in-flight new-document navigation in Frame.gotoImpl. - this._page.frameManager.frameCommittedSameDocumentNavigation(params.frameId, params.url); - return; - } - for (const [workerId, worker] of this._workers) { if (worker.frameId === params.frameId) this._onWorkerDestroyed({ workerId }); } - this._page.frameManager.frameCommittedNewDocumentNavigation(params.frameId, params.url, params.name || '', params.navigationId, false); + this._page.frameManager.frameCommittedNewDocumentNavigation(params.frameId, params.url, params.name || '', params.navigationId || '', false); } _onSameDocumentNavigation(params: Protocol.Page.sameDocumentNavigationPayload) { diff --git a/tests/library/defaultbrowsercontext-2.spec.ts b/tests/library/defaultbrowsercontext-2.spec.ts index 5b9f02159e3e6..e8a9f5b7a40f5 100644 --- a/tests/library/defaultbrowsercontext-2.spec.ts +++ b/tests/library/defaultbrowsercontext-2.spec.ts @@ -145,7 +145,8 @@ it('should create userDataDir if it does not exist', async ({ createUserDataDir, it('should goto about:blank on relaunched persistent context', { annotation: { type: 'issue', description: 'https://github.com/microsoft/playwright/issues/41216' }, -}, async ({ browserType, createUserDataDir }) => { +}, async ({ browserType, createUserDataDir, browserName }) => { + it.fixme(browserName === 'firefox'); it.slow(); const userDataDir = await createUserDataDir();