From fdad74906ebc6eeed60d4b1cd3923cb02a39d352 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Fri, 24 Jan 2025 13:14:06 +0100 Subject: [PATCH] uninstall --- packages/playwright-core/src/client/browserContext.ts | 1 + packages/playwright-core/src/client/mockingProxy.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index 59dcf046be..0b5220d8f0 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -462,6 +462,7 @@ export class BrowserContext extends ChannelOwner this._disposeHarRouters(); this.tracing._resetStackCounter(); this.emit(Events.BrowserContext.Close, this); + this._mockingProxies.forEach(p => p.uninstall(this)); } async [Symbol.asyncDispose]() { diff --git a/packages/playwright-core/src/client/mockingProxy.ts b/packages/playwright-core/src/client/mockingProxy.ts index 3a5869e3a4..93fe8164b3 100644 --- a/packages/playwright-core/src/client/mockingProxy.ts +++ b/packages/playwright-core/src/client/mockingProxy.ts @@ -41,11 +41,16 @@ export class MockingProxy extends ChannelOwner { }); } - installOn(context: BrowserContext): void { + install(context: BrowserContext): void { context._mockingProxies.add(this); this._contexts.add(context); } + uninstall(context: BrowserContext): void { + context._mockingProxies.delete(this); + this._contexts.delete(context); + } + async setInterceptionPatterns(params: channels.MockingProxySetInterceptionPatternsParams) { await this._channel.setInterceptionPatterns(params); }