1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-13 23:03:32 +00:00

[PM-4735] - Refactor event handling of the browser close listener (#16798)

This commit is contained in:
Mick Letofsky
2025-11-04 15:20:54 +01:00
committed by GitHub
parent 86b213aa8e
commit ff611338f9

View File

@@ -6,7 +6,7 @@ import {
filter, filter,
firstValueFrom, firstValueFrom,
fromEvent, fromEvent,
fromEventPattern, map,
merge, merge,
Observable, Observable,
Subject, Subject,
@@ -28,6 +28,7 @@ import {
import { Utils } from "@bitwarden/common/platform/misc/utils"; import { Utils } from "@bitwarden/common/platform/misc/utils";
import { BrowserApi } from "../../../platform/browser/browser-api"; import { BrowserApi } from "../../../platform/browser/browser-api";
import { fromChromeEvent } from "../../../platform/browser/from-chrome-event";
// FIXME (PM-22628): Popup imports are forbidden in background // FIXME (PM-22628): Popup imports are forbidden in background
// eslint-disable-next-line no-restricted-imports // eslint-disable-next-line no-restricted-imports
import { closeFido2Popout, openFido2Popout } from "../../../vault/popup/utils/vault-popout-window"; import { closeFido2Popout, openFido2Popout } from "../../../vault/popup/utils/vault-popout-window";
@@ -232,12 +233,8 @@ export class BrowserFido2UserInterfaceSession implements Fido2UserInterfaceSessi
} }
}); });
this.windowClosed$ = fromEventPattern( this.windowClosed$ = fromChromeEvent(chrome.windows.onRemoved).pipe(
// FIXME: Make sure that is does not cause a memory leak in Safari or use BrowserApi.AddListener map(([windowId]) => windowId),
// and test that it doesn't break. Tracking Ticket: https://bitwarden.atlassian.net/browse/PM-4735
// eslint-disable-next-line no-restricted-syntax
(handler: any) => chrome.windows.onRemoved.addListener(handler),
(handler: any) => chrome.windows.onRemoved.removeListener(handler),
); );
BrowserFido2UserInterfaceSession.sendMessage({ BrowserFido2UserInterfaceSession.sendMessage({