Bug 1467215 - Reset prefs possibly set by failed init. r?maja_zf draft
authorAndreas Tolfsen <ato@sny.no>
Wed, 06 Jun 2018 18:34:32 +0100
changeset 805206 b767e4e860fc688e82ff204ec150d30561fea68a
parent 805205 93bbc37107800b4034501aec007d4cdc1de02651
push id112591
push userbmo:ato@sny.no
push dateThu, 07 Jun 2018 13:25:49 +0000
reviewersmaja_zf
bugs1467215
milestone62.0a1
Bug 1467215 - Reset prefs possibly set by failed init. r?maja_zf If initialisation fails on being unable to start the TCP listener, we may have already set some recommended preferences. This patch ensures any altered preferences get reset when uninit() is called in the try...catch block in init(). MozReview-Commit-ID: B5vNvTUZcO7
testing/marionette/components/marionette.js
--- a/testing/marionette/components/marionette.js
+++ b/testing/marionette/components/marionette.js
@@ -454,24 +454,24 @@ class MarionetteMainProcess {
 
       env.set(ENV_ENABLED, "1");
       Services.obs.notifyObservers(this, NOTIFY_RUNNING, true);
       log.debug("Remote service is active");
     });
   }
 
   uninit() {
+    for (let k of this.alteredPrefs) {
+      log.debug(`Resetting recommended pref ${k}`);
+      Preferences.reset(k);
+    }
+    this.alteredPrefs.clear();
+
     if (this.running) {
       this.server.stop();
-      for (let k of this.alteredPrefs) {
-        log.debug(`Resetting recommended pref ${k}`);
-        Preferences.reset(k);
-      }
-      this.alteredPrefs.clear();
-
       Services.obs.notifyObservers(this, NOTIFY_RUNNING);
       log.debug("Remote service is inactive");
     }
   }
 
   get QueryInterface() {
     return ChromeUtils.generateQI([
       Ci.nsICommandLineHandler,