commit 67e4e06d45d415c815f6b7c45d6a22b92379c384
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Sep 3 03:52:25 2021 +0000
fixup! Bug 27477: Implement about:torconnect captive portal within Tor Browser
This reverts commit ff3b679987ee9d5515508d94d78ed28166706249.
---
.../components/torpreferences/content/torPane.js | 9 +++++----
browser/modules/TorConnect.jsm | 23 +++++++++++-----------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index cde424a3f32a..afdb27351831 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -159,10 +159,11 @@ const gTorPane = (function() {
this._messageBoxButton = prefpane.querySelector(selectors.messageBox.button);
// wire up connect button
this._messageBoxButton.addEventListener("click", () => {
- TorConnect.beginBootstrap();
- let win = Services.wm.getMostRecentWindow("navigator:browser");
- // switch to existing about:torconnect tab or create a new one
- win.switchToTabHavingURI("about:torconnect", true);
+ TorConnect.beginBootstrap().then((result) => {
+ let win = Services.wm.getMostRecentWindow("navigator:browser");
+ // switch to existing about:torconnect tab or create a new one
+ win.switchToTabHavingURI("about:torconnect", true);
+ });
});
let populateMessagebox = () => {
diff --git a/browser/modules/TorConnect.jsm b/browser/modules/TorConnect.jsm
index 17a786dc31f0..6444ab39e928 100644
--- a/browser/modules/TorConnect.jsm
+++ b/browser/modules/TorConnect.jsm
@@ -167,19 +167,19 @@ const TorConnect = (() => {
/* Initial is never transitioned to */
[TorConnectState.Initial, null],
/* Configuring */
- [TorConnectState.Configuring, (self, prevState) => {
+ [TorConnectState.Configuring, async (self, prevState) => {
// TODO move this to the transition function
if (prevState === TorConnectState.Bootstrapping) {
- TorProtocolService.torStopBootstrap();
+ await TorProtocolService.torStopBootstrap();
}
}],
/* AutoConfiguring */
- [TorConnectState.AutoConfiguring, (self, prevState) => {
+ [TorConnectState.AutoConfiguring, async (self, prevState) => {
}],
/* Bootstrapping */
- [TorConnectState.Bootstrapping, (self, prevState) => {
- let error = TorProtocolService.connect();
+ [TorConnectState.Bootstrapping, async (self, prevState) => {
+ let error = await TorProtocolService.connect();
if (error) {
self.onError(error.message, error.details);
} else {
@@ -187,12 +187,12 @@ const TorConnect = (() => {
}
}],
/* Bootstrapped */
- [TorConnectState.Bootstrapped, (self,prevState) => {
+ [TorConnectState.Bootstrapped, async (self,prevState) => {
// notify observers of bootstrap completion
Services.obs.notifyObservers(null, TorConnectTopics.BootstrapComplete);
}],
/* Error */
- [TorConnectState.Error, (self, prevState, errorMessage, errorDetails, fatal) => {
+ [TorConnectState.Error, async (self, prevState, errorMessage, errorDetails, fatal) => {
self._errorMessage = errorMessage;
self._errorDetails = errorDetails;
@@ -204,7 +204,7 @@ const TorConnect = (() => {
}
}],
/* FatalError */
- [TorConnectState.FatalError, (self, prevState) => {
+ [TorConnectState.FatalError, async (self, prevState) => {
Services.obs.notifyObservers(null, TorConnectTopics.FatalError);
}],
/* Disabled */
@@ -213,7 +213,7 @@ const TorConnect = (() => {
}],
])),
- _changeState: function(newState, ...args) {
+ _changeState: async function(newState, ...args) {
const prevState = this._state;
// ensure this is a valid state transition
@@ -228,7 +228,7 @@ const TorConnect = (() => {
this._state = newState;
// call our transition function and forward any args
- this._transitionCallbacks.get(newState)(this, prevState, ...args);
+ await this._transitionCallbacks.get(newState)(this, prevState, ...args);
Services.obs.notifyObservers({state: newState}, TorConnectTopics.StateChange);
},
@@ -306,8 +306,7 @@ const TorConnect = (() => {
/* Handle bootstrap error*/
case TorTopics.BootstrapError: {
const obj = subject?.wrappedJSObject;
- TorProtocolService.torStopBootstrap();
- this.onError(obj.message, obj.details);
+ TorProtocolService.torStopBootstrap().then(() => this.onError(obj.message, obj.details));
break;
}
case TorTopics.LogHasWarnOrErr: {