Bug 1468025 - Define lazy getter for TCPListener in Marionette component. r?whimboo draft
authorAndreas Tolfsen <ato@sny.no>
Sat, 09 Jun 2018 18:51:13 +0100
changeset 807607 a2bfa01dbb04d427fd34ee430f4dec48e429dd60
parent 807585 e51f8dbf0397a7f7055dc792c3ee5ad2409e1e2c
push id113170
push userbmo:ato@sny.no
push dateFri, 15 Jun 2018 03:25:59 +0000
reviewerswhimboo
bugs1468025
milestone62.0a1
Bug 1468025 - Define lazy getter for TCPListener in Marionette component. r?whimboo This patch reorganises imports and getter definitions to match style used elsewhere, and defines TCPListener as a lazy getter. MozReview-Commit-ID: Dq2ufYzVcvE
testing/marionette/components/marionette.js
--- a/testing/marionette/components/marionette.js
+++ b/testing/marionette/components/marionette.js
@@ -2,32 +2,36 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 ChromeUtils.import("resource://gre/modules/Services.jsm");
 ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 
-XPCOMUtils.defineLazyServiceGetter(
-    this, "env", "@mozilla.org/process/environment;1", "nsIEnvironment");
-ChromeUtils.defineModuleGetter(this, "Log",
-    "resource://gre/modules/Log.jsm");
 const {
   EnvironmentPrefs,
   MarionettePrefs,
 } = ChromeUtils.import("chrome://marionette/content/prefs.js", {});
-ChromeUtils.defineModuleGetter(this, "Preferences",
-    "resource://gre/modules/Preferences.jsm");
+
+XPCOMUtils.defineLazyModuleGetters(this, {
+  Log: "resource://gre/modules/Log.jsm",
+  Preferences: "resource://gre/modules/Preferences.jsm",
+  TCPListener: "chrome://marionette/content/server.js",
+});
+
 XPCOMUtils.defineLazyGetter(this, "log", () => {
   let log = Log.repository.getLogger("Marionette");
   log.addAppender(new Log.DumpAppender());
   return log;
 });
 
+XPCOMUtils.defineLazyServiceGetter(
+    this, "env", "@mozilla.org/process/environment;1", "nsIEnvironment");
+
 const NOTIFY_RUNNING = "remote-active";
 
 // Complements -marionette flag for starting the Marionette server.
 // We also set this if Marionette is running in order to start the server
 // again after a Firefox restart.
 const ENV_ENABLED = "MOZ_MARIONETTE";
 const PREF_ENABLED = "marionette.enabled";
 
@@ -436,20 +440,18 @@ class MarionetteParentProcess {
             log.debug(`Setting recommended pref ${k} to ${v}`);
             Preferences.set(k, v);
             this.alteredPrefs.add(k);
           }
         }
       }
 
       try {
-        const {TCPListener} = ChromeUtils.import("chrome://marionette/content/server.js", {});
-        let listener = new TCPListener(MarionettePrefs.port);
-        listener.start();
-        this.server = listener;
+        this.server = new TCPListener(MarionettePrefs.port);
+        this.server.start();
       } catch (e) {
         log.fatal("Remote protocol server failed to start", e);
         this.uninit();
         if (quit) {
           Services.startup.quit(Ci.nsIAppStartup.eForceQuit);
         }
         return;
       }