From 74f7005c0286679955086437d440ad1166180de2 Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Wed, 3 Aug 2022 16:14:28 -0700 Subject: [PATCH] chore: preserve window while reusing window (#16225) --- .../src/remote/playwrightServer.ts | 9 +++- .../playwright-core/src/server/browser.ts | 4 ++ .../src/server/browserContext.ts | 26 ++++++++++- .../src/server/chromium/crBrowser.ts | 7 +++ .../src/server/chromium/crPage.ts | 43 +++++++++++++------ .../src/server/firefox/ffBrowser.ts | 4 ++ packages/playwright-core/src/server/page.ts | 11 ++--- .../src/server/webkit/wkBrowser.ts | 6 +++ .../src/server/webkit/wkPage.ts | 7 ++- .../playwright.ct-reuse.spec.ts | 21 +++++++-- 10 files changed, 112 insertions(+), 26 deletions(-) diff --git a/packages/playwright-core/src/remote/playwrightServer.ts b/packages/playwright-core/src/remote/playwrightServer.ts index 01ca641aaa..cacf70dbf0 100644 --- a/packages/playwright-core/src/remote/playwrightServer.ts +++ b/packages/playwright-core/src/remote/playwrightServer.ts @@ -65,7 +65,14 @@ export class PlaywrightServer { if (this._mode === 'reuse-browser') { const callMetadata = serverSideCallMetadata(); const browser = await this._preLaunchedPlaywright!.chromium.launch(callMetadata, { headless: false }); - const { context } = await browser.newContextForReuse({ viewport: { width: 800, height: 600 } }, callMetadata); + const { context } = await browser.newContextForReuse({ + viewport: { + width: 800, + height: 600 + }, + locale: 'en-US', + deviceScaleFactor: process.platform === 'darwin' ? 2 : 1 + }, callMetadata); const page = await context.newPage(callMetadata); await page.mainFrame().setContent(callMetadata, `