michael@0: /* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set ft=javascript ts=2 et sw=2 tw=80: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: "use strict"; michael@0: /** michael@0: * Loads the remote debugging protocol code into a sandbox, in order to michael@0: * shield it from the debuggee. This way, when debugging chrome globals, michael@0: * debugger and debuggee will be in separate compartments. michael@0: */ michael@0: michael@0: const Ci = Components.interfaces; michael@0: const Cc = Components.classes; michael@0: const Cu = Components.utils; michael@0: michael@0: const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); michael@0: michael@0: this.EXPORTED_SYMBOLS = ["DebuggerServer", "ActorPool"]; michael@0: michael@0: let server = devtools.require("devtools/server/main"); michael@0: michael@0: this.DebuggerServer = server.DebuggerServer; michael@0: this.ActorPool = server.ActorPool;