mirror of
https://github.com/bitwarden/browser
synced 2026-02-05 03:03:26 +00:00
WiP
This commit is contained in:
@@ -26,7 +26,7 @@ export function ActionButton({
|
||||
fullWidth = true,
|
||||
}: ActionButtonProps) {
|
||||
const handleButtonClick = (event: Event) => {
|
||||
if (!disabled && !isLoading) {
|
||||
if (event.isTrusted && !disabled && !isLoading) {
|
||||
handleClick(event);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -23,7 +23,7 @@ export function BadgeButton({
|
||||
username,
|
||||
}: BadgeButtonProps) {
|
||||
const handleButtonClick = (event: Event) => {
|
||||
if (!disabled) {
|
||||
if (event.isTrusted && !disabled) {
|
||||
buttonAction(event);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ export function EditButton({ buttonAction, buttonText, disabled = false, theme }
|
||||
aria-label=${buttonText}
|
||||
class=${editButtonStyles({ disabled, theme })}
|
||||
@click=${(event: Event) => {
|
||||
if (!disabled) {
|
||||
if (event.isTrusted && !disabled) {
|
||||
buttonAction(event);
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -28,6 +28,10 @@ export function CipherAction({
|
||||
username,
|
||||
}: CipherActionProps) {
|
||||
const selectCipherHandleAction = (e: Event) => {
|
||||
if (!e.isTrusted) {
|
||||
return;
|
||||
}
|
||||
|
||||
selectedCipherSignal.set(cipherId);
|
||||
try {
|
||||
handleAction(e);
|
||||
|
||||
@@ -127,7 +127,7 @@ const AdditionalMessageStyles = ({ theme }: { theme: Theme }) => css`
|
||||
`;
|
||||
|
||||
function handleButtonKeyDown(event: KeyboardEvent, handleClick: () => void) {
|
||||
if (event.key === "Enter" || event.key === " ") {
|
||||
if (event.isTrusted && (event.key === "Enter" || event.key === " ")) {
|
||||
event.preventDefault();
|
||||
handleClick();
|
||||
}
|
||||
|
||||
@@ -29,6 +29,10 @@ export function OptionItem({
|
||||
handleSelection,
|
||||
}: OptionItemProps) {
|
||||
const handleSelectionKeyUpProxy = (event: KeyboardEvent) => {
|
||||
if (!event.isTrusted) {
|
||||
return;
|
||||
}
|
||||
|
||||
const listenedForKeys = new Set(["Enter", "Space"]);
|
||||
if (listenedForKeys.has(event.code) && event.target instanceof Element) {
|
||||
handleSelection();
|
||||
|
||||
@@ -57,6 +57,10 @@ export function OptionItems({
|
||||
}
|
||||
|
||||
function handleMenuKeyUp(event: KeyboardEvent) {
|
||||
if (!event.isTrusted) {
|
||||
return;
|
||||
}
|
||||
|
||||
const items = [
|
||||
...(event.currentTarget as HTMLElement).querySelectorAll<HTMLElement>('[tabindex="0"]'),
|
||||
];
|
||||
|
||||
@@ -54,7 +54,7 @@ export class OptionSelection extends LitElement {
|
||||
private static currentOpenInstance: OptionSelection | null = null;
|
||||
|
||||
private handleButtonClick = async (event: Event) => {
|
||||
if (!this.disabled) {
|
||||
if (event.isTrusted && !this.disabled) {
|
||||
const isOpening = !this.showMenu;
|
||||
|
||||
if (isOpening) {
|
||||
|
||||
@@ -194,7 +194,11 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
|
||||
private handleSaveLoginInlineMenuKeyUp = (event: KeyboardEvent) => {
|
||||
const listenedForKeys = new Set(["ArrowDown"]);
|
||||
if (!listenedForKeys.has(event.code) || !(event.target instanceof Element)) {
|
||||
if (
|
||||
!event.isTrusted ||
|
||||
!listenedForKeys.has(event.code) ||
|
||||
!(event.target instanceof Element)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -353,7 +357,7 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
* @param event - The keyup event.
|
||||
*/
|
||||
private handleFillGeneratedPasswordKeyUp = (event: KeyboardEvent) => {
|
||||
if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
||||
if (!event.isTrusted || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -394,7 +398,7 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
* @param event - The keyup event.
|
||||
*/
|
||||
private handleRefreshGeneratedPasswordKeyUp = (event: KeyboardEvent) => {
|
||||
if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
||||
if (!event.isTrusted || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -974,7 +978,11 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
*/
|
||||
private handleFillCipherKeyUpEvent = (event: KeyboardEvent) => {
|
||||
const listenedForKeys = new Set(["ArrowDown", "ArrowUp", "ArrowRight"]);
|
||||
if (!listenedForKeys.has(event.code) || !(event.target instanceof Element)) {
|
||||
if (
|
||||
!event.isTrusted ||
|
||||
!listenedForKeys.has(event.code) ||
|
||||
!(event.target instanceof Element)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1002,7 +1010,11 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
*/
|
||||
private handleNewItemButtonKeyUpEvent = (event: KeyboardEvent) => {
|
||||
const listenedForKeys = new Set(["ArrowDown", "ArrowUp"]);
|
||||
if (!listenedForKeys.has(event.code) || !(event.target instanceof Element)) {
|
||||
if (
|
||||
!event.isTrusted ||
|
||||
!listenedForKeys.has(event.code) ||
|
||||
!(event.target instanceof Element)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1064,7 +1076,11 @@ export class AutofillInlineMenuList extends AutofillInlineMenuPageElement {
|
||||
*/
|
||||
private handleViewCipherKeyUpEvent = (event: KeyboardEvent) => {
|
||||
const listenedForKeys = new Set(["ArrowDown", "ArrowUp", "ArrowLeft"]);
|
||||
if (!listenedForKeys.has(event.code) || !(event.target instanceof Element)) {
|
||||
if (
|
||||
!event.isTrusted ||
|
||||
!listenedForKeys.has(event.code) ||
|
||||
!(event.target instanceof Element)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ export class AutofillInlineMenuPageElement extends HTMLElement {
|
||||
*/
|
||||
private handleDocumentKeyDownEvent = (event: KeyboardEvent) => {
|
||||
const listenedForKeys = new Set(["Tab", "Escape", "ArrowUp", "ArrowDown"]);
|
||||
if (!listenedForKeys.has(event.code)) {
|
||||
if (!event.isTrusted || !listenedForKeys.has(event.code)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -618,6 +618,7 @@ export class AutofillOverlayContentService implements AutofillOverlayContentServ
|
||||
*/
|
||||
private handleSubmitButtonInteraction = (event: PointerEvent) => {
|
||||
if (
|
||||
!event.isTrusted ||
|
||||
!this.submitElements.has(event.target as HTMLElement) ||
|
||||
(event.type === "keyup" &&
|
||||
!["Enter", "Space"].includes((event as unknown as KeyboardEvent).code))
|
||||
|
||||
Reference in New Issue
Block a user