From 2670e5cae0239502d053e530da2c675e5aa536aa Mon Sep 17 00:00:00 2001 From: Zelys Date: Mon, 13 Jul 2026 05:35:01 -0500 Subject: [PATCH 1/2] fix(page): collect DOM elements retained by locator hit-target interceptor (#41575) --- packages/injected/src/injectedScript.ts | 3 ++- tests/page/page-request-gc.spec.ts | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/injected/src/injectedScript.ts b/packages/injected/src/injectedScript.ts index d4a4ccad07017..4c61203318e79 100644 --- a/packages/injected/src/injectedScript.ts +++ b/packages/injected/src/injectedScript.ts @@ -1115,7 +1115,7 @@ export class InjectedScript { }[action]; let result: 'done' | { hitTargetDescription: string } | undefined; - const listener = (event: PointerEvent | MouseEvent | TouchEvent) => { + let listener: ((event: PointerEvent | MouseEvent | TouchEvent) => void) | undefined = (event: PointerEvent | MouseEvent | TouchEvent) => { // Ignore events that we do not expect to intercept. if (!events.has(event.type)) return; @@ -1144,6 +1144,7 @@ export class InjectedScript { const stop = () => { if (this._hitTargetInterceptor === listener) this._hitTargetInterceptor = undefined; + listener = undefined; // If we did not get any events, consider things working. Possible causes: // - JavaScript is disabled (webkit-only). // - Some