diff --git a/remote/cdp/Connection.jsm b/remote/cdp/Connection.jsm index 27472e9a8d89e..b8ba697248447 100644 --- a/remote/cdp/Connection.jsm +++ b/remote/cdp/Connection.jsm @@ -10,15 +10,14 @@ const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -const { truncate } = ChromeUtils.import( - "chrome://remote/content/shared/Format.jsm" -); -const { Log } = ChromeUtils.import("chrome://remote/content/shared/Log.jsm"); -const { UnknownMethodError } = ChromeUtils.import( - "chrome://remote/content/cdp/Error.jsm" -); +XPCOMUtils.defineLazyModuleGetters(this, { + Log: "chrome://remote/content/shared/Log.jsm", + truncate: "chrome://remote/content/shared/Format.jsm", + UnknownMethodError: "chrome://remote/content/cdp/Error.jsm", +}); + +XPCOMUtils.defineLazyGetter(this, "log", () => Log.get()); -XPCOMUtils.defineLazyGetter(this, "log", Log.get); XPCOMUtils.defineLazyServiceGetter( this, "UUIDGen", diff --git a/remote/cdp/Error.jsm b/remote/cdp/Error.jsm index 1fc338a5d6dfb..0c7b36df274cf 100644 --- a/remote/cdp/Error.jsm +++ b/remote/cdp/Error.jsm @@ -11,13 +11,17 @@ var EXPORTED_SYMBOLS = [ "UnsupportedError", ]; -const { Log } = ChromeUtils.import("chrome://remote/content/shared/Log.jsm"); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -XPCOMUtils.defineLazyGetter(this, "log", Log.get); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + Log: "chrome://remote/content/shared/Log.jsm", +}); + +XPCOMUtils.defineLazyGetter(this, "log", () => Log.get()); class RemoteAgentError extends Error { constructor(message = "", cause = undefined) { diff --git a/remote/cdp/JSONHandler.jsm b/remote/cdp/JSONHandler.jsm index 3e7a2fe303d20..122f8912be1bb 100644 --- a/remote/cdp/JSONHandler.jsm +++ b/remote/cdp/JSONHandler.jsm @@ -6,19 +6,20 @@ var EXPORTED_SYMBOLS = ["JSONHandler"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); - -const { HTTP_404, HTTP_505 } = ChromeUtils.import( - "chrome://remote/content/server/HTTPD.jsm" -); -const { Log } = ChromeUtils.import("chrome://remote/content/shared/Log.jsm"); -const { Protocol } = ChromeUtils.import( - "chrome://remote/content/cdp/Protocol.jsm" -); -const { RemoteAgentError } = ChromeUtils.import( - "chrome://remote/content/cdp/Error.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + HTTP_404: "chrome://remote/content/server/HTTPD.jsm", + HTTP_505: "chrome://remote/content/server/HTTPD.jsm", + Log: "chrome://remote/content/shared/Log.jsm", + Protocol: "chrome://remote/content/cdp/Protocol.jsm", + RemoteAgentError: "chrome://remote/content/cdp/Error.jsm", +}); + class JSONHandler { constructor(agent) { this.agent = agent; diff --git a/remote/cdp/StreamRegistry.jsm b/remote/cdp/StreamRegistry.jsm index db1d9d5944fe1..f35ccacdffc41 100644 --- a/remote/cdp/StreamRegistry.jsm +++ b/remote/cdp/StreamRegistry.jsm @@ -13,16 +13,14 @@ const { XPCOMUtils } = ChromeUtils.import( XPCOMUtils.defineLazyModuleGetters(this, { AsyncShutdown: "resource://gre/modules/AsyncShutdown.jsm", OS: "resource://gre/modules/osfile.jsm", + + UnsupportedError: "chrome://remote/content/cdp/Error.jsm", }); XPCOMUtils.defineLazyServiceGetters(this, { uuidGen: ["@mozilla.org/uuid-generator;1", "nsIUUIDGenerator"], }); -const { UnsupportedError } = ChromeUtils.import( - "chrome://remote/content/cdp/Error.jsm" -); - class StreamRegistry { constructor() { // handle => stream diff --git a/remote/cdp/domains/DomainCache.jsm b/remote/cdp/domains/DomainCache.jsm index fab42a11a2536..04b1a3bfc690d 100644 --- a/remote/cdp/domains/DomainCache.jsm +++ b/remote/cdp/domains/DomainCache.jsm @@ -6,13 +6,15 @@ var EXPORTED_SYMBOLS = ["DomainCache"]; -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); -const { UnknownMethodError } = ChromeUtils.import( - "chrome://remote/content/cdp/Error.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", + UnknownMethodError: "chrome://remote/content/cdp/Error.jsm", +}); + /** * Lazy domain instance cache. * diff --git a/remote/cdp/domains/content/DOM.jsm b/remote/cdp/domains/content/DOM.jsm index c3182c12bd83b..9602f6a6aa65d 100644 --- a/remote/cdp/domains/content/DOM.jsm +++ b/remote/cdp/domains/content/DOM.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["DOM"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class DOM extends ContentProcessDomain { constructor(session) { super(session); diff --git a/remote/cdp/domains/content/Emulation.jsm b/remote/cdp/domains/content/Emulation.jsm index 481662ebb5558..f3826a31ab641 100644 --- a/remote/cdp/domains/content/Emulation.jsm +++ b/remote/cdp/domains/content/Emulation.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["Emulation"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class Emulation extends ContentProcessDomain { // commands diff --git a/remote/cdp/domains/content/Input.jsm b/remote/cdp/domains/content/Input.jsm index 34d3d12aa0a7b..52daf3880d7b2 100644 --- a/remote/cdp/domains/content/Input.jsm +++ b/remote/cdp/domains/content/Input.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["Input"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class Input extends ContentProcessDomain { constructor(session) { super(session); diff --git a/remote/cdp/domains/content/Log.jsm b/remote/cdp/domains/content/Log.jsm index aec785be635c9..a93400a81700c 100644 --- a/remote/cdp/domains/content/Log.jsm +++ b/remote/cdp/domains/content/Log.jsm @@ -6,10 +6,16 @@ var EXPORTED_SYMBOLS = ["Log"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); const CONSOLE_MESSAGE_LEVEL_MAP = { [Ci.nsIConsoleMessage.debug]: "verbose", diff --git a/remote/cdp/domains/content/Network.jsm b/remote/cdp/domains/content/Network.jsm index f2c07cbbe56da..98783f5f1ea9e 100644 --- a/remote/cdp/domains/content/Network.jsm +++ b/remote/cdp/domains/content/Network.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["Network"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class Network extends ContentProcessDomain { // commands diff --git a/remote/cdp/domains/content/Performance.jsm b/remote/cdp/domains/content/Performance.jsm index 865fa5a3daf56..33d5a9acc56ad 100644 --- a/remote/cdp/domains/content/Performance.jsm +++ b/remote/cdp/domains/content/Performance.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["Performance"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class Performance extends ContentProcessDomain { constructor(session) { super(session); diff --git a/remote/cdp/domains/content/Runtime.jsm b/remote/cdp/domains/content/Runtime.jsm index 13dbdb0bd3576..e5435a2c98c6b 100644 --- a/remote/cdp/domains/content/Runtime.jsm +++ b/remote/cdp/domains/content/Runtime.jsm @@ -6,21 +6,24 @@ var EXPORTED_SYMBOLS = ["Runtime"]; +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); + +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", + executeSoon: "chrome://remote/content/shared/Sync.jsm", + ExecutionContext: + "chrome://remote/content/cdp/domains/content/runtime/ExecutionContext.jsm", +}); + const { addDebuggerToGlobal } = ChromeUtils.import( "resource://gre/modules/jsdebugger.jsm", {} ); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); - -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" -); -const { ExecutionContext } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/content/runtime/ExecutionContext.jsm" -); -const { executeSoon } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" -); // Import the `Debugger` constructor in the current scope addDebuggerToGlobal(Cu.getGlobalForObject(this)); diff --git a/remote/cdp/domains/content/Security.jsm b/remote/cdp/domains/content/Security.jsm index 957220caf8a47..8510375a0c04f 100644 --- a/remote/cdp/domains/content/Security.jsm +++ b/remote/cdp/domains/content/Security.jsm @@ -6,10 +6,15 @@ var EXPORTED_SYMBOLS = ["Security"]; -const { ContentProcessDomain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomain: + "chrome://remote/content/cdp/domains/ContentProcessDomain.jsm", +}); + class Security extends ContentProcessDomain { constructor(session) { super(session); diff --git a/remote/cdp/domains/content/runtime/ExecutionContext.jsm b/remote/cdp/domains/content/runtime/ExecutionContext.jsm index 7a04f3ae8f2ff..aa57c879a79b7 100644 --- a/remote/cdp/domains/content/runtime/ExecutionContext.jsm +++ b/remote/cdp/domains/content/runtime/ExecutionContext.jsm @@ -6,8 +6,15 @@ var EXPORTED_SYMBOLS = ["ExecutionContext"]; -const uuidGen = Cc["@mozilla.org/uuid-generator;1"].getService( - Ci.nsIUUIDGenerator +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); + +XPCOMUtils.defineLazyServiceGetter( + this, + "UUIDGen", + "@mozilla.org/uuid-generator;1", + "nsIUUIDGenerator" ); const TYPED_ARRAY_CLASSES = [ @@ -23,8 +30,7 @@ const TYPED_ARRAY_CLASSES = [ ]; function uuid() { - return uuidGen - .generateUUID() + return UUIDGen.generateUUID() .toString() .slice(1, -1); } diff --git a/remote/cdp/domains/parent/Browser.jsm b/remote/cdp/domains/parent/Browser.jsm index 8ff2eb1cbd57c..51f0f1fad6caf 100644 --- a/remote/cdp/domains/parent/Browser.jsm +++ b/remote/cdp/domains/parent/Browser.jsm @@ -6,11 +6,16 @@ var EXPORTED_SYMBOLS = ["Browser"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", +}); + class Browser extends Domain { getVersion() { const { isHeadless } = Cc["@mozilla.org/gfx/info;1"].getService( diff --git a/remote/cdp/domains/parent/Emulation.jsm b/remote/cdp/domains/parent/Emulation.jsm index 504a02373b52b..df47f8de3e111 100644 --- a/remote/cdp/domains/parent/Emulation.jsm +++ b/remote/cdp/domains/parent/Emulation.jsm @@ -6,12 +6,16 @@ var EXPORTED_SYMBOLS = ["Emulation"]; -const { NetUtil } = ChromeUtils.import("resource://gre/modules/NetUtil.jsm"); - -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + NetUtil: "resource://gre/modules/NetUtil.jsm", + + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", +}); + const MAX_WINDOW_SIZE = 10000000; class Emulation extends Domain { diff --git a/remote/cdp/domains/parent/IO.jsm b/remote/cdp/domains/parent/IO.jsm index 0ad400218bde3..a8f8137ab811d 100644 --- a/remote/cdp/domains/parent/IO.jsm +++ b/remote/cdp/domains/parent/IO.jsm @@ -12,14 +12,10 @@ const { XPCOMUtils } = ChromeUtils.import( XPCOMUtils.defineLazyModuleGetters(this, { OS: "resource://gre/modules/osfile.jsm", -}); -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); -const { StreamRegistry } = ChromeUtils.import( - "chrome://remote/content/cdp/StreamRegistry.jsm" -); + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", + StreamRegistry: "chrome://remote/content/cdp/StreamRegistry.jsm", +}); const DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024; diff --git a/remote/cdp/domains/parent/Input.jsm b/remote/cdp/domains/parent/Input.jsm index d6dcce3f5601b..9bc0df29c115b 100644 --- a/remote/cdp/domains/parent/Input.jsm +++ b/remote/cdp/domains/parent/Input.jsm @@ -6,12 +6,16 @@ var EXPORTED_SYMBOLS = ["Input"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); - -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", +}); + class Input extends Domain { // commands diff --git a/remote/cdp/domains/parent/Network.jsm b/remote/cdp/domains/parent/Network.jsm index b7bf74bb7f3ff..465659f863e95 100644 --- a/remote/cdp/domains/parent/Network.jsm +++ b/remote/cdp/domains/parent/Network.jsm @@ -6,17 +6,16 @@ var EXPORTED_SYMBOLS = ["Network"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); - const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -XPCOMUtils.defineLazyGlobalGetters(this, ["URL"]); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", +}); -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); +XPCOMUtils.defineLazyGlobalGetters(this, ["URL"]); const MAX_COOKIE_EXPIRY = Number.MAX_SAFE_INTEGER; diff --git a/remote/cdp/domains/parent/Page.jsm b/remote/cdp/domains/parent/Page.jsm index 131c33932d3f3..421ce814063e9 100644 --- a/remote/cdp/domains/parent/Page.jsm +++ b/remote/cdp/domains/parent/Page.jsm @@ -10,39 +10,23 @@ var { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); - XPCOMUtils.defineLazyModuleGetters(this, { + clearInterval: "resource://gre/modules/Timer.jsm", + OS: "resource://gre/modules/osfile.jsm", + Services: "resource://gre/modules/Services.jsm", SessionStore: "resource:///modules/sessionstore/SessionStore.jsm", + setInterval: "resource://gre/modules/Timer.jsm", + + DialogHandler: + "chrome://remote/content/cdp/domains/parent/page/DialogHandler.jsm", + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", + PollPromise: "chrome://remote/content/shared/Sync.jsm", + streamRegistry: "chrome://remote/content/cdp/domains/parent/IO.jsm", + TabManager: "chrome://remote/content/shared/TabManager.jsm", + UnsupportedError: "chrome://remote/content/cdp/Error.jsm", + WindowManager: "chrome://remote/content/shared/WindowManager.jsm", }); -const { OS } = ChromeUtils.import("resource://gre/modules/osfile.jsm"); -const { clearInterval, setInterval } = ChromeUtils.import( - "resource://gre/modules/Timer.jsm" -); - -const { DialogHandler } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/parent/page/DialogHandler.jsm" -); -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); -const { UnsupportedError } = ChromeUtils.import( - "chrome://remote/content/cdp/Error.jsm" -); -const { streamRegistry } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/parent/IO.jsm" -); -const { PollPromise } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" -); -const { TabManager } = ChromeUtils.import( - "chrome://remote/content/shared/TabManager.jsm" -); -const { WindowManager } = ChromeUtils.import( - "chrome://remote/content/shared/WindowManager.jsm" -); - const MAX_CANVAS_DIMENSION = 32767; const MAX_CANVAS_AREA = 472907776; diff --git a/remote/cdp/domains/parent/Security.jsm b/remote/cdp/domains/parent/Security.jsm index a5c942d5b9730..6577e9ed09416 100644 --- a/remote/cdp/domains/parent/Security.jsm +++ b/remote/cdp/domains/parent/Security.jsm @@ -6,17 +6,16 @@ var EXPORTED_SYMBOLS = ["Security"]; -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); - -const { Preferences } = ChromeUtils.import( - "resource://gre/modules/Preferences.jsm" -); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Preferences: "resource://gre/modules/Preferences.jsm", + + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", +}); + XPCOMUtils.defineLazyServiceGetters(this, { sss: ["@mozilla.org/ssservice;1", "nsISiteSecurityService"], certOverrideService: [ diff --git a/remote/cdp/domains/parent/Target.jsm b/remote/cdp/domains/parent/Target.jsm index f4d846a54686b..007a713d43d58 100644 --- a/remote/cdp/domains/parent/Target.jsm +++ b/remote/cdp/domains/parent/Target.jsm @@ -9,6 +9,19 @@ var EXPORTED_SYMBOLS = ["Target"]; const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); + +XPCOMUtils.defineLazyModuleGetters(this, { + ContextualIdentityService: + "resource://gre/modules/ContextualIdentityService.jsm", + + Domain: "chrome://remote/content/cdp/domains/Domain.jsm", + MainProcessTarget: + "chrome://remote/content/cdp/targets/MainProcessTarget.jsm", + TabManager: "chrome://remote/content/shared/TabManager.jsm", + TabSession: "chrome://remote/content/cdp/sessions/TabSession.jsm", + WindowManager: "chrome://remote/content/shared/WindowManager.jsm", +}); + XPCOMUtils.defineLazyServiceGetter( this, "UUIDGen", @@ -16,25 +29,6 @@ XPCOMUtils.defineLazyServiceGetter( "nsIUUIDGenerator" ); -const { ContextualIdentityService } = ChromeUtils.import( - "resource://gre/modules/ContextualIdentityService.jsm" -); -const { Domain } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/Domain.jsm" -); -const { MainProcessTarget } = ChromeUtils.import( - "chrome://remote/content/cdp/targets/MainProcessTarget.jsm" -); -const { TabManager } = ChromeUtils.import( - "chrome://remote/content/shared/TabManager.jsm" -); -const { TabSession } = ChromeUtils.import( - "chrome://remote/content/cdp/sessions/TabSession.jsm" -); -const { WindowManager } = ChromeUtils.import( - "chrome://remote/content/shared/WindowManager.jsm" -); - let browserContextIds = 1; class Target extends Domain { diff --git a/remote/cdp/domains/parent/page/DialogHandler.jsm b/remote/cdp/domains/parent/page/DialogHandler.jsm index 26027a90db325..e2db1774772b4 100644 --- a/remote/cdp/domains/parent/page/DialogHandler.jsm +++ b/remote/cdp/domains/parent/page/DialogHandler.jsm @@ -6,10 +6,14 @@ var EXPORTED_SYMBOLS = ["DialogHandler"]; -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + +XPCOMUtils.defineLazyModuleGetters(this, { + EventEmitter: "resource://gre/modules/EventEmitter.jsm", + Services: "resource://gre/modules/Services.jsm", +}); const DIALOG_TYPES = { ALERT: "alert", diff --git a/remote/cdp/observers/ChannelEventSink.jsm b/remote/cdp/observers/ChannelEventSink.jsm index bf86316a06344..a0b430d972b02 100644 --- a/remote/cdp/observers/ChannelEventSink.jsm +++ b/remote/cdp/observers/ChannelEventSink.jsm @@ -4,11 +4,17 @@ "use strict"; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { ComponentUtils } = ChromeUtils.import( - "resource://gre/modules/ComponentUtils.jsm" +var EXPORTED_SYMBOLS = ["ChannelEventSinkFactory"]; + +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + ComponentUtils: "resource://gre/modules/ComponentUtils.jsm", + Services: "resource://gre/modules/Services.jsm", +}); + const Cm = Components.manager; /** @@ -105,5 +111,4 @@ ChannelEventSinkFactory.getService = function() { .wrappedJSObject; }; -var EXPORTED_SYMBOLS = ["ChannelEventSinkFactory"]; this.ChannelEventSinkFactory = ChannelEventSinkFactory; diff --git a/remote/cdp/observers/ContextObserver.jsm b/remote/cdp/observers/ContextObserver.jsm index 6f5c70c88959b..c2e6f14a5bb35 100644 --- a/remote/cdp/observers/ContextObserver.jsm +++ b/remote/cdp/observers/ContextObserver.jsm @@ -25,14 +25,16 @@ var EXPORTED_SYMBOLS = ["ContextObserver"]; -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { executeSoon } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" -); +XPCOMUtils.defineLazyModuleGetters(this, { + EventEmitter: "resource://gre/modules/EventEmitter.jsm", + Services: "resource://gre/modules/Services.jsm", + + executeSoon: "chrome://remote/content/shared/Sync.jsm", +}); class ContextObserver { constructor(chromeEventHandler) { diff --git a/remote/cdp/observers/NetworkObserver.jsm b/remote/cdp/observers/NetworkObserver.jsm index abd595a071d94..613070223ef5d 100644 --- a/remote/cdp/observers/NetworkObserver.jsm +++ b/remote/cdp/observers/NetworkObserver.jsm @@ -4,38 +4,20 @@ "use strict"; -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" -); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { NetUtil } = ChromeUtils.import("resource://gre/modules/NetUtil.jsm"); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -const { CommonUtils } = ChromeUtils.import( - "resource://services-common/utils.js" -); -const { ChannelEventSinkFactory } = ChromeUtils.import( - "chrome://remote/content/cdp/observers/ChannelEventSink.jsm" -); -const CC = Components.Constructor; +XPCOMUtils.defineLazyModuleGetters(this, { + CommonUtils: "resource://services-common/utils.js", + EventEmitter: "resource://gre/modules/EventEmitter.jsm", + NetUtil: "resource://gre/modules/NetUtil.jsm", + Services: "resource://gre/modules/Services.jsm", + + ChannelEventSinkFactory: + "chrome://remote/content/cdp/observers/ChannelEventSink.jsm", +}); -const BinaryInputStream = CC( - "@mozilla.org/binaryinputstream;1", - "nsIBinaryInputStream", - "setInputStream" -); -const BinaryOutputStream = CC( - "@mozilla.org/binaryoutputstream;1", - "nsIBinaryOutputStream", - "setOutputStream" -); -const StorageStream = CC( - "@mozilla.org/storagestream;1", - "nsIStorageStream", - "init" -); XPCOMUtils.defineLazyServiceGetter( this, "gActivityDistributor", @@ -43,6 +25,28 @@ XPCOMUtils.defineLazyServiceGetter( "nsIHttpActivityDistributor" ); +const CC = Components.Constructor; + +XPCOMUtils.defineLazyGetter(this, "BinaryInputStream", () => { + return CC( + "@mozilla.org/binaryinputstream;1", + "nsIBinaryInputStream", + "setInputStream" + ); +}); + +XPCOMUtils.defineLazyGetter(this, "BinaryOutputStream", () => { + return CC( + "@mozilla.org/binaryoutputstream;1", + "nsIBinaryOutputStream", + "setOutputStream" + ); +}); + +XPCOMUtils.defineLazyGetter(this, "StorageStream", () => { + return CC("@mozilla.org/storagestream;1", "nsIStorageStream", "init"); +}); + // Cap response storage with 100Mb per tracked tab. const MAX_RESPONSE_STORAGE_SIZE = 100 * 1024 * 1024; diff --git a/remote/cdp/observers/TargetObserver.jsm b/remote/cdp/observers/TargetObserver.jsm index f1110bfc78ffa..3c8a272829085 100644 --- a/remote/cdp/observers/TargetObserver.jsm +++ b/remote/cdp/observers/TargetObserver.jsm @@ -6,13 +6,16 @@ var EXPORTED_SYMBOLS = ["TabObserver"]; -const { EventPromise } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" -); -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + +XPCOMUtils.defineLazyModuleGetters(this, { + EventEmitter: "resource://gre/modules/EventEmitter.jsm", + Services: "resource://gre/modules/Services.jsm", + + EventPromise: "chrome://remote/content/shared/Sync.jsm", +}); // TODO(ato): // diff --git a/remote/cdp/sessions/ContentProcessSession.jsm b/remote/cdp/sessions/ContentProcessSession.jsm index 2771dd4772bf5..d0aa0aaa31252 100644 --- a/remote/cdp/sessions/ContentProcessSession.jsm +++ b/remote/cdp/sessions/ContentProcessSession.jsm @@ -6,18 +6,16 @@ var EXPORTED_SYMBOLS = ["ContentProcessSession"]; -const { ContentProcessDomains } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ContentProcessDomains.jsm" -); -const { DomainCache } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/DomainCache.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -ChromeUtils.defineModuleGetter( - this, - "ContextObserver", - "chrome://remote/content/cdp/observers/ContextObserver.jsm" -); +XPCOMUtils.defineLazyModuleGetters(this, { + ContentProcessDomains: + "chrome://remote/content/cdp/domains/ContentProcessDomains.jsm", + ContextObserver: "chrome://remote/content/cdp/observers/ContextObserver.jsm", + DomainCache: "chrome://remote/content/cdp/domains/DomainCache.jsm", +}); class ContentProcessSession { constructor(messageManager, browsingContext, content, docShell) { diff --git a/remote/cdp/sessions/Session.jsm b/remote/cdp/sessions/Session.jsm index c490ccc6a6461..b0d56fbdbd9d9 100644 --- a/remote/cdp/sessions/Session.jsm +++ b/remote/cdp/sessions/Session.jsm @@ -6,16 +6,16 @@ var EXPORTED_SYMBOLS = ["Session"]; -const { ParentProcessDomains } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/ParentProcessDomains.jsm" -); -const { DomainCache } = ChromeUtils.import( - "chrome://remote/content/cdp/domains/DomainCache.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const { NetworkObserver } = ChromeUtils.import( - "chrome://remote/content/cdp/observers/NetworkObserver.jsm" -); +XPCOMUtils.defineLazyModuleGetters(this, { + DomainCache: "chrome://remote/content/cdp/domains/DomainCache.jsm", + NetworkObserver: "chrome://remote/content/cdp/observers/NetworkObserver.jsm", + ParentProcessDomains: + "chrome://remote/content/cdp/domains/ParentProcessDomains.jsm", +}); /** * A session represents exactly one client WebSocket connection. diff --git a/remote/cdp/targets/MainProcessTarget.jsm b/remote/cdp/targets/MainProcessTarget.jsm index 337e807f8c20a..49abb2ee30904 100644 --- a/remote/cdp/targets/MainProcessTarget.jsm +++ b/remote/cdp/targets/MainProcessTarget.jsm @@ -6,16 +6,17 @@ var EXPORTED_SYMBOLS = ["MainProcessTarget"]; -const { Target } = ChromeUtils.import( - "chrome://remote/content/cdp/targets/Target.jsm" -); -const { MainProcessSession } = ChromeUtils.import( - "chrome://remote/content/cdp/sessions/MainProcessSession.jsm" -); -const { RemoteAgent } = ChromeUtils.import( - "chrome://remote/content/components/RemoteAgent.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + MainProcessSession: + "chrome://remote/content/cdp/sessions/MainProcessSession.jsm", + RemoteAgent: "chrome://remote/content/components/RemoteAgent.jsm", + Target: "chrome://remote/content/cdp/targets/Target.jsm", +}); + /** * The main process Target. * diff --git a/remote/cdp/targets/TabTarget.jsm b/remote/cdp/targets/TabTarget.jsm index bc5ebaff4ba9a..9d61a4010198d 100644 --- a/remote/cdp/targets/TabTarget.jsm +++ b/remote/cdp/targets/TabTarget.jsm @@ -6,19 +6,16 @@ var EXPORTED_SYMBOLS = ["TabTarget"]; -const { Target } = ChromeUtils.import( - "chrome://remote/content/cdp/targets/Target.jsm" -); const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { TabSession } = ChromeUtils.import( - "chrome://remote/content/cdp/sessions/TabSession.jsm" -); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -const { RemoteAgent } = ChromeUtils.import( - "chrome://remote/content/components/RemoteAgent.jsm" -); + +XPCOMUtils.defineLazyModuleGetters(this, { + RemoteAgent: "chrome://remote/content/components/RemoteAgent.jsm", + TabSession: "chrome://remote/content/cdp/sessions/TabSession.jsm", + Target: "chrome://remote/content/cdp/targets/Target.jsm", +}); XPCOMUtils.defineLazyServiceGetter( this, diff --git a/remote/cdp/targets/Target.jsm b/remote/cdp/targets/Target.jsm index 9e29cf3210ae5..fe81b4b3a6579 100644 --- a/remote/cdp/targets/Target.jsm +++ b/remote/cdp/targets/Target.jsm @@ -6,18 +6,21 @@ var EXPORTED_SYMBOLS = ["Target"]; -const { Connection } = ChromeUtils.import( - "chrome://remote/content/cdp/Connection.jsm" -); -const { WebSocketTransport } = ChromeUtils.import( - "chrome://remote/content/server/WebSocketTransport.jsm" -); -const { WebSocketHandshake } = ChromeUtils.import( - "chrome://remote/content/server/WebSocketHandshake.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); -const UUIDGen = Cc["@mozilla.org/uuid-generator;1"].getService( - Ci.nsIUUIDGenerator +XPCOMUtils.defineLazyModuleGetters(this, { + Connection: "chrome://remote/content/cdp/Connection.jsm", + WebSocketHandshake: "chrome://remote/content/server/WebSocketHandshake.jsm", + WebSocketTransport: "chrome://remote/content/server/WebSocketTransport.jsm", +}); + +XPCOMUtils.defineLazyServiceGetter( + this, + "UUIDGen", + "@mozilla.org/uuid-generator;1", + "nsIUUIDGenerator" ); /** diff --git a/remote/cdp/targets/TargetList.jsm b/remote/cdp/targets/TargetList.jsm index d74b4bf3fa06c..d9e4e8644fb70 100644 --- a/remote/cdp/targets/TargetList.jsm +++ b/remote/cdp/targets/TargetList.jsm @@ -6,19 +6,18 @@ var EXPORTED_SYMBOLS = ["TargetList"]; -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" -); -const { TabTarget } = ChromeUtils.import( - "chrome://remote/content/cdp/targets/TabTarget.jsm" -); -const { MainProcessTarget } = ChromeUtils.import( - "chrome://remote/content/cdp/targets/MainProcessTarget.jsm" -); -const { TabObserver } = ChromeUtils.import( - "chrome://remote/content/cdp/observers/TargetObserver.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + EventEmitter: "resource://gre/modules/EventEmitter.jsm", + MainProcessTarget: + "chrome://remote/content/cdp/targets/MainProcessTarget.jsm", + TabObserver: "chrome://remote/content/cdp/observers/TargetObserver.jsm", + TabTarget: "chrome://remote/content/cdp/targets/TabTarget.jsm", +}); + class TargetList { constructor() { // Target ID -> Target diff --git a/remote/components/RemoteAgent.jsm b/remote/components/RemoteAgent.jsm index 19a451fe4cb83..2cf23f8e842fb 100644 --- a/remote/components/RemoteAgent.jsm +++ b/remote/components/RemoteAgent.jsm @@ -20,7 +20,8 @@ XPCOMUtils.defineLazyModuleGetters(this, { "chrome://remote/content/cdp/RecommendedPreferences.jsm", TargetList: "chrome://remote/content/cdp/targets/TargetList.jsm", }); -XPCOMUtils.defineLazyGetter(this, "log", Log.get); + +XPCOMUtils.defineLazyGetter(this, "log", () => Log.get()); const ENABLED = "remote.enabled"; const FORCE_LOCAL = "remote.force-local"; diff --git a/remote/server/WebSocketHandshake.jsm b/remote/server/WebSocketHandshake.jsm index dbcfd0b9bb742..3ebd8982c9794 100644 --- a/remote/server/WebSocketHandshake.jsm +++ b/remote/server/WebSocketHandshake.jsm @@ -10,26 +10,28 @@ var EXPORTED_SYMBOLS = ["WebSocketHandshake"]; const CC = Components.Constructor; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -const { executeSoon } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" -); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + executeSoon: "chrome://remote/content/shared/Sync.jsm", +}); + +XPCOMUtils.defineLazyGetter(this, "CryptoHash", () => { + return CC("@mozilla.org/security/hash;1", "nsICryptoHash", "initWithString"); +}); + +XPCOMUtils.defineLazyGetter(this, "threadManager", () => { + return Cc["@mozilla.org/thread-manager;1"].getService(); +}); XPCOMUtils.defineLazyGetter(this, "WebSocket", () => { return Services.appShell.hiddenDOMWindow.WebSocket; }); -const CryptoHash = CC( - "@mozilla.org/security/hash;1", - "nsICryptoHash", - "initWithString" -); -const threadManager = Cc["@mozilla.org/thread-manager;1"].getService(); - // TODO(ato): Merge this with httpd.js so that we can respond to both HTTP/1.1 // as well as WebSocket requests on the same server. diff --git a/remote/server/WebSocketTransport.jsm b/remote/server/WebSocketTransport.jsm index 611000f07be98..29648e690b1ed 100644 --- a/remote/server/WebSocketTransport.jsm +++ b/remote/server/WebSocketTransport.jsm @@ -8,10 +8,14 @@ var EXPORTED_SYMBOLS = ["WebSocketTransport"]; -const { EventEmitter } = ChromeUtils.import( - "resource://gre/modules/EventEmitter.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + EventEmitter: "resource://gre/modules/EventEmitter.jsm", +}); + function WebSocketTransport(socket) { EventEmitter.decorate(this); diff --git a/remote/shared/Format.jsm b/remote/shared/Format.jsm index 0d6542fd96d79..4ece70dad8d68 100644 --- a/remote/shared/Format.jsm +++ b/remote/shared/Format.jsm @@ -6,14 +6,17 @@ var EXPORTED_SYMBOLS = ["pprint", "truncate"]; -const { Log } = ChromeUtils.import("chrome://remote/content/shared/Log.jsm"); - -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { XPCOMUtils } = ChromeUtils.import( "resource://gre/modules/XPCOMUtils.jsm" ); -XPCOMUtils.defineLazyGetter(this, "log", Log.get); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + Log: "chrome://remote/content/shared/Log.jsm", +}); + +XPCOMUtils.defineLazyGetter(this, "log", () => Log.get()); const ELEMENT_NODE = 1; const MAX_STRING_LENGTH = 250; diff --git a/remote/shared/Sync.jsm b/remote/shared/Sync.jsm index e7f1057914d7c..dc09bbe4c008c 100644 --- a/remote/shared/Sync.jsm +++ b/remote/shared/Sync.jsm @@ -6,7 +6,13 @@ var EXPORTED_SYMBOLS = ["EventPromise", "executeSoon", "PollPromise"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); + +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", +}); const { TYPE_REPEATING_SLACK } = Ci.nsITimer; diff --git a/remote/shared/TabManager.jsm b/remote/shared/TabManager.jsm index 948c7283cb670..06048d86a9232 100644 --- a/remote/shared/TabManager.jsm +++ b/remote/shared/TabManager.jsm @@ -6,7 +6,13 @@ var EXPORTED_SYMBOLS = ["TabManager"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); +var { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); + +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", +}); var TabManager = { get gBrowser() { diff --git a/remote/shared/WindowManager.jsm b/remote/shared/WindowManager.jsm index f9c45b457fcd1..13f74b1443f6c 100644 --- a/remote/shared/WindowManager.jsm +++ b/remote/shared/WindowManager.jsm @@ -6,11 +6,16 @@ var EXPORTED_SYMBOLS = ["WindowManager"]; -const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -const { EventPromise } = ChromeUtils.import( - "chrome://remote/content/shared/Sync.jsm" +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" ); +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", + + EventPromise: "chrome://remote/content/shared/Sync.jsm", +}); + var WindowManager = { async focus(window) { if (window != Services.focus.activeWindow) {