mirror of
https://github.com/bitwarden/browser.git
synced 2025-03-12 13:39:14 +01:00
Merge branch 'main' into autofill/pm-6546-blurring-of-autofilled-elements-causes-problems-in-blur-event-listeners
This commit is contained in:
commit
4b2f72daab
@ -1214,7 +1214,10 @@ describe("AutofillOverlayContentService", () => {
|
||||
autofillOverlayContentService as any,
|
||||
"removeAutofillOverlay",
|
||||
);
|
||||
|
||||
autofillOverlayContentService["mostRecentlyFocusedField"] = undefined;
|
||||
autofillOverlayContentService["overlayButtonElement"] = document.createElement("div");
|
||||
autofillOverlayContentService["overlayListElement"] = document.createElement("div");
|
||||
|
||||
globalThis.dispatchEvent(new Event(EVENTS.SCROLL));
|
||||
jest.advanceTimersByTime(800);
|
||||
@ -1222,8 +1225,8 @@ describe("AutofillOverlayContentService", () => {
|
||||
expect(sendExtensionMessageSpy).toHaveBeenCalledWith("updateAutofillOverlayHidden", {
|
||||
display: "block",
|
||||
});
|
||||
expect(autofillOverlayContentService["isOverlayButtonVisible"]).toEqual(true);
|
||||
expect(autofillOverlayContentService["isOverlayListVisible"]).toEqual(true);
|
||||
expect(autofillOverlayContentService["isOverlayButtonVisible"]).toEqual(false);
|
||||
expect(autofillOverlayContentService["isOverlayListVisible"]).toEqual(false);
|
||||
expect(removeAutofillOverlaySpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@ -1280,6 +1283,32 @@ describe("AutofillOverlayContentService", () => {
|
||||
|
||||
expect(removeAutofillOverlaySpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("defaults overlay elements to a visibility of `false` if the element is not rendered on the page", async () => {
|
||||
jest.useFakeTimers();
|
||||
jest
|
||||
.spyOn(autofillOverlayContentService as any, "updateMostRecentlyFocusedField")
|
||||
.mockImplementation(() => {
|
||||
autofillOverlayContentService["focusedFieldData"] = {
|
||||
focusedFieldRects: {
|
||||
top: 100,
|
||||
},
|
||||
focusedFieldStyles: {},
|
||||
};
|
||||
});
|
||||
jest
|
||||
.spyOn(autofillOverlayContentService as any, "updateOverlayElementsPosition")
|
||||
.mockImplementation();
|
||||
autofillOverlayContentService["overlayButtonElement"] = document.createElement("div");
|
||||
autofillOverlayContentService["overlayListElement"] = undefined;
|
||||
|
||||
globalThis.dispatchEvent(new Event(EVENTS.SCROLL));
|
||||
jest.advanceTimersByTime(800);
|
||||
await flushPromises();
|
||||
|
||||
expect(autofillOverlayContentService["isOverlayButtonVisible"]).toEqual(true);
|
||||
expect(autofillOverlayContentService["isOverlayListVisible"]).toEqual(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe("handleOverlayElementMutationObserverUpdate", () => {
|
||||
|
@ -646,12 +646,10 @@ class AutofillOverlayContentService implements AutofillOverlayContentServiceInte
|
||||
*/
|
||||
private toggleOverlayHidden(isHidden: boolean) {
|
||||
const displayValue = isHidden ? "none" : "block";
|
||||
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
this.sendExtensionMessage("updateAutofillOverlayHidden", { display: displayValue });
|
||||
void this.sendExtensionMessage("updateAutofillOverlayHidden", { display: displayValue });
|
||||
|
||||
this.isOverlayButtonVisible = !isHidden;
|
||||
this.isOverlayListVisible = !isHidden;
|
||||
this.isOverlayButtonVisible = !!this.overlayButtonElement && !isHidden;
|
||||
this.isOverlayListVisible = !!this.overlayListElement && !isHidden;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -220,10 +220,6 @@ function getBgService<T>(service: keyof MainBackground) {
|
||||
useFactory: () => new WebCryptoFunctionService(window),
|
||||
deps: [],
|
||||
},
|
||||
{
|
||||
provide: FileUploadService,
|
||||
useFactory: getBgService<FileUploadService>("fileUploadService"),
|
||||
},
|
||||
{
|
||||
provide: InternalFolderService,
|
||||
useExisting: FolderServiceAbstraction,
|
||||
@ -323,7 +319,6 @@ function getBgService<T>(service: keyof MainBackground) {
|
||||
useFactory: getBgService<PasswordGenerationServiceAbstraction>("passwordGenerationService"),
|
||||
deps: [],
|
||||
},
|
||||
{ provide: ApiService, useFactory: getBgService<ApiService>("apiService"), deps: [] },
|
||||
{
|
||||
provide: SendService,
|
||||
useFactory: (
|
||||
|
Loading…
Reference in New Issue
Block a user