[tbb-commits] [tor-browser/tor-browser-91.2.0esr-11.0-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser

sysrqb at torproject.org sysrqb at torproject.org
Wed Oct 6 13:32:12 UTC 2021


commit 9049bf031e938af4dfc3b09c729cacd9bcc1b11b
Author: Richard Pospesel <richard at torproject.org>
Date:   Wed Sep 8 12:06:57 2021 -0500

    fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
---
 browser/components/torconnect/TorConnectParent.jsm     |  8 +-------
 .../components/torconnect/content/aboutTorConnect.js   | 18 ++++++++----------
 2 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/browser/components/torconnect/TorConnectParent.jsm b/browser/components/torconnect/TorConnectParent.jsm
index b735d75c1a72..2fbc2a5c7c7c 100644
--- a/browser/components/torconnect/TorConnectParent.jsm
+++ b/browser/components/torconnect/TorConnectParent.jsm
@@ -25,7 +25,6 @@ class TorConnectParent extends JSWindowActorParent {
     this.state = {
       State: TorConnect.state,
       StateChanged: false,
-      Exit: false,
       ErrorMessage: TorConnect.errorMessage,
       ErrorDetails: TorConnect.errorDetails,
       BootstrapProgress: TorConnect.bootstrapProgress,
@@ -65,12 +64,7 @@ class TorConnectParent extends JSWindowActorParent {
             break;
           }
           case TorConnectTopics.BootstrapComplete: {
-            // tells about:torconnect pages to close or redirect themselves
-            // this flag will only be set if an about:torconnect page
-            // reaches the Bootstrapped state, so if a user
-            // navigates to about:torconnect manually after bootstrap, the page
-            // will not auto-close on them
-            self.state.Exit = true;
+            // noop
             break;
           }
           case TorConnectTopics.BootstrapError: {
diff --git a/browser/components/torconnect/content/aboutTorConnect.js b/browser/components/torconnect/content/aboutTorConnect.js
index 4eed3cf6a5c3..b53f8b13cb80 100644
--- a/browser/components/torconnect/content/aboutTorConnect.js
+++ b/browser/components/torconnect/content/aboutTorConnect.js
@@ -194,16 +194,10 @@ class AboutTorConnect {
     this.hide(this.elements.advancedButton);
     this.hide(this.elements.cancelButton);
 
-    // only exit about:torconnect if TorConnectParent directs us to
-    if (state.Exit) {
-      if (this.redirect) {
-        // first try to forward to final destination
-        document.location = this.redirect;
-      } else {
-        // or else close the window
-        window.close();
-      }
-    }
+    // redirects page to the requested redirect url, removes about:torconnect
+    // from the page stack, so users cannot accidentally go 'back' to the
+    // now unresponsive page
+    window.location.replace(this.redirect);
   }
 
   update_Disabled(state) {
@@ -283,6 +277,10 @@ class AboutTorConnect {
     if (params.has("redirect")) {
       const encodedRedirect = params.get("redirect");
       this.redirect = decodeURIComponent(encodedRedirect);
+    } else {
+      // if the user gets here manually or via the button in the urlbar
+      // then we will redirect to about:tor
+      this.redirect = "about:tor";
     }
 
     let args = await RPMSendQuery("torconnect:get-init-args");





More information about the tbb-commits mailing list