From 407547750a235311d48fa39793ea2192c3191879 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Fri, 12 Apr 2024 19:17:23 +0200 Subject: [PATCH] review feedback --- packages/playwright-core/src/client/browserContext.ts | 2 +- packages/playwright-core/src/client/fetch.ts | 1 + packages/playwright-core/src/client/tracing.ts | 4 ++-- tests/library/browsercontext-reuse.spec.ts | 10 ++++------ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index 9c9c389cba..f8f8977313 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -432,7 +432,7 @@ export class BrowserContext extends ChannelOwner this._browser._contexts.delete(this); this._browserType?._contexts?.delete(this); this._disposeHarRouters(); - this.tracing._resetStackCounterIfNeeded(); + this.tracing._resetStackCounter(); this.emit(Events.BrowserContext.Close, this); } diff --git a/packages/playwright-core/src/client/fetch.ts b/packages/playwright-core/src/client/fetch.ts index 8dc3caa570..13a0c0e643 100644 --- a/packages/playwright-core/src/client/fetch.ts +++ b/packages/playwright-core/src/client/fetch.ts @@ -102,6 +102,7 @@ export class APIRequestContext extends ChannelOwner { await this._instrumentation.onWillCloseRequestContext(this); await this._channel.dispose(); + this._tracing._resetStackCounter(); this._request?._contexts.delete(this); } diff --git a/packages/playwright-core/src/client/tracing.ts b/packages/playwright-core/src/client/tracing.ts index e466dea872..7330cd9f26 100644 --- a/packages/playwright-core/src/client/tracing.ts +++ b/packages/playwright-core/src/client/tracing.ts @@ -76,7 +76,7 @@ export class Tracing extends ChannelOwner implements ap } private async _doStopChunk(filePath: string | undefined) { - this._resetStackCounterIfNeeded(); + this._resetStackCounter(); if (!filePath) { // Not interested in artifacts. @@ -111,7 +111,7 @@ export class Tracing extends ChannelOwner implements ap await this._connection.localUtils()._channel.zip({ zipFile: filePath, entries: [], mode: 'append', stacksId: this._stacksId, includeSources: this._includeSources }); } - _resetStackCounterIfNeeded() { + _resetStackCounter() { if (this._isTracing) { this._isTracing = false; this._connection.setIsTracing(false); diff --git a/tests/library/browsercontext-reuse.spec.ts b/tests/library/browsercontext-reuse.spec.ts index 71a455d514..057bc1d223 100644 --- a/tests/library/browsercontext-reuse.spec.ts +++ b/tests/library/browsercontext-reuse.spec.ts @@ -17,19 +17,17 @@ import { browserTest, expect } from '../config/browserTest'; import type { BrowserContext, BrowserContextOptions } from '@playwright/test'; -const test = browserTest.extend<{}, { reusedContext: (options?: BrowserContextOptions) => Promise }>({ - reusedContext: [async ({ browserType, browser }, use) => { - let context; +const test = browserTest.extend<{ reusedContext: (options?: BrowserContextOptions) => Promise }>({ + reusedContext: async ({ browserType, browser }, use) => { await use(async (options: BrowserContextOptions = {}) => { const defaultContextOptions = (browserType as any)._defaultContextOptions; - context = await (browser as any)._newContextForReuse({ + const context = await (browser as any)._newContextForReuse({ ...defaultContextOptions, ...options, }); return context; }); - await context.close(); - }, { scope: 'worker' }], + }, }); test('should re-add binding after reset', async ({ reusedContext }) => {