Pier Angelo Vendrame pushed to branch tor-browser-128.0esr-14.0-2 at The Tor Project / Applications / Tor Browser

Commits:

1 changed file:

Changes:

  • toolkit/modules/TorConnect.sys.mjs
    ... ... @@ -687,16 +687,7 @@ class ErrorState extends StateCallback {
    687 687
         ErrorState.#hasEverHappened = true;
    
    688 688
       }
    
    689 689
     
    
    690
    -  run(error) {
    
    691
    -    if (!(error instanceof TorConnectError)) {
    
    692
    -      error = new TorConnectError(TorConnectError.ExternalError, error);
    
    693
    -    }
    
    694
    -    TorConnect._errorCode = error.code;
    
    695
    -    TorConnect._errorDetails = error;
    
    696
    -    lazy.logger.error(`Entering error state (${error.code})`, error);
    
    697
    -
    
    698
    -    Services.obs.notifyObservers(error, TorConnectTopics.Error);
    
    699
    -
    
    690
    +  run(_error) {
    
    700 691
         this.changeState(TorConnectState.Configuring);
    
    701 692
       }
    
    702 693
     
    
    ... ... @@ -904,6 +895,23 @@ export const TorConnect = {
    904 895
         // Set our new state first so that state transitions can themselves
    
    905 896
         // trigger a state transition.
    
    906 897
         this._stateHandler = this._makeState(newState);
    
    898
    +
    
    899
    +    // Error signal needs to be sent out before we enter the Error state.
    
    900
    +    // Expected on android `onBootstrapError` to set lastKnownError.
    
    901
    +    // Expected in about:torconnect to set the error codes and internet status
    
    902
    +    // *before* the StateChange signal.
    
    903
    +    if (newState === TorConnectState.Error) {
    
    904
    +      let error = args[0];
    
    905
    +      if (!(error instanceof TorConnectError)) {
    
    906
    +        error = new TorConnectError(TorConnectError.ExternalError, error);
    
    907
    +      }
    
    908
    +      TorConnect._errorCode = error.code;
    
    909
    +      TorConnect._errorDetails = error;
    
    910
    +      lazy.logger.error(`Entering error state (${error.code})`, error);
    
    911
    +
    
    912
    +      Services.obs.notifyObservers(error, TorConnectTopics.Error);
    
    913
    +    }
    
    914
    +
    
    907 915
         Services.obs.notifyObservers(
    
    908 916
           { state: newState },
    
    909 917
           TorConnectTopics.StateChange