From 15b9963dc6db3fc7fa8db3b6db8564b1638c0b6e Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Fri, 22 Mar 2024 17:18:06 -0700 Subject: [PATCH] fix(firefox): disable cache for request interception Fixes #30000 --- .../playwright-core/src/server/firefox/ffNetworkManager.ts | 5 ++++- tests/page/page-network-response.spec.ts | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/playwright-core/src/server/firefox/ffNetworkManager.ts b/packages/playwright-core/src/server/firefox/ffNetworkManager.ts index 2fdc8850b5..f5773dbb9b 100644 --- a/packages/playwright-core/src/server/firefox/ffNetworkManager.ts +++ b/packages/playwright-core/src/server/firefox/ffNetworkManager.ts @@ -50,7 +50,10 @@ export class FFNetworkManager { } async setRequestInterception(enabled: boolean) { - await this._session.send('Network.setRequestInterception', { enabled }); + await Promise.all([ + this._session.send('Page.setCacheDisabled', { cacheDisabled: enabled }), + this._session.send('Network.setRequestInterception', { enabled }), + ]); } _onRequestWillBeSent(event: Protocol.Network.requestWillBeSentPayload) { diff --git a/tests/page/page-network-response.spec.ts b/tests/page/page-network-response.spec.ts index b856362fa6..29e07f95bb 100644 --- a/tests/page/page-network-response.spec.ts +++ b/tests/page/page-network-response.spec.ts @@ -350,7 +350,6 @@ it('should return body for prefetch script', async ({ page, server, browserName it('should bypass disk cache when interception is enabled', async ({ page, server, browserName }) => { it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/30000' }); - it.fixme(browserName === 'firefox', 'Returns cached response.'); await page.goto(server.PREFIX + '/frames/one-frame.html'); await page.route('**/api*', route => route.continue()); {