
commit db7845b74fd1778acd1d2c4c68f724a27ca8ca69 Author: Richard Pospesel <richard@torproject.org> Date: Fri Dec 17 16:58:28 2021 +0100 Added extensions.torlauncher.launch_delay debug pref handling to simulate slow tor launch --- src/components/tl-process.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/tl-process.js b/src/components/tl-process.js index d52dcda..51369a6 100644 --- a/src/components/tl-process.js +++ b/src/components/tl-process.js @@ -3,6 +3,8 @@ // // vim: set sw=2 sts=2 ts=8 et syntax=javascript: +const { setTimeout } = ChromeUtils.import("resource://gre/modules/Timer.jsm") + const Cc = Components.classes; const Ci = Components.interfaces; const Cr = Components.results; @@ -41,6 +43,8 @@ TorProcessService.prototype = kPrefPromptAtStartup: "extensions.torlauncher.prompt_at_startup", kPrefDefaultBridgeType: "extensions.torlauncher.default_bridge_type", + // useful for simulating slow tor daemon launch + kPrefTorDaemonLaunchDelay: "extensions.torlauncher.launch_delay", kWizardProgressPageID: "progress", @@ -528,7 +532,17 @@ TorProcessService.prototype = for (var i = 0; i < args.length; ++i) TorLauncherLogger.log(2, " " + args[i]); - p.runwAsync(args, args.length, this, false); + const launchDelay = TorLauncherUtil.getIntPref(this.kPrefTorDaemonLaunchDelay, 0); + let runwAsync = () => p.runwAsync(args, args.length, this, false); + + if (launchDelay > 0) { + setTimeout(() => { + runwAsync(); + }, launchDelay); + } else { + runwAsync(); + } + this.mTorProcess = p; this.mTorProcessStartTime = Date.now(); }