Pier Angelo Vendrame pushed to branch tor-browser-102.9.0esr-12.5-1 at The Tor Project / Applications / Tor Browser

Commits:

1 changed file:

Changes:

  • browser/components/torconnect/content/aboutTorConnect.js
    ... ... @@ -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() {