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 fixup! fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
Bug 41526: revert removal of focus to cancle button + add prevention from keyboard input to trigger multiple buttons as focus switches
- - - - -
1 changed file:
- browser/components/torconnect/content/aboutTorConnect.js
Changes:
===================================== browser/components/torconnect/content/aboutTorConnect.js ===================================== @@ -517,6 +517,9 @@ class AboutTorConnect { this.hide(this.elements.viewLogButton); } this.show(this.elements.cancelButton, true); + if (state.StateChanged) { + this.elements.cancelButton.focus(); + } }
showOffline(error) { @@ -772,6 +775,28 @@ class AboutTorConnect { this.beginAutoBootstrap(value); } }); + + // Delay the "Enter" activation of the given button from "keydown" to + // "keyup". + // + // Without this, holding down Enter will continue to trigger the button + // until the user stops holding. This means that a user can accidentally + // re-trigger a button several times. This is particularly bad when the + // focus gets moved to a new button, and the new button can get triggered + // immediately. E.g. when the "Connect" button is triggered it disappears + // and focus moves to the "Cancel" button. + for (const button of document.body.querySelectorAll("button")) { + button.addEventListener("keydown", event => { + if (event.key === "Enter") { + event.preventDefault(); + } + }); + button.addEventListener("keyup", event => { + if (event.key === "Enter") { + button.click(); + } + }); + } }
initObservers() {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4d9627da...
tor-commits@lists.torproject.org