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;
|
overlayElement?: string;
|
||||||
forceCloseOverlay?: boolean;
|
forceCloseOverlay?: boolean;
|
||||||
isOverlayHidden?: boolean;
|
isOverlayHidden?: boolean;
|
||||||
|
setTransparentOverlay?: boolean;
|
||||||
data?: LockedVaultPendingNotificationsData;
|
data?: LockedVaultPendingNotificationsData;
|
||||||
isFieldCurrentlyFocused?: boolean;
|
isFieldCurrentlyFocused?: boolean;
|
||||||
isCurrentlyFilling?: boolean;
|
isCurrentlyFilling?: boolean;
|
||||||
|
|||||||
@@ -277,10 +277,9 @@ class OverlayBackground implements OverlayBackgroundInterface {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
subFrameOffsetsForTab.forEach((subFrameData) => {
|
subFrameOffsetsForTab.forEach((_, frameId) => {
|
||||||
const { url, frameId } = subFrameData;
|
|
||||||
subFrameOffsetsForTab.delete(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
|
* @param sender - The sender of the extension message
|
||||||
*/
|
*/
|
||||||
private updateOverlayHidden(
|
private updateOverlayHidden(
|
||||||
{ isOverlayHidden }: OverlayBackgroundExtensionMessage,
|
{ isOverlayHidden, setTransparentOverlay }: OverlayBackgroundExtensionMessage,
|
||||||
sender: chrome.runtime.MessageSender,
|
sender: chrome.runtime.MessageSender,
|
||||||
) {
|
) {
|
||||||
const display = isOverlayHidden ? "none" : "block";
|
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(
|
void BrowserApi.tabSendMessage(
|
||||||
sender.tab,
|
sender.tab,
|
||||||
|
|||||||
@@ -555,10 +555,12 @@ class AutofillOverlayContentService implements AutofillOverlayContentServiceInte
|
|||||||
* Sends a message that facilitates hiding the overlay elements.
|
* Sends a message that facilitates hiding the overlay elements.
|
||||||
*
|
*
|
||||||
* @param isHidden - Indicates if the overlay elements should be hidden.
|
* @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", {
|
void this.sendExtensionMessage("updateAutofillOverlayHidden", {
|
||||||
isOverlayHidden: isHidden,
|
isOverlayHidden: isHidden,
|
||||||
|
setTransparentOverlay,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -729,7 +731,7 @@ class AutofillOverlayContentService implements AutofillOverlayContentServiceInte
|
|||||||
*/
|
*/
|
||||||
private triggerOverlayRepositionUpdates = async () => {
|
private triggerOverlayRepositionUpdates = async () => {
|
||||||
if (!this.recentlyFocusedFieldIsCurrentlyFocused()) {
|
if (!this.recentlyFocusedFieldIsCurrentlyFocused()) {
|
||||||
this.toggleOverlayHidden(false);
|
this.toggleOverlayHidden(false, true);
|
||||||
void this.sendExtensionMessage("closeAutofillOverlay", {
|
void this.sendExtensionMessage("closeAutofillOverlay", {
|
||||||
forceCloseOverlay: true,
|
forceCloseOverlay: true,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user