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
--- 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;
}