diff --git a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.spec.ts b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.spec.ts index 231cf10b63f..174d2c7ffa8 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.spec.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.spec.ts @@ -424,6 +424,19 @@ describe("AutofillInlineMenuIframeService", () => { forceClose: true, }); }); + + it("triggers a fade in of the inline menu", () => { + jest.useFakeTimers(); + jest.spyOn(globalThis, "clearTimeout"); + autofillInlineMenuIframeService["fadeInTimeout"] = setTimeout(jest.fn, 10); + + sendPortMessage(portSpy, { command: "fadeInAutofillInlineMenuIframe" }); + expect(clearTimeout).toHaveBeenCalled(); + expect(autofillInlineMenuIframeService["iframe"].style.opacity).toBe("0"); + + jest.advanceTimersByTime(10); + expect(autofillInlineMenuIframeService["iframe"].style.opacity).toBe("1"); + }); }); }); diff --git a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts index a8d4c7354de..51de9769a10 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts @@ -308,6 +308,9 @@ export class AutofillInlineMenuIframeService implements AutofillInlineMenuIframe void this.sendExtensionMessage("closeAutofillInlineMenu", { forceClose: true }); } + /** + * Triggers a fade in effect for the inline menu iframe. Initialized by the background context. + */ private handleFadeInInlineMenuIframe() { this.clearFadeInTimeout(); this.fadeInTimeout = globalThis.setTimeout(() => { @@ -315,6 +318,9 @@ export class AutofillInlineMenuIframeService implements AutofillInlineMenuIframe }, 10); } + /** + * Clears the fade in timeout for the inline menu iframe. + */ private clearFadeInTimeout() { if (this.fadeInTimeout) { clearTimeout(this.fadeInTimeout);