mirror of
https://github.com/bitwarden/browser
synced 2025-12-20 10:13:31 +00:00
[PM-5189] Addressing visual flash bug with repositioning of inline menu
This commit is contained in:
@@ -48,6 +48,7 @@ type OverlayBackgroundExtensionMessage = {
|
||||
overlayElement?: string;
|
||||
forceCloseOverlay?: boolean;
|
||||
isOverlayHidden?: boolean;
|
||||
setTransparentOverlay?: boolean;
|
||||
data?: LockedVaultPendingNotificationsData;
|
||||
isFieldCurrentlyFocused?: boolean;
|
||||
isCurrentlyFilling?: boolean;
|
||||
|
||||
@@ -277,10 +277,9 @@ class OverlayBackground implements OverlayBackgroundInterface {
|
||||
return;
|
||||
}
|
||||
|
||||
subFrameOffsetsForTab.forEach((subFrameData) => {
|
||||
const { url, frameId } = subFrameData;
|
||||
subFrameOffsetsForTab.forEach((_, frameId) => {
|
||||
subFrameOffsetsForTab.delete(frameId);
|
||||
void this.buildSubFrameOffsets(sender.tab, frameId, url);
|
||||
void this.buildSubFrameOffsets(sender.tab, frameId, sender.url);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -584,11 +583,12 @@ class OverlayBackground implements OverlayBackgroundInterface {
|
||||
* @param sender - The sender of the extension message
|
||||
*/
|
||||
private updateOverlayHidden(
|
||||
{ isOverlayHidden }: OverlayBackgroundExtensionMessage,
|
||||
{ isOverlayHidden, setTransparentOverlay }: OverlayBackgroundExtensionMessage,
|
||||
sender: chrome.runtime.MessageSender,
|
||||
) {
|
||||
const display = isOverlayHidden ? "none" : "block";
|
||||
const portMessage = { command: "updateOverlayHidden", styles: { display } };
|
||||
const styles = setTransparentOverlay ? { display, opacity: 0 } : { display };
|
||||
const portMessage = { command: "updateOverlayHidden", styles };
|
||||
|
||||
void BrowserApi.tabSendMessage(
|
||||
sender.tab,
|
||||
|
||||
@@ -555,10 +555,12 @@ class AutofillOverlayContentService implements AutofillOverlayContentServiceInte
|
||||
* Sends a message that facilitates hiding the overlay elements.
|
||||
*
|
||||
* @param isHidden - Indicates if the overlay elements should be hidden.
|
||||
* @param setTransparentOverlay - Indicates if the overlay is closing.
|
||||
*/
|
||||
private toggleOverlayHidden(isHidden: boolean) {
|
||||
private toggleOverlayHidden(isHidden: boolean, setTransparentOverlay: boolean = false) {
|
||||
void this.sendExtensionMessage("updateAutofillOverlayHidden", {
|
||||
isOverlayHidden: isHidden,
|
||||
setTransparentOverlay,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -729,7 +731,7 @@ class AutofillOverlayContentService implements AutofillOverlayContentServiceInte
|
||||
*/
|
||||
private triggerOverlayRepositionUpdates = async () => {
|
||||
if (!this.recentlyFocusedFieldIsCurrentlyFocused()) {
|
||||
this.toggleOverlayHidden(false);
|
||||
this.toggleOverlayHidden(false, true);
|
||||
void this.sendExtensionMessage("closeAutofillOverlay", {
|
||||
forceCloseOverlay: true,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user