[tbb-commits] [Git][tpo/applications/tor-browser][tor-browser-102.9.0esr-12.5-1] fixup! fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser

Pier Angelo Vendrame (@pierov) git at gitlab.torproject.org
Wed Apr 5 12:57:09 UTC 2023



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/4d9627dafaea0f5343cc82b73b864011b6277e14

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4d9627dafaea0f5343cc82b73b864011b6277e14
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tbb-commits/attachments/20230405/6687f66e/attachment-0001.htm>


More information about the tbb-commits mailing list