mirror of
https://github.com/bitwarden/browser
synced 2025-12-06 00:13:28 +00:00
move windowMessageHandlers above event listeners to account for safari bug (#13773)
This commit is contained in:
@@ -5,6 +5,21 @@ import {
|
||||
ContentMessageWindowEventHandlers,
|
||||
} from "./abstractions/content-message-handler";
|
||||
|
||||
/**
|
||||
* Handlers for window messages from the content script.
|
||||
* NOTE: These handlers should be above the event listener to ensure they are defined before being used.
|
||||
*/
|
||||
const windowMessageHandlers: ContentMessageWindowEventHandlers = {
|
||||
authResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleAuthResultMessage(data, referrer),
|
||||
webAuthnResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleWebAuthnResultMessage(data, referrer),
|
||||
[VaultMessages.checkBwInstalled]: () => handleExtensionInstallCheck(),
|
||||
duoResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleDuoResultMessage(data, referrer),
|
||||
[VaultMessages.OpenPopup]: () => handleOpenPopupMessage(),
|
||||
};
|
||||
|
||||
/**
|
||||
* IMPORTANT: Safari seems to have a bug where it doesn't properly handle
|
||||
* window message events from content scripts when the listener these events
|
||||
@@ -18,20 +33,6 @@ setupExtensionDisconnectAction(() => {
|
||||
chrome.runtime.onMessage.removeListener(handleExtensionMessage);
|
||||
});
|
||||
|
||||
/**
|
||||
* Handlers for window messages from the content script.
|
||||
*/
|
||||
const windowMessageHandlers: ContentMessageWindowEventHandlers = {
|
||||
authResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleAuthResultMessage(data, referrer),
|
||||
webAuthnResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleWebAuthnResultMessage(data, referrer),
|
||||
[VaultMessages.checkBwInstalled]: () => handleExtensionInstallCheck(),
|
||||
duoResult: ({ data, referrer }: { data: any; referrer: string }) =>
|
||||
handleDuoResultMessage(data, referrer),
|
||||
[VaultMessages.OpenPopup]: () => handleOpenPopupMessage(),
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles the post to the web vault showing the extension has been installed
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user