tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TimeoutSettings.ts (931B)


      1 /**
      2 * @license
      3 * Copyright 2019 Google Inc.
      4 * SPDX-License-Identifier: Apache-2.0
      5 */
      6 
      7 const DEFAULT_TIMEOUT = 30000;
      8 
      9 /**
     10 * @internal
     11 */
     12 export class TimeoutSettings {
     13  #defaultTimeout: number | null;
     14  #defaultNavigationTimeout: number | null;
     15 
     16  constructor() {
     17    this.#defaultTimeout = null;
     18    this.#defaultNavigationTimeout = null;
     19  }
     20 
     21  setDefaultTimeout(timeout: number): void {
     22    this.#defaultTimeout = timeout;
     23  }
     24 
     25  setDefaultNavigationTimeout(timeout: number): void {
     26    this.#defaultNavigationTimeout = timeout;
     27  }
     28 
     29  navigationTimeout(): number {
     30    if (this.#defaultNavigationTimeout !== null) {
     31      return this.#defaultNavigationTimeout;
     32    }
     33    if (this.#defaultTimeout !== null) {
     34      return this.#defaultTimeout;
     35    }
     36    return DEFAULT_TIMEOUT;
     37  }
     38 
     39  timeout(): number {
     40    if (this.#defaultTimeout !== null) {
     41      return this.#defaultTimeout;
     42    }
     43    return DEFAULT_TIMEOUT;
     44  }
     45 }