Pier Angelo Vendrame pushed to branch tor-browser-102.9.0esr-12.5-1 at The Tor Project / Applications / Tor Browser
Commits:
- 
4d9627da
by Dan Ballard at 2023-04-05T14:55:29+02:00
1 changed file:
Changes:
| ... | ... | @@ -517,6 +517,9 @@ class AboutTorConnect { | 
| 517 | 517 |        this.hide(this.elements.viewLogButton);
 | 
| 518 | 518 |      }
 | 
| 519 | 519 |      this.show(this.elements.cancelButton, true);
 | 
| 520 | +    if (state.StateChanged) {
 | |
| 521 | +      this.elements.cancelButton.focus();
 | |
| 522 | +    }
 | |
| 520 | 523 |    }
 | 
| 521 | 524 | |
| 522 | 525 |    showOffline(error) {
 | 
| ... | ... | @@ -772,6 +775,28 @@ class AboutTorConnect { | 
| 772 | 775 |          this.beginAutoBootstrap(value);
 | 
| 773 | 776 |        }
 | 
| 774 | 777 |      });
 | 
| 778 | + | |
| 779 | +    // Delay the "Enter" activation of the given button from "keydown" to
 | |
| 780 | +    // "keyup".
 | |
| 781 | +    //
 | |
| 782 | +    // Without this, holding down Enter will continue to trigger the button
 | |
| 783 | +    // until the user stops holding. This means that a user can accidentally
 | |
| 784 | +    // re-trigger a button several times. This is particularly bad when the
 | |
| 785 | +    // focus gets moved to a new button, and the new button can get triggered
 | |
| 786 | +    // immediately. E.g. when the "Connect" button is triggered it disappears
 | |
| 787 | +    // and focus moves to the "Cancel" button.
 | |
| 788 | +    for (const button of document.body.querySelectorAll("button")) {
 | |
| 789 | +      button.addEventListener("keydown", event => {
 | |
| 790 | +        if (event.key === "Enter") {
 | |
| 791 | +          event.preventDefault();
 | |
| 792 | +        }
 | |
| 793 | +      });
 | |
| 794 | +      button.addEventListener("keyup", event => {
 | |
| 795 | +        if (event.key === "Enter") {
 | |
| 796 | +          button.click();
 | |
| 797 | +        }
 | |
| 798 | +      });
 | |
| 799 | +    }
 | |
| 775 | 800 |    }
 | 
| 776 | 801 | |
| 777 | 802 |    initObservers() {
 |