From 7b3e5902898634093b4dcd3a9bd1cbcfae874a1b Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Wed, 29 Jan 2025 11:01:01 +0000 Subject: [PATCH] cherry-pick(#34530): fix(firefox): disable fetch keep-alive for now before a proper fix (#34534) Co-authored-by: Andrey Lushnikov --- .../playwright-core/src/server/firefox/ffBrowser.ts | 4 +++- tests/page/page-event-request.spec.ts | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/server/firefox/ffBrowser.ts b/packages/playwright-core/src/server/firefox/ffBrowser.ts index 1d1c60e6ce..df314ed4de 100644 --- a/packages/playwright-core/src/server/firefox/ffBrowser.ts +++ b/packages/playwright-core/src/server/firefox/ffBrowser.ts @@ -435,4 +435,6 @@ function toJugglerProxyOptions(proxy: types.ProxySettings) { // Prefs for quick fixes that didn't make it to the build. // Should all be moved to `playwright.cfg`. -const kBandaidFirefoxUserPrefs = {}; +const kBandaidFirefoxUserPrefs = { + 'dom.fetchKeepalive.enabled': false, +}; diff --git a/tests/page/page-event-request.spec.ts b/tests/page/page-event-request.spec.ts index e1fc29eb59..84717026a8 100644 --- a/tests/page/page-event-request.spec.ts +++ b/tests/page/page-event-request.spec.ts @@ -41,6 +41,19 @@ it('should fire for fetches', async ({ page, server }) => { expect(requests.length).toBe(2); }); +it('should fire for fetches with keepalive: true', { + annotation: { + type: 'issue', + description: 'https://github.com/microsoft/playwright/issues/34497' + } +}, async ({ page, server, browserName }) => { + const requests = []; + page.on('request', request => requests.push(request)); + await page.goto(server.EMPTY_PAGE); + await page.evaluate(() => fetch('/empty.html', { keepalive: true })); + expect(requests.length).toBe(2); +}); + it('should report requests and responses handled by service worker', async ({ page, server, isAndroid, isElectron }) => { it.fixme(isAndroid); it.fixme(isElectron);