diff --git a/packages/playwright-core/src/cli/driver.ts b/packages/playwright-core/src/cli/driver.ts index 05c28bc836f52..0d807cc1adee6 100644 --- a/packages/playwright-core/src/cli/driver.ts +++ b/packages/playwright-core/src/cli/driver.ts @@ -37,7 +37,7 @@ export function printApiJson() { export function runDriver() { const dispatcherConnection = new DispatcherConnection(); new RootDispatcher(dispatcherConnection, async (rootScope, { sdkLanguage }) => { - const playwright = createPlaywright({ sdkLanguage }); + const playwright = createPlaywright({ sdkLanguage, isClientCollocatedWithServer: true }); return new PlaywrightDispatcher(rootScope, playwright); }); // eslint-disable-next-line no-restricted-properties diff --git a/packages/playwright-core/src/server/chromium/crPage.ts b/packages/playwright-core/src/server/chromium/crPage.ts index 907f4a47907ca..19556b0536e8e 100644 --- a/packages/playwright-core/src/server/chromium/crPage.ts +++ b/packages/playwright-core/src/server/chromium/crPage.ts @@ -741,8 +741,7 @@ class FrameSession { worker.workerScriptLoaded(); // This might fail if the target is closed before we initialize. session._sendMayFail('Runtime.enable'); - // TODO: attribute workers to the right frame. - this._crPage._networkManager.addSession(session, this._page.frameManager.frame(this._targetId) ?? undefined).catch(() => {}); + this._crPage._networkManager.addSession(session, this._page.frameManager.frame(event.targetInfo.parentFrameId ?? this._targetId) ?? undefined).catch(() => {}); session._sendMayFail('Runtime.runIfWaitingForDebugger'); session._sendMayFail('Target.setAutoAttach', { autoAttach: true, waitForDebuggerOnStart: true, flatten: true }); session.on('Target.attachedToTarget', event => this._onAttachedToTarget(event)); diff --git a/tests/page/page-set-input-files.spec.ts b/tests/page/page-set-input-files.spec.ts index 6a0922a330211..c443700b81a20 100644 --- a/tests/page/page-set-input-files.spec.ts +++ b/tests/page/page-set-input-files.spec.ts @@ -145,7 +145,7 @@ test('should upload a file after popup', async ({ page, server, asset }) => { test('should upload large file', async ({ page, server, isAndroid, mode }, testInfo) => { test.skip(isAndroid); - test.skip(mode !== 'default'); + test.skip(mode.startsWith('service')); test.slow(); await page.goto(server.PREFIX + '/input/fileupload.html'); diff --git a/tests/page/workers.spec.ts b/tests/page/workers.spec.ts index 617f3766732b8..59477ac93c6f6 100644 --- a/tests/page/workers.spec.ts +++ b/tests/page/workers.spec.ts @@ -188,7 +188,6 @@ it('should clear upon cross-process navigation', async function({ server, page } }); it('should attribute network activity for worker inside iframe to the iframe', async function({ page, server, browserName, browserMajorVersion }) { - it.fixme(browserName === 'chromium'); it.skip(browserName === 'firefox' && browserMajorVersion < 114, 'https://github.com/microsoft/playwright/issues/21760'); await page.goto(server.PREFIX + '/empty.html');