diff --git a/src/chromium/crBrowser.ts b/src/chromium/crBrowser.ts index 5102b5ba51..ee5c98142e 100644 --- a/src/chromium/crBrowser.ts +++ b/src/chromium/crBrowser.ts @@ -82,18 +82,19 @@ export class CRBrowser extends browser.Browser { const target = this._targets.get(targetId); assert(await target._initializedPromise, 'Failed to create target for page'); const page = await target.page(); - const session = (page._delegate as CRPage)._client; - const promises: Promise[] = [ overrides._applyOverrides(page) ]; + const crPage = target._crPage; + const session = crPage._client; + const promises: Promise[] = [ overrides._applyOverrides(crPage) ]; if (options.bypassCSP) promises.push(session.send('Page.setBypassCSP', { enabled: true })); if (options.ignoreHTTPSErrors) promises.push(session.send('Security.setIgnoreCertificateErrors', { ignore: true })); if (options.viewport) - promises.push(page._delegate.setViewport(options.viewport)); + promises.push(crPage.setViewport(options.viewport)); if (options.javaScriptEnabled === false) promises.push(session.send('Emulation.setScriptExecutionDisabled', { value: true })); if (options.userAgent) - (page._delegate as CRPage)._networkManager.setUserAgent(options.userAgent); + crPage._networkManager.setUserAgent(options.userAgent); if (options.mediaType || options.colorScheme) { const features = options.colorScheme ? [{ name: 'prefers-color-scheme', value: options.colorScheme }] : []; promises.push(session.send('Emulation.setEmulatedMedia', { media: options.mediaType || '', features })); diff --git a/src/chromium/crPage.ts b/src/chromium/crPage.ts index 233e2b8ad7..fb33c23a09 100644 --- a/src/chromium/crPage.ts +++ b/src/chromium/crPage.ts @@ -44,7 +44,7 @@ const UTILITY_WORLD_NAME = '__playwright_utility_world__'; export class CRPage implements PageDelegate { _client: CRSession; - private _page: ChromiumPage; + private readonly _page: ChromiumPage; readonly _networkManager: CRNetworkManager; private _contextIdToContext = new Map(); private _isolatedWorlds = new Set(); diff --git a/src/chromium/crTarget.ts b/src/chromium/crTarget.ts index 1cfc9de2f3..959ae06c7c 100644 --- a/src/chromium/crTarget.ts +++ b/src/chromium/crTarget.ts @@ -29,14 +29,14 @@ const targetSymbol = Symbol('target'); export class CRTarget { private _targetInfo: Protocol.Target.TargetInfo; - private _browser: CRBrowser; - private _browserContext: BrowserContext; - _targetId: string; + private readonly _browser: CRBrowser; + private readonly _browserContext: BrowserContext; + readonly _targetId: string; private _sessionFactory: () => Promise; private _pagePromise: Promise | null = null; - private _crPage: CRPage | null = null; + _crPage: CRPage | null = null; private _workerPromise: Promise | null = null; - _initializedPromise: Promise; + readonly _initializedPromise: Promise; _initializedCallback: (value?: unknown) => void; _isInitialized: boolean; diff --git a/src/chromium/features/crOverrides.ts b/src/chromium/features/crOverrides.ts index acc2155938..4999fe0ab1 100644 --- a/src/chromium/features/crOverrides.ts +++ b/src/chromium/features/crOverrides.ts @@ -47,8 +47,8 @@ export class CROverrides { await (page._delegate as CRPage)._client.send('Emulation.setGeolocationOverride', this._geolocation); } - async _applyOverrides(page: Page): Promise { + async _applyOverrides(page: CRPage): Promise { if (this._geolocation) - await (page._delegate as CRPage)._client.send('Emulation.setGeolocationOverride', this._geolocation); + await page._client.send('Emulation.setGeolocationOverride', this._geolocation); } } diff --git a/src/firefox/ffBrowser.ts b/src/firefox/ffBrowser.ts index 9432728ea3..651ec3dee0 100644 --- a/src/firefox/ffBrowser.ts +++ b/src/firefox/ffBrowser.ts @@ -156,7 +156,7 @@ export class FFBrowser extends browser.Browser { }); const target = this._targets.get(targetId); const page = await target.page(); - const session = (page._delegate as FFPage)._session; + const session = target._ffPage._session; const promises: Promise[] = []; if (options.viewport) promises.push(page._delegate.setViewport(options.viewport)); @@ -222,14 +222,14 @@ export class FFBrowser extends browser.Browser { export class Target { _pagePromise?: Promise; - private _ffPage: FFPage | null = null; - private _browser: FFBrowser; - _context: BrowserContext; - private _connection: FFConnection; - private _targetId: string; - private _type: 'page' | 'browser'; + _ffPage: FFPage | null = null; + private readonly _browser: FFBrowser; + private readonly _context: BrowserContext; + private readonly _connection: FFConnection; + private readonly _targetId: string; + private readonly _type: 'page' | 'browser'; _url: string; - private _openerId: string; + private readonly _openerId: string; constructor(connection: any, browser: FFBrowser, context: BrowserContext, targetId: string, type: 'page' | 'browser', url: string, openerId: string | undefined) { this._browser = browser;