From e36d7c5c60248426666cfec49c81d46debf1b588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Moll=C3=A1?= Date: Mon, 10 Jun 2024 17:12:19 +0200 Subject: [PATCH] feat: setDownloadBehavior chromium request skippable by env variable --- .../src/server/chromium/crBrowser.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/playwright-core/src/server/chromium/crBrowser.ts b/packages/playwright-core/src/server/chromium/crBrowser.ts index 530906c0b2..8ca08f2867 100644 --- a/packages/playwright-core/src/server/chromium/crBrowser.ts +++ b/packages/playwright-core/src/server/chromium/crBrowser.ts @@ -348,13 +348,15 @@ export class CRBrowserContext extends BrowserContext { override async _initialize() { assert(!Array.from(this._browser._crPages.values()).some(page => page._browserContext === this)); const promises: Promise[] = [super._initialize()]; - if (this._browser.options.name !== 'electron' && this._browser.options.name !== 'clank' && this._options.acceptDownloads !== 'internal-browser-default') { - promises.push(this._browser._session.send('Browser.setDownloadBehavior', { - behavior: this._options.acceptDownloads === 'accept' ? 'allowAndName' : 'deny', - browserContextId: this._browserContextId, - downloadPath: this._browser.options.downloadsPath, - eventsEnabled: true, - })); + if (!process.env.PLAYWRIGHT_IGNORE_DOWNLOAD_BEHAVIOUR) { + if (this._browser.options.name !== 'electron' && this._browser.options.name !== 'clank' && this._options.acceptDownloads !== 'internal-browser-default') { + promises.push(this._browser._session.send('Browser.setDownloadBehavior', { + behavior: this._options.acceptDownloads === 'accept' ? 'allowAndName' : 'deny', + browserContextId: this._browserContextId, + downloadPath: this._browser.options.downloadsPath, + eventsEnabled: true, + })); + } } await Promise.all(promises); }