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

sysrqb at torproject.org sysrqb at torproject.org
Thu Jul 8 16:48:20 UTC 2021


commit 21083586165d60491d7b4c590ca166415d1f104e
Author: Matthew Finkel <sysrqb at torproject.org>
Date:   Thu Jul 8 16:25:50 2021 +0000

    fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
---
 browser/components/sessionstore/SessionStore.jsm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/browser/components/sessionstore/SessionStore.jsm b/browser/components/sessionstore/SessionStore.jsm
index 6ab86fd5913e..2d66422abf58 100644
--- a/browser/components/sessionstore/SessionStore.jsm
+++ b/browser/components/sessionstore/SessionStore.jsm
@@ -213,6 +213,10 @@ ChromeUtils.defineModuleGetter(
   "resource://gre/modules/sessionstore/SessionHistory.jsm"
 );
 
+const { TorProtocolService } = ChromeUtils.import(
+    "resource:///modules/TorProtocolService.jsm"
+);
+
 XPCOMUtils.defineLazyServiceGetters(this, {
   gScreenManager: ["@mozilla.org/gfx/screenmanager;1", "nsIScreenManager"],
   Telemetry: ["@mozilla.org/base/telemetry;1", "nsITelemetry"],
@@ -1888,11 +1892,23 @@ var SessionStoreInternal = {
         }, "browser-delayed-startup-finished");
       });
 
+      let bootstrapPromise = new Promise(resolve => {
+        if (TorProtocolService.isBootstrapDone() || !TorProtocolService.ownsTorDaemon) {
+          resolve();
+        } else {
+          Services.obs.addObserver(function obs(subject, topic) {
+            Services.obs.removeObserver(obs, topic);
+            resolve();
+          }, "torconnect:bootstrap-complete");
+        }
+      });
+
       // We are ready for initialization as soon as the session file has been
       // read from disk and the initial window's delayed startup has finished.
       this._promiseReadyForInitialization = Promise.all([
         promise,
         SessionStartup.onceInitialized,
+        bootstrapPromise,
       ]);
     }
 



More information about the tor-commits mailing list