|
@@ -0,0 +1,1777 @@
|
|
|
+# HG changeset patch
|
|
|
+# User Julian Descottes <jdescottes@mozilla.com>
|
|
|
+# Date 1510604535 -3600
|
|
|
+# Node ID a2b9ac473749361d0c73fc53aa7fdc6b3c99b8e9
|
|
|
+# Parent 036dc3ecf529d5200a5873edcbb1df9d4f156d8d
|
|
|
+Bug 1416711 - Add registerAllActors API;r=ochameau
|
|
|
+
|
|
|
+Most of the codebase that needs to create a debugger server
|
|
|
+can use a server with all actors registered.
|
|
|
+
|
|
|
+Define an additional method registerAllActors to do that.
|
|
|
+
|
|
|
+By previous implementations, all the call sites that were
|
|
|
+using browser: true were indirectly using tab & root: true
|
|
|
+as well. So all the call sites using browser: true have been
|
|
|
+migrated to registerAllActors and the specific behavior of
|
|
|
+the browser: true case has been removed. Passing browser:true
|
|
|
+to registerActors now only registers browser specific actors.
|
|
|
+
|
|
|
+MozReview-Commit-ID: F3sx71eGrdG
|
|
|
+
|
|
|
+diff --git a/devtools/client/aboutdebugging/initializer.js b/devtools/client/aboutdebugging/initializer.js
|
|
|
+--- a/devtools/client/aboutdebugging/initializer.js
|
|
|
++++ b/devtools/client/aboutdebugging/initializer.js
|
|
|
+@@ -38,17 +38,17 @@ var AboutDebugging = {
|
|
|
+ window.location = "about:devtools?reason=AboutDebugging";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+ // We want a full featured server for about:debugging. Especially the
|
|
|
+ // "browser actors" like addons.
|
|
|
+- DebuggerServer.registerActors({ root: true, browser: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ this.client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+
|
|
|
+ this.client.connect().then(() => {
|
|
|
+ let client = this.client;
|
|
|
+ let telemetry = new Telemetry();
|
|
|
+
|
|
|
+ render(AboutDebuggingApp({ client, telemetry }),
|
|
|
+diff --git a/devtools/client/canvasdebugger/test/head.js b/devtools/client/canvasdebugger/test/head.js
|
|
|
+--- a/devtools/client/canvasdebugger/test/head.js
|
|
|
++++ b/devtools/client/canvasdebugger/test/head.js
|
|
|
+@@ -185,17 +185,17 @@ function navigate(aTarget, aUrl, aWaitFo
|
|
|
+
|
|
|
+ function reload(aTarget, aWaitForTargetEvent = "navigate") {
|
|
|
+ executeSoon(() => aTarget.activeTab.reload());
|
|
|
+ return once(aTarget, aWaitForTargetEvent);
|
|
|
+ }
|
|
|
+
|
|
|
+ function initServer() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ }
|
|
|
+
|
|
|
+ function initCallWatcherBackend(aUrl) {
|
|
|
+ info("Initializing a call watcher front.");
|
|
|
+ initServer();
|
|
|
+
|
|
|
+ return Task.spawn(function* () {
|
|
|
+ let tab = yield addTab(aUrl);
|
|
|
+diff --git a/devtools/client/debugger/new/test/mochitest/browser_dbg-chrome-debugging.js b/devtools/client/debugger/new/test/mochitest/browser_dbg-chrome-debugging.js
|
|
|
+--- a/devtools/client/debugger/new/test/mochitest/browser_dbg-chrome-debugging.js
|
|
|
++++ b/devtools/client/debugger/new/test/mochitest/browser_dbg-chrome-debugging.js
|
|
|
+@@ -14,17 +14,17 @@ var gNewChromeSource = promise.defer();
|
|
|
+ var { DevToolsLoader } = ChromeUtils.import("resource://devtools/shared/Loader.jsm", {});
|
|
|
+ var customLoader = new DevToolsLoader();
|
|
|
+ customLoader.invisibleToDebugger = true;
|
|
|
+ var { DebuggerServer } = customLoader.require("devtools/server/main");
|
|
|
+ var { DebuggerClient } = require("devtools/shared/client/debugger-client");
|
|
|
+
|
|
|
+ function initDebuggerClient() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ return new DebuggerClient(transport);
|
|
|
+ }
|
|
|
+
|
|
|
+ function attachThread(client, actor) {
|
|
|
+ return new Promise(resolve => {
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
|
|
|
+@@ -6,17 +6,17 @@ var WORKER1_URL = "code_WorkerActor.atta
|
|
|
+ var WORKER2_URL = "code_WorkerActor.attach-worker2.js";
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ let oldMaxTotalViewers = SpecialPowers.getIntPref(MAX_TOTAL_VIEWERS);
|
|
|
+ SpecialPowers.setIntPref(MAX_TOTAL_VIEWERS, 10);
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client);
|
|
|
+
|
|
|
+ let tab = yield addTab(TAB1_URL);
|
|
|
+ let { tabs } = yield listTabs(client);
|
|
|
+ let [, tabClient] = yield attachTab(client, findTab(tabs, TAB1_URL));
|
|
|
+ yield listWorkers(tabClient);
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
|
|
|
+@@ -1,15 +1,15 @@
|
|
|
+ var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
|
|
|
+ var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client1 = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client1);
|
|
|
+ let client2 = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client2);
|
|
|
+
|
|
|
+ let tab = yield addTab(TAB_URL);
|
|
|
+ let { tabs: tabs1 } = yield listTabs(client1);
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
|
|
|
+@@ -8,17 +8,17 @@
|
|
|
+ */
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_event-listeners-01.html";
|
|
|
+
|
|
|
+ var gClient, gThreadClient, gInput, gButton;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+ */
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_event-listeners-03.html";
|
|
|
+
|
|
|
+ var gClient, gThreadClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js b/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
|
|
|
+@@ -16,17 +16,17 @@ var gNewChromeSource = promise.defer();
|
|
|
+
|
|
|
+ var { DevToolsLoader } = ChromeUtils.import("resource://devtools/shared/Loader.jsm", {});
|
|
|
+ var customLoader = new DevToolsLoader();
|
|
|
+ customLoader.invisibleToDebugger = true;
|
|
|
+ var { DebuggerServer } = customLoader.require("devtools/server/main");
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js b/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_inline-debugger-statement.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+ var gTab;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_event-listeners-01.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+ var gTab;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
|
|
|
+@@ -10,17 +10,17 @@
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_event-listeners-03.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+ var gTab;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
|
|
|
+@@ -10,17 +10,17 @@
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_native-event-handler.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+ var gTab;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js b/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
|
|
|
+@@ -8,17 +8,17 @@
|
|
|
+ */
|
|
|
+
|
|
|
+ const ACTORS_URL = CHROME_URL + "testactors.js";
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ let gClient;
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ DebuggerServer.addActors(ACTORS_URL);
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js b/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
|
|
|
+@@ -10,17 +10,17 @@ const ADDON1_ID = "jid1-oBAwBoE5rSecNg@j
|
|
|
+ const ADDON1_PATH = "addon1.xpi";
|
|
|
+ const ADDON2_ID = "jid1-qjtzNGV8xw5h2A@jetpack";
|
|
|
+ const ADDON2_PATH = "addon2.xpi";
|
|
|
+
|
|
|
+ var gAddon1, gAddon1Actor, gAddon2, gAddon2Actor, gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ promise.resolve(null)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const TAB1_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
|
|
|
+ const TAB2_URL = EXAMPLE_URL + "doc_empty-tab-02.html";
|
|
|
+
|
|
|
+ var gTab1, gTab1Actor, gTab2, gTab2Actor, gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ promise.resolve(null)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
|
|
|
+@@ -21,17 +21,17 @@ var gNewWindow;
|
|
|
+ // Stock onListChanged handler.
|
|
|
+ var onListChangedCount = 0;
|
|
|
+ function onListChangedHandler() {
|
|
|
+ onListChangedCount++;
|
|
|
+ }
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ gTabList = new BrowserTabList("fake DebuggerServerConnection");
|
|
|
+ gTabList._testing = true;
|
|
|
+ gTabList.onListChanged = onListChangedHandler;
|
|
|
+
|
|
|
+ checkSingleTab()
|
|
|
+ .then(addTabA)
|
|
|
+ .then(testTabA)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
|
|
|
+@@ -8,17 +8,17 @@
|
|
|
+ */
|
|
|
+
|
|
|
+ const TAB1_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
|
|
|
+
|
|
|
+ var gTab1, gTab1Actor, gTab2, gTab2Actor, gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(Task.async(function* ([aType, aTraits]) {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+ let tab = yield addTab(TAB1_URL);
|
|
|
+
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_listworkers.js b/devtools/client/debugger/test/mochitest/browser_dbg_listworkers.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_listworkers.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_listworkers.js
|
|
|
+@@ -1,16 +1,16 @@
|
|
|
+ var TAB_URL = EXAMPLE_URL + "doc_listworkers-tab.html";
|
|
|
+ var WORKER1_URL = "code_listworkers-worker1.js";
|
|
|
+ var WORKER2_URL = "code_listworkers-worker2.js";
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client);
|
|
|
+
|
|
|
+ let tab = yield addTab(TAB_URL);
|
|
|
+ let { tabs } = yield listTabs(client);
|
|
|
+ let [, tabClient] = yield attachTab(client, findTab(tabs, TAB_URL));
|
|
|
+
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js b/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
|
|
|
+@@ -11,17 +11,17 @@
|
|
|
+ const TAB1_URL = EXAMPLE_URL + "doc_script-switching-01.html";
|
|
|
+ const TAB2_URL = EXAMPLE_URL + "doc_script-switching-02.html";
|
|
|
+
|
|
|
+ var gNewTab, gNewWindow;
|
|
|
+ var gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ promise.resolve(null)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js b/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const TAB1_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
|
|
|
+ const TAB2_URL = EXAMPLE_URL + "doc_empty-tab-02.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+
|
|
|
+ addTab(TAB1_URL)
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_promises-allocation-stack.js b/devtools/client/debugger/test/mochitest/browser_dbg_promises-allocation-stack.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_promises-allocation-stack.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_promises-allocation-stack.js
|
|
|
+@@ -11,17 +11,17 @@
|
|
|
+
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_promise-get-allocation-stack.html";
|
|
|
+ const { PromisesFront } = require("devtools/shared/fronts/promises");
|
|
|
+ var EventEmitter = require("devtools/shared/event-emitter");
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let options = {
|
|
|
+ source: TAB_URL,
|
|
|
+ line: 1
|
|
|
+ };
|
|
|
+ const [ tab,, panel ] = yield initDebugger(TAB_URL, options);
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_promises-chrome-allocation-stack.js b/devtools/client/debugger/test/mochitest/browser_dbg_promises-chrome-allocation-stack.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_promises-chrome-allocation-stack.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_promises-chrome-allocation-stack.js
|
|
|
+@@ -19,17 +19,17 @@ const STACK_DATA = [
|
|
|
+ { functionDisplayName: "testGetAllocationStack" },
|
|
|
+ ];
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ requestLongerTimeout(10);
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client);
|
|
|
+ let chrome = yield client.getProcess();
|
|
|
+ let [, tabClient] = yield attachTab(client, chrome.form);
|
|
|
+ yield tabClient.attachThread();
|
|
|
+
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_promises-fulfillment-stack.js b/devtools/client/debugger/test/mochitest/browser_dbg_promises-fulfillment-stack.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_promises-fulfillment-stack.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_promises-fulfillment-stack.js
|
|
|
+@@ -29,17 +29,17 @@ const TEST_DATA = [
|
|
|
+ line: 14,
|
|
|
+ column: 15
|
|
|
+ },
|
|
|
+ ];
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let options = {
|
|
|
+ source: TAB_URL,
|
|
|
+ line: 1
|
|
|
+ };
|
|
|
+ const [ tab,, panel ] = yield initDebugger(TAB_URL, options);
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_promises-rejection-stack.js b/devtools/client/debugger/test/mochitest/browser_dbg_promises-rejection-stack.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_promises-rejection-stack.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_promises-rejection-stack.js
|
|
|
+@@ -36,17 +36,17 @@ const TEST_DATA = [
|
|
|
+ line: 14,
|
|
|
+ column: 15
|
|
|
+ },
|
|
|
+ ];
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ Task.spawn(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let options = {
|
|
|
+ source: TAB_URL,
|
|
|
+ line: 1
|
|
|
+ };
|
|
|
+ const [ tab,, panel ] = yield initDebugger(TAB_URL, options);
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const ACTORS_URL = CHROME_URL + "testactors.js";
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ DebuggerServer.addActors(ACTORS_URL);
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
|
|
|
+@@ -9,17 +9,17 @@
|
|
|
+
|
|
|
+ const ACTORS_URL = CHROME_URL + "testactors.js";
|
|
|
+ const TAB_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
|
|
|
+
|
|
|
+ var gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ DebuggerServer.addActors(ACTORS_URL);
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ gClient = new DebuggerClient(transport);
|
|
|
+ gClient.connect().then(([aType, aTraits]) => {
|
|
|
+ is(aType, "browser",
|
|
|
+ "Root actor should identify itself as a browser.");
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js b/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
|
|
|
+@@ -10,17 +10,17 @@ PromiseTestUtils.expectUncaughtRejection
|
|
|
+
|
|
|
+ var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
|
|
|
+ var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
|
|
|
+
|
|
|
+ add_task(function* () {
|
|
|
+ yield pushPrefs(["devtools.scratchpad.enabled", true]);
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client);
|
|
|
+
|
|
|
+ let tab = yield addTab(TAB_URL);
|
|
|
+ let { tabs } = yield listTabs(client);
|
|
|
+ let [, tabClient] = yield attachTab(client, findTab(tabs, TAB_URL));
|
|
|
+
|
|
|
+diff --git a/devtools/client/debugger/test/mochitest/head.js b/devtools/client/debugger/test/mochitest/head.js
|
|
|
+--- a/devtools/client/debugger/test/mochitest/head.js
|
|
|
++++ b/devtools/client/debugger/test/mochitest/head.js
|
|
|
+@@ -623,17 +623,17 @@ function AddonDebugger() {
|
|
|
+ EventEmitter.decorate(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ AddonDebugger.prototype = {
|
|
|
+ init: Task.async(function* (aAddonId) {
|
|
|
+ info("Initializing an addon debugger panel.");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ this.frame = document.createElement("iframe");
|
|
|
+ this.frame.setAttribute("height", 400);
|
|
|
+ document.documentElement.appendChild(this.frame);
|
|
|
+ window.addEventListener("message", this._onMessage);
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+@@ -1318,17 +1318,17 @@ function waitForDispatch(panel, type, ev
|
|
|
+ count++;
|
|
|
+ info(type + " dispatched " + count + " time(s)");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function* initWorkerDebugger(TAB_URL, WORKER_URL) {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield connect(client);
|
|
|
+
|
|
|
+ let tab = yield addTab(TAB_URL);
|
|
|
+ let { tabs } = yield listTabs(client);
|
|
|
+ let [, tabClient] = yield attachTab(client, findTab(tabs, TAB_URL));
|
|
|
+
|
|
|
+diff --git a/devtools/client/framework/ToolboxProcess.jsm b/devtools/client/framework/ToolboxProcess.jsm
|
|
|
+--- a/devtools/client/framework/ToolboxProcess.jsm
|
|
|
++++ b/devtools/client/framework/ToolboxProcess.jsm
|
|
|
+@@ -135,17 +135,17 @@ BrowserToolboxProcess.prototype = {
|
|
|
+
|
|
|
+ // Forward interesting events.
|
|
|
+ this.debuggerServer.on("connectionchange", this._onConnectionChange);
|
|
|
+
|
|
|
+ this.debuggerServer.init();
|
|
|
+ // We mainly need a root actor and tab actors for opening a toolbox, even
|
|
|
+ // against chrome/content/addon. But the "no auto hide" button uses the
|
|
|
+ // preference actor, so also register the browser actors.
|
|
|
+- this.debuggerServer.registerActors({ root: true, browser: true, tab: true });
|
|
|
++ this.debuggerServer.registerAllActors();
|
|
|
+ this.debuggerServer.allowChromeProcess = true;
|
|
|
+ dumpn("initialized and added the browser actors for the DebuggerServer.");
|
|
|
+
|
|
|
+ let chromeDebuggingWebSocket =
|
|
|
+ Services.prefs.getBoolPref("devtools.debugger.chrome-debugging-websocket");
|
|
|
+ let listener = this.debuggerServer.createListener();
|
|
|
+ listener.portOrPath = -1;
|
|
|
+ listener.webSocket = chromeDebuggingWebSocket;
|
|
|
+diff --git a/devtools/client/framework/devtools-browser.js b/devtools/client/framework/devtools-browser.js
|
|
|
+--- a/devtools/client/framework/devtools-browser.js
|
|
|
++++ b/devtools/client/framework/devtools-browser.js
|
|
|
+@@ -290,17 +290,17 @@ var gDevToolsBrowser = exports.gDevTools
|
|
|
+ // Used by browser-sets.inc, command
|
|
|
+ openConnectScreen(gBrowser) {
|
|
|
+ gBrowser.selectedTab = gBrowser.addTab("chrome://devtools/content/framework/connect/connect.xhtml");
|
|
|
+ },
|
|
|
+
|
|
|
+ _getContentProcessTarget(processId) {
|
|
|
+ // Create a DebuggerServer in order to connect locally to it
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ let client = new DebuggerClient(transport);
|
|
|
+
|
|
|
+ let deferred = defer();
|
|
|
+ client.connect().then(() => {
|
|
|
+ client.getProcess(processId)
|
|
|
+diff --git a/devtools/client/framework/target-from-url.js b/devtools/client/framework/target-from-url.js
|
|
|
+--- a/devtools/client/framework/target-from-url.js
|
|
|
++++ b/devtools/client/framework/target-from-url.js
|
|
|
+@@ -128,13 +128,13 @@ function* createClient(params) {
|
|
|
+ let webSocket = !!params.get("ws");
|
|
|
+
|
|
|
+ let transport;
|
|
|
+ if (port) {
|
|
|
+ transport = yield DebuggerClient.socketConnect({ host, port, webSocket });
|
|
|
+ } else {
|
|
|
+ // Setup a server if we don't have one already running
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ transport = DebuggerServer.connectPipe();
|
|
|
+ }
|
|
|
+ return new DebuggerClient(transport);
|
|
|
+ }
|
|
|
+diff --git a/devtools/client/framework/target.js b/devtools/client/framework/target.js
|
|
|
+--- a/devtools/client/framework/target.js
|
|
|
++++ b/devtools/client/framework/target.js
|
|
|
+@@ -406,17 +406,18 @@ TabTarget.prototype = {
|
|
|
+ // DebuggerServer here, once and for all tools.
|
|
|
+ DebuggerServer.init();
|
|
|
+
|
|
|
+ // When connecting to a local tab, we only need the root actor.
|
|
|
+ // Then we are going to call DebuggerServer.connectToChild and talk
|
|
|
+ // directly with actors living in the child process.
|
|
|
+ // We also need browser actors for actor registry which enabled addons
|
|
|
+ // to register custom actors.
|
|
|
+- DebuggerServer.registerActors({ root: true, browser: true, tab: false });
|
|
|
++ // TODO: the comment and implementation are out of sync here. See Bug 1420134.
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ this._client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ // A local TabTarget will never perform chrome debugging.
|
|
|
+ this._chrome = false;
|
|
|
+ } else if (this._form.isWebExtension &&
|
|
|
+ this.client.mainRoot.traits.webExtensionAddonConnect) {
|
|
|
+ // The addonActor form is related to a WebExtensionParentActor instance,
|
|
|
+ // which isn't a tab actor on its own, it is an actor living in the parent process
|
|
|
+diff --git a/devtools/client/framework/test/browser_target_from_url.js b/devtools/client/framework/test/browser_target_from_url.js
|
|
|
+--- a/devtools/client/framework/test/browser_target_from_url.js
|
|
|
++++ b/devtools/client/framework/test/browser_target_from_url.js
|
|
|
+@@ -76,17 +76,17 @@ add_task(function* () {
|
|
|
+ });
|
|
|
+
|
|
|
+ function* setupDebuggerServer(websocket) {
|
|
|
+ info("Create a separate loader instance for the DebuggerServer.");
|
|
|
+ let loader = new DevToolsLoader();
|
|
|
+ let { DebuggerServer } = loader.require("devtools/server/main");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let listener = DebuggerServer.createListener();
|
|
|
+ ok(listener, "Socket listener created");
|
|
|
+ // Pass -1 to automatically choose an available port
|
|
|
+ listener.portOrPath = -1;
|
|
|
+ listener.webSocket = websocket;
|
|
|
+ yield listener.open();
|
|
|
+diff --git a/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js b/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
|
|
|
+--- a/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
|
|
|
++++ b/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
|
|
|
+@@ -59,17 +59,17 @@ function runTools(target) {
|
|
|
+ yield toolbox.destroy();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function getClient() {
|
|
|
+ let deferred = defer();
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ let client = new DebuggerClient(transport);
|
|
|
+
|
|
|
+ return client.connect().then(() => client);
|
|
|
+ }
|
|
|
+
|
|
|
+ function getTarget(client) {
|
|
|
+diff --git a/devtools/client/framework/test/browser_two_tabs.js b/devtools/client/framework/test/browser_two_tabs.js
|
|
|
+--- a/devtools/client/framework/test/browser_two_tabs.js
|
|
|
++++ b/devtools/client/framework/test/browser_two_tabs.js
|
|
|
+@@ -16,17 +16,17 @@ const TAB_URL_2 = "data:text/html;charse
|
|
|
+ var gClient;
|
|
|
+ var gTab1, gTab2;
|
|
|
+ var gTabActor1, gTabActor2;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ waitForExplicitFinish();
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ openTabs();
|
|
|
+ }
|
|
|
+
|
|
|
+ function openTabs() {
|
|
|
+ // Open two tabs, select the second
|
|
|
+ addTab(TAB_URL_1).then(tab1 => {
|
|
|
+ gTab1 = tab1;
|
|
|
+diff --git a/devtools/client/framework/test/head.js b/devtools/client/framework/test/head.js
|
|
|
+--- a/devtools/client/framework/test/head.js
|
|
|
++++ b/devtools/client/framework/test/head.js
|
|
|
+@@ -24,17 +24,17 @@ function toggleAllTools(state) {
|
|
|
+ }
|
|
|
+
|
|
|
+ function getChromeActors(callback)
|
|
|
+ {
|
|
|
+ let { DebuggerServer } = require("devtools/server/main");
|
|
|
+ let { DebuggerClient } = require("devtools/shared/client/debugger-client");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect()
|
|
|
+ .then(() => client.getProcess())
|
|
|
+ .then(response => {
|
|
|
+ callback(client, response.form);
|
|
|
+ });
|
|
|
+diff --git a/devtools/client/framework/toolbox-init.js b/devtools/client/framework/toolbox-init.js
|
|
|
+--- a/devtools/client/framework/toolbox-init.js
|
|
|
++++ b/devtools/client/framework/toolbox-init.js
|
|
|
+@@ -64,17 +64,17 @@ if (url.search.length > 1) {
|
|
|
+ // devtools codebase
|
|
|
+ iframe = XPCNativeWrapper(iframe);
|
|
|
+
|
|
|
+ // Fake a xul:tab object as we don't have one.
|
|
|
+ // linkedBrowser is the only one attribute being queried by client.getTab
|
|
|
+ let tab = { linkedBrowser: iframe };
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+
|
|
|
+ yield client.connect();
|
|
|
+ // Creates a target for a given browser iframe.
|
|
|
+ let response = yield client.getTab({ tab });
|
|
|
+ let form = response.tab;
|
|
|
+ target = yield TargetFactory.forRemoteTab({client, form, chrome: false});
|
|
|
+ } else {
|
|
|
+diff --git a/devtools/client/responsive.html/manager.js b/devtools/client/responsive.html/manager.js
|
|
|
+--- a/devtools/client/responsive.html/manager.js
|
|
|
++++ b/devtools/client/responsive.html/manager.js
|
|
|
+@@ -416,17 +416,17 @@ ResponsiveUI.prototype = {
|
|
|
+
|
|
|
+ this.destroyed = true;
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }),
|
|
|
+
|
|
|
+ connectToServer: Task.async(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ this.client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ yield this.client.connect();
|
|
|
+ let { tab } = yield this.client.getTab();
|
|
|
+ this.emulationFront = EmulationFront(this.client, tab);
|
|
|
+ }),
|
|
|
+
|
|
|
+ handleEvent(event) {
|
|
|
+ let { browserWindow, tab } = this;
|
|
|
+diff --git a/devtools/client/scratchpad/scratchpad.js b/devtools/client/scratchpad/scratchpad.js
|
|
|
+--- a/devtools/client/scratchpad/scratchpad.js
|
|
|
++++ b/devtools/client/scratchpad/scratchpad.js
|
|
|
+@@ -2178,17 +2178,17 @@ ScratchpadWindow.prototype = Heritage.ex
|
|
|
+ * Attach to this window.
|
|
|
+ *
|
|
|
+ * @return Promise
|
|
|
+ * The promise for the target for this window.
|
|
|
+ */
|
|
|
+ _attach: function SW__attach()
|
|
|
+ {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ return client.connect()
|
|
|
+ .then(() => client.getProcess())
|
|
|
+ .then(aResponse => {
|
|
|
+ return { form: aResponse.form, client: client };
|
|
|
+ });
|
|
|
+diff --git a/devtools/client/shadereditor/test/head.js b/devtools/client/shadereditor/test/head.js
|
|
|
+--- a/devtools/client/shadereditor/test/head.js
|
|
|
++++ b/devtools/client/shadereditor/test/head.js
|
|
|
+@@ -220,17 +220,17 @@ function reload(aTarget, aWaitForTargetE
|
|
|
+ executeSoon(() => aTarget.activeTab.reload());
|
|
|
+ return once(aTarget, aWaitForTargetEvent);
|
|
|
+ }
|
|
|
+
|
|
|
+ function initBackend(aUrl) {
|
|
|
+ info("Initializing a shader editor front.");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ return Task.spawn(function* () {
|
|
|
+ let tab = yield addTab(aUrl);
|
|
|
+ let target = TargetFactory.forTab(tab);
|
|
|
+
|
|
|
+ yield target.makeRemote();
|
|
|
+
|
|
|
+ let front = new WebGLFront(target.client, target.form);
|
|
|
+diff --git a/devtools/client/shared/test/test-actor-registry.js b/devtools/client/shared/test/test-actor-registry.js
|
|
|
+--- a/devtools/client/shared/test/test-actor-registry.js
|
|
|
++++ b/devtools/client/shared/test/test-actor-registry.js
|
|
|
+@@ -61,17 +61,17 @@
|
|
|
+ // create a front for the given `tab`
|
|
|
+ exports.getTestActorWithoutToolbox = Task.async(function* (tab) {
|
|
|
+ let { DebuggerServer } = require("devtools/server/main");
|
|
|
+ let { DebuggerClient } = require("devtools/shared/client/debugger-client");
|
|
|
+
|
|
|
+ // We need to spawn a client instance,
|
|
|
+ // but for that we have to first ensure a server is running
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+
|
|
|
+ yield client.connect();
|
|
|
+
|
|
|
+ // We also need to make sure the test actor is registered on the server.
|
|
|
+ yield exports.registerTestActor(client);
|
|
|
+
|
|
|
+ return getTestActor(client, tab);
|
|
|
+diff --git a/devtools/client/webaudioeditor/test/head.js b/devtools/client/webaudioeditor/test/head.js
|
|
|
+--- a/devtools/client/webaudioeditor/test/head.js
|
|
|
++++ b/devtools/client/webaudioeditor/test/head.js
|
|
|
+@@ -155,17 +155,17 @@ function loadFrameScripts() {
|
|
|
+ /**
|
|
|
+ * Adds a new tab, and instantiate a WebAudiFront object.
|
|
|
+ * This requires calling removeTab before the test ends.
|
|
|
+ */
|
|
|
+ function initBackend(aUrl) {
|
|
|
+ info("Initializing a web audio editor front.");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ return Task.spawn(function* () {
|
|
|
+ let tab = yield addTab(aUrl);
|
|
|
+ let target = TargetFactory.forTab(tab);
|
|
|
+
|
|
|
+ yield target.makeRemote();
|
|
|
+
|
|
|
+ let front = new WebAudioFront(target.client, target.form);
|
|
|
+diff --git a/devtools/client/webconsole/hudservice.js b/devtools/client/webconsole/hudservice.js
|
|
|
+--- a/devtools/client/webconsole/hudservice.js
|
|
|
++++ b/devtools/client/webconsole/hudservice.js
|
|
|
+@@ -187,17 +187,17 @@ HUD_SERVICE.prototype =
|
|
|
+ function connect()
|
|
|
+ {
|
|
|
+ let deferred = defer();
|
|
|
+
|
|
|
+ // Ensure that the root actor and the tab actors have been registered on the DebuggerServer,
|
|
|
+ // so that the Browser Console can retrieve the console actors.
|
|
|
+ // (See Bug 1416105 for rationale).
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ root: true, browser: false, tab: true });
|
|
|
++ DebuggerServer.registerActors({ root: true, tab: true });
|
|
|
+
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ return client.connect()
|
|
|
+ .then(() => client.getProcess())
|
|
|
+ .then(aResponse => {
|
|
|
+ // Use a TabActor in order to ensure calling `attach` to the ChromeActor
|
|
|
+diff --git a/devtools/docs/backend/client-api.md b/devtools/docs/backend/client-api.md
|
|
|
+--- a/devtools/docs/backend/client-api.md
|
|
|
++++ b/devtools/docs/backend/client-api.md
|
|
|
+@@ -8,17 +8,17 @@ In order to communicate, a client and a
|
|
|
+
|
|
|
+ ```javascript
|
|
|
+ Components.utils.import("resource://gre/modules/devtools/dbg-server.jsm");
|
|
|
+ Components.utils.import("resource://gre/modules/devtools/dbg-client.jsm");
|
|
|
+
|
|
|
+ function start() {
|
|
|
+ // Start the server.
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ // Listen to an nsIPipe
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+
|
|
|
+ // Start the client.
|
|
|
+ client = new DebuggerClient(transport);
|
|
|
+
|
|
|
+ // Attach listeners for client events.
|
|
|
+@@ -35,17 +35,17 @@ If a TCP socket is required, the functio
|
|
|
+
|
|
|
+ ```javascript
|
|
|
+ Components.utils.import("resource://gre/modules/devtools/dbg-server.jsm");
|
|
|
+ Components.utils.import("resource://gre/modules/devtools/dbg-client.jsm");
|
|
|
+
|
|
|
+ function startServer() {
|
|
|
+ // Start the server.
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ // For an nsIServerSocket we do this:
|
|
|
+ DebuggerServer.openListener(2929); // A connection on port 2929.
|
|
|
+ }
|
|
|
+
|
|
|
+ async function startClient() {
|
|
|
+ let transport = await DebuggerClient.socketConnect({ host: "localhost", port: 2929 });
|
|
|
+
|
|
|
+@@ -158,17 +158,17 @@ Components.utils.import("resource://gre/
|
|
|
+ Components.utils.import("resource://gre/modules/devtools/dbg-client.jsm");
|
|
|
+
|
|
|
+ let client;
|
|
|
+ let threadClient;
|
|
|
+
|
|
|
+ function startDebugger() {
|
|
|
+ // Start the server.
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ // Listen to an nsIPipe
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ // For an nsIServerSocket we do this:
|
|
|
+ // DebuggerServer.openListener(port);
|
|
|
+ // ...and this at the client:
|
|
|
+ // let transport = debuggerSocketConnect(host, port);
|
|
|
+
|
|
|
+ // Start the client.
|
|
|
+diff --git a/devtools/server/child.js b/devtools/server/child.js
|
|
|
+--- a/devtools/server/child.js
|
|
|
++++ b/devtools/server/child.js
|
|
|
+@@ -16,17 +16,17 @@ try {
|
|
|
+ const DevToolsUtils = require("devtools/shared/DevToolsUtils");
|
|
|
+ const { dumpn } = DevToolsUtils;
|
|
|
+ const { DebuggerServer, ActorPool } = require("devtools/server/main");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+ // We want a special server without any root actor and only tab actors.
|
|
|
+ // We are going to spawn a ContentActor instance in the next few lines,
|
|
|
+ // it is going to act like a root actor without being one.
|
|
|
+- DebuggerServer.registerActors({ root: false, browser: false, tab: true });
|
|
|
++ DebuggerServer.registerActors({ tab: true });
|
|
|
+
|
|
|
+ let connections = new Map();
|
|
|
+
|
|
|
+ let onConnect = DevToolsUtils.makeInfallible(function (msg) {
|
|
|
+ removeMessageListener("debug:connect", onConnect);
|
|
|
+
|
|
|
+ let mm = msg.target;
|
|
|
+ let prefix = msg.data.prefix;
|
|
|
+diff --git a/devtools/server/content-server.jsm b/devtools/server/content-server.jsm
|
|
|
+--- a/devtools/server/content-server.jsm
|
|
|
++++ b/devtools/server/content-server.jsm
|
|
|
+@@ -26,17 +26,17 @@ function setupServer(mm) {
|
|
|
+ gLoader = new DevToolsLoader();
|
|
|
+ gLoader.invisibleToDebugger = true;
|
|
|
+ let { DebuggerServer } = gLoader.require("devtools/server/main");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+ // For browser content toolbox, we do need a regular root actor and all tab
|
|
|
+ // actors, but don't need all the "browser actors" that are only useful when
|
|
|
+ // debugging the parent process via the browser toolbox.
|
|
|
+- DebuggerServer.registerActors({ browser: false, root: true, tab: true });
|
|
|
++ DebuggerServer.registerActors({ root: true, tab: true });
|
|
|
+
|
|
|
+ // Clean up things when the client disconnects
|
|
|
+ mm.addMessageListener("debug:content-process-destroy", function onDestroy() {
|
|
|
+ mm.removeMessageListener("debug:content-process-destroy", onDestroy);
|
|
|
+
|
|
|
+ DebuggerServer.destroy();
|
|
|
+ gLoader.destroy();
|
|
|
+ gLoader = null;
|
|
|
+diff --git a/devtools/server/main.js b/devtools/server/main.js
|
|
|
+--- a/devtools/server/main.js
|
|
|
++++ b/devtools/server/main.js
|
|
|
+@@ -230,17 +230,17 @@ var DebuggerServer = {
|
|
|
+
|
|
|
+ if (!this.rootlessServer && !this.createRootActor) {
|
|
|
+ throw new Error("Use DebuggerServer.addActors() to add a root actor " +
|
|
|
+ "implementation.");
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+- * Register all type of actors. Only register the one that are not already
|
|
|
++ * Register different type of actors. Only register the one that are not already
|
|
|
+ * registered.
|
|
|
+ *
|
|
|
+ * @param root boolean
|
|
|
+ * Registers the root actor from webbrowser module, which is used to
|
|
|
+ * connect to and fetch any other actor.
|
|
|
+ * @param browser boolean
|
|
|
+ * Registers all the parent process actors useful for debugging the
|
|
|
+ * runtime itself, like preferences and addons actors.
|
|
|
+@@ -248,26 +248,33 @@ var DebuggerServer = {
|
|
|
+ * Registers all the tab actors like console, script, ... all useful
|
|
|
+ * for debugging a target context.
|
|
|
+ */
|
|
|
+ registerActors({ root, browser, tab }) {
|
|
|
+ if (browser) {
|
|
|
+ this._addBrowserActors();
|
|
|
+ }
|
|
|
+
|
|
|
+- if (browser || root) {
|
|
|
++ if (root) {
|
|
|
+ this.registerModule("devtools/server/actors/webbrowser");
|
|
|
+ }
|
|
|
+
|
|
|
+- if (browser || tab) {
|
|
|
++ if (tab) {
|
|
|
+ this._addTabActors();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
++ * Register all possible actors for this DebuggerServer.
|
|
|
++ */
|
|
|
++ registerAllActors() {
|
|
|
++ this.registerActors({ root: true, browser: true, tab: true });
|
|
|
++ },
|
|
|
++
|
|
|
++ /**
|
|
|
+ * Load a subscript into the debugging global.
|
|
|
+ *
|
|
|
+ * @param url string A url that will be loaded as a subscript into the
|
|
|
+ * debugging global. The user must load at least one script
|
|
|
+ * that implements a createRootActor() function to create the
|
|
|
+ * server's root actor.
|
|
|
+ */
|
|
|
+ addActors(url) {
|
|
|
+diff --git a/devtools/server/tests/browser/browser_register_actor.js b/devtools/server/tests/browser/browser_register_actor.js
|
|
|
+--- a/devtools/server/tests/browser/browser_register_actor.js
|
|
|
++++ b/devtools/server/tests/browser/browser_register_actor.js
|
|
|
+@@ -3,17 +3,17 @@
|
|
|
+ var gClient;
|
|
|
+
|
|
|
+ function test() {
|
|
|
+ waitForExplicitFinish();
|
|
|
+ let {ActorRegistryFront} = require("devtools/shared/fronts/actor-registry");
|
|
|
+ let actorURL = "chrome://mochitests/content/chrome/devtools/server/tests/mochitest/hello-actor.js";
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ gClient = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ gClient.connect()
|
|
|
+ .then(() => gClient.listTabs())
|
|
|
+ .then(response => {
|
|
|
+ let options = {
|
|
|
+ prefix: "helloActor",
|
|
|
+ constructor: "HelloActor",
|
|
|
+diff --git a/devtools/server/tests/browser/head.js b/devtools/server/tests/browser/head.js
|
|
|
+--- a/devtools/server/tests/browser/head.js
|
|
|
++++ b/devtools/server/tests/browser/head.js
|
|
|
+@@ -96,17 +96,17 @@ function initDebuggerServer() {
|
|
|
+ try {
|
|
|
+ // Sometimes debugger server does not get destroyed correctly by previous
|
|
|
+ // tests.
|
|
|
+ DebuggerServer.destroy();
|
|
|
+ } catch (e) {
|
|
|
+ info(`DebuggerServer destroy error: ${e}\n${e.stack}`);
|
|
|
+ }
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Connect a debugger client.
|
|
|
+ * @param {DebuggerClient}
|
|
|
+ * @return {Promise} Resolves to the selected tabActor form when the client is
|
|
|
+ * connected.
|
|
|
+ */
|
|
|
+diff --git a/devtools/server/tests/mochitest/inspector-helpers.js b/devtools/server/tests/mochitest/inspector-helpers.js
|
|
|
+--- a/devtools/server/tests/mochitest/inspector-helpers.js
|
|
|
++++ b/devtools/server/tests/mochitest/inspector-helpers.js
|
|
|
+@@ -18,17 +18,17 @@ const {_documentWalker} = require("devto
|
|
|
+ // Always log packets when running tests.
|
|
|
+ Services.prefs.setBoolPref("devtools.debugger.log", true);
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.log");
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!DebuggerServer.initialized) {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ DebuggerServer.destroy();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ var gAttachCleanups = [];
|
|
|
+
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+diff --git a/devtools/server/tests/mochitest/memory-helpers.js b/devtools/server/tests/mochitest/memory-helpers.js
|
|
|
+--- a/devtools/server/tests/mochitest/memory-helpers.js
|
|
|
++++ b/devtools/server/tests/mochitest/memory-helpers.js
|
|
|
+@@ -16,17 +16,17 @@ var gReduceTimePrecision = Services.pref
|
|
|
+ Services.prefs.setBoolPref("privacy.reduceTimerPrecision", false);
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.log");
|
|
|
+ Services.prefs.setBoolPref("privacy.reduceTimerPrecision", gReduceTimePrecision);
|
|
|
+ });
|
|
|
+
|
|
|
+ function startServerAndGetSelectedTabMemory() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+
|
|
|
+ return client.connect()
|
|
|
+ .then(() => client.listTabs())
|
|
|
+ .then(response => {
|
|
|
+ let form = response.tabs[response.selected];
|
|
|
+ let memory = MemoryFront(client, form, response);
|
|
|
+
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_connectToChild.html b/devtools/server/tests/mochitest/test_connectToChild.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_connectToChild.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_connectToChild.html
|
|
|
+@@ -65,17 +65,17 @@ function runTests() {
|
|
|
+ "hello": TestActor.prototype.hello
|
|
|
+ };
|
|
|
+ DebuggerServer.addTabActor(TestActor, "testActor");
|
|
|
+ }, false);
|
|
|
+
|
|
|
+ // Instantiate a minimal server
|
|
|
+ DebuggerServer.init();
|
|
|
+ if (!DebuggerServer.createRootActor) {
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ }
|
|
|
+
|
|
|
+ function firstClient() {
|
|
|
+ // Fake a first connection to an iframe
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ let conn = transport._serverConnection;
|
|
|
+ let client = new DebuggerClient(transport);
|
|
|
+ DebuggerServer.connectToChild(conn, iframe).then(actor => {
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_connection-manager.html b/devtools/server/tests/mochitest/test_connection-manager.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_connection-manager.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_connection-manager.html
|
|
|
+@@ -17,17 +17,17 @@ Bug 898485 - [app manager] Implement an
|
|
|
+ window.onload = function () {
|
|
|
+ SimpleTest.waitForExplicitFinish();
|
|
|
+
|
|
|
+ const {require} = ChromeUtils.import("resource://devtools/shared/Loader.jsm", {});
|
|
|
+ const {DebuggerServer} = require("devtools/server/main");
|
|
|
+ const Services = require("Services");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ const {
|
|
|
+ ConnectionManager,
|
|
|
+ Connection
|
|
|
+ } = require("devtools/shared/client/connection-manager");
|
|
|
+
|
|
|
+ let orgCount = ConnectionManager.connections.length;
|
|
|
+
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_device.html b/devtools/server/tests/mochitest/test_device.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_device.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_device.html
|
|
|
+@@ -20,17 +20,17 @@ window.onload = function () {
|
|
|
+ const {DebuggerServer} = require("devtools/server/main");
|
|
|
+ const Services = require("Services");
|
|
|
+
|
|
|
+ SimpleTest.waitForExplicitFinish();
|
|
|
+
|
|
|
+ const {getDeviceFront} = require("devtools/shared/fronts/device");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let d = getDeviceFront(client, response);
|
|
|
+
|
|
|
+ let desc;
|
|
|
+ let appInfo = Services.appinfo;
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_framerate_01.html b/devtools/server/tests/mochitest/test_framerate_01.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_framerate_01.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_framerate_01.html
|
|
|
+@@ -61,17 +61,17 @@ window.onload = function () {
|
|
|
+ frameCount = 0;
|
|
|
+ prevTime = currTime;
|
|
|
+ }
|
|
|
+
|
|
|
+ return timeline;
|
|
|
+ }
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let form = response.tabs[response.selected];
|
|
|
+ let front = FramerateFront(client, form);
|
|
|
+
|
|
|
+ window.setTimeout(() => {
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_framerate_02.html b/devtools/server/tests/mochitest/test_framerate_02.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_framerate_02.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_framerate_02.html
|
|
|
+@@ -61,17 +61,17 @@ window.onload = function () {
|
|
|
+ frameCount = 0;
|
|
|
+ prevTime = currTime;
|
|
|
+ }
|
|
|
+
|
|
|
+ return timeline;
|
|
|
+ }
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let form = response.tabs[response.selected];
|
|
|
+ let front = FramerateFront(client, form);
|
|
|
+
|
|
|
+ front.stopRecording().then(rawData => {
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_framerate_03.html b/devtools/server/tests/mochitest/test_framerate_03.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_framerate_03.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_framerate_03.html
|
|
|
+@@ -29,17 +29,17 @@ window.onload = function () {
|
|
|
+ SimpleTest.waitForExplicitFinish();
|
|
|
+
|
|
|
+ const {FramerateFront} = require("devtools/shared/fronts/framerate");
|
|
|
+ const START_TICK = 2000;
|
|
|
+ const STOP_TICK = 3000;
|
|
|
+ const TOTAL_TIME = 5000;
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let form = response.tabs[response.selected];
|
|
|
+ let front = FramerateFront(client, form);
|
|
|
+
|
|
|
+ front.startRecording().then(() => {
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_framerate_05.html b/devtools/server/tests/mochitest/test_framerate_05.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_framerate_05.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_framerate_05.html
|
|
|
+@@ -26,17 +26,17 @@ window.onload = function () {
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.log");
|
|
|
+ });
|
|
|
+
|
|
|
+ SimpleTest.waitForExplicitFinish();
|
|
|
+
|
|
|
+ const {FramerateFront} = require("devtools/shared/fronts/framerate");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let form = response.tabs[response.selected];
|
|
|
+ let front = FramerateFront(client, form);
|
|
|
+
|
|
|
+ front.startRecording().then(() => {
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_getProcess.html b/devtools/server/tests/mochitest/test_getProcess.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_getProcess.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_getProcess.html
|
|
|
+@@ -34,17 +34,17 @@ window.onload = function () {
|
|
|
+ }, runTests);
|
|
|
+ };
|
|
|
+
|
|
|
+ function runTests() {
|
|
|
+ // Instantiate a minimal server
|
|
|
+ DebuggerServer.init();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+ if (!DebuggerServer.createRootActor) {
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ }
|
|
|
+
|
|
|
+ let client, iframe, processCount;
|
|
|
+
|
|
|
+ function connect() {
|
|
|
+ // Fake a first connection to the content process
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ client = new DebuggerClient(transport);
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_preference.html b/devtools/server/tests/mochitest/test_preference.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_preference.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_preference.html
|
|
|
+@@ -20,17 +20,17 @@ function runTests() {
|
|
|
+ let {DebuggerServer} = require("devtools/server/main");
|
|
|
+ let Services = require("Services");
|
|
|
+
|
|
|
+ SimpleTest.waitForExplicitFinish();
|
|
|
+
|
|
|
+ let {getPreferenceFront} = require("devtools/shared/fronts/preference");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function onConnect() {
|
|
|
+ client.listTabs(function onListTabs(response) {
|
|
|
+ let p = getPreferenceFront(client, response);
|
|
|
+
|
|
|
+ let prefs = {};
|
|
|
+
|
|
|
+diff --git a/devtools/server/tests/mochitest/test_setupInParentChild.html b/devtools/server/tests/mochitest/test_setupInParentChild.html
|
|
|
+--- a/devtools/server/tests/mochitest/test_setupInParentChild.html
|
|
|
++++ b/devtools/server/tests/mochitest/test_setupInParentChild.html
|
|
|
+@@ -35,17 +35,17 @@ function runTests() {
|
|
|
+ // Create a minimal iframe with a message manager
|
|
|
+ let iframe = document.createElement("iframe");
|
|
|
+ iframe.mozbrowser = true;
|
|
|
+ document.body.appendChild(iframe);
|
|
|
+
|
|
|
+ // Instantiate a minimal server
|
|
|
+ DebuggerServer.init();
|
|
|
+ if (!DebuggerServer.createRootActor) {
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ }
|
|
|
+
|
|
|
+ // Fake a connection to an iframe
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ let conn = transport._serverConnection;
|
|
|
+ let client = new DebuggerClient(transport);
|
|
|
+
|
|
|
+ // Wait for a response from setupInChild
|
|
|
+diff --git a/devtools/server/tests/mochitest/webconsole-helpers.js b/devtools/server/tests/mochitest/webconsole-helpers.js
|
|
|
+--- a/devtools/server/tests/mochitest/webconsole-helpers.js
|
|
|
++++ b/devtools/server/tests/mochitest/webconsole-helpers.js
|
|
|
+@@ -10,17 +10,17 @@ const Services = require("Services");
|
|
|
+ // Always log packets when running tests.
|
|
|
+ Services.prefs.setBoolPref("devtools.debugger.log", true);
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.log");
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!DebuggerServer.initialized) {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ DebuggerServer.destroy();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Open a tab, load the url, find the tab with the debugger server,
|
|
|
+ * and attach the console to it.
|
|
|
+diff --git a/devtools/server/tests/mochitest/webextension-helpers.js b/devtools/server/tests/mochitest/webextension-helpers.js
|
|
|
+--- a/devtools/server/tests/mochitest/webextension-helpers.js
|
|
|
++++ b/devtools/server/tests/mochitest/webextension-helpers.js
|
|
|
+@@ -16,17 +16,17 @@ const {flushJarCache} = require("resourc
|
|
|
+ const {Services} = require("resource://gre/modules/Services.jsm");
|
|
|
+
|
|
|
+ loader.lazyImporter(this, "ExtensionParent", "resource://gre/modules/ExtensionParent.jsm");
|
|
|
+ loader.lazyImporter(this, "OS", "resource://gre/modules/osfile.jsm");
|
|
|
+
|
|
|
+ // Initialize a minimal DebuggerServer and connect to the webextension addon actor.
|
|
|
+ if (!DebuggerServer.initialized) {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ DebuggerServer.destroy();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleTest.registerCleanupFunction(function () {
|
|
|
+ const {hiddenXULWindow} = ExtensionParent.DebugUtils;
|
|
|
+ const debugBrowserMapSize = ExtensionParent.DebugUtils.debugBrowserPromises.size;
|
|
|
+diff --git a/devtools/server/tests/unit/head_dbg.js b/devtools/server/tests/unit/head_dbg.js
|
|
|
+--- a/devtools/server/tests/unit/head_dbg.js
|
|
|
++++ b/devtools/server/tests/unit/head_dbg.js
|
|
|
+@@ -411,17 +411,17 @@ function initTestDebuggerServer(server =
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Initialize the testing debugger server with a tab whose title is |title|.
|
|
|
+ */
|
|
|
+ function startTestDebuggerServer(title, server = DebuggerServer) {
|
|
|
+ initTestDebuggerServer(server);
|
|
|
+ addTestGlobal(title);
|
|
|
+- DebuggerServer.registerActors({ browser: false, root: false, tab: true });
|
|
|
++ DebuggerServer.registerActors({ tab: true });
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+ let client = new DebuggerClient(transport);
|
|
|
+
|
|
|
+ return connect(client).then(() => client);
|
|
|
+ }
|
|
|
+
|
|
|
+ function finishClient(client) {
|
|
|
+@@ -430,17 +430,17 @@ function finishClient(client) {
|
|
|
+ do_test_finished();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // Create a server, connect to it and fetch tab actors for the parent process;
|
|
|
+ // pass |callback| the debugger client and tab actor form with all actor IDs.
|
|
|
+ function get_chrome_actors(callback) {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect()
|
|
|
+ .then(() => client.getProcess())
|
|
|
+ .then(response => {
|
|
|
+ callback(client, response.form);
|
|
|
+ });
|
|
|
+diff --git a/devtools/server/tests/unit/test_actor-registry-actor.js b/devtools/server/tests/unit/test_actor-registry-actor.js
|
|
|
+--- a/devtools/server/tests/unit/test_actor-registry-actor.js
|
|
|
++++ b/devtools/server/tests/unit/test_actor-registry-actor.js
|
|
|
+@@ -13,17 +13,17 @@ var gActorFront;
|
|
|
+ var gOldPref;
|
|
|
+
|
|
|
+ const { ActorRegistryFront } = require("devtools/shared/fronts/actor-registry");
|
|
|
+
|
|
|
+ function run_test() {
|
|
|
+ gOldPref = Services.prefs.getBoolPref("devtools.debugger.forbid-certified-apps");
|
|
|
+ Services.prefs.setBoolPref("devtools.debugger.forbid-certified-apps", false);
|
|
|
+ initTestDebuggerServer();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ gClient = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ gClient.connect().then(getRegistry);
|
|
|
+ do_test_pending();
|
|
|
+ }
|
|
|
+
|
|
|
+ function getRegistry() {
|
|
|
+ gClient.listTabs((response) => {
|
|
|
+ gRegistryFront = ActorRegistryFront(gClient, response);
|
|
|
+diff --git a/devtools/server/tests/unit/test_add_actors.js b/devtools/server/tests/unit/test_add_actors.js
|
|
|
+--- a/devtools/server/tests/unit/test_add_actors.js
|
|
|
++++ b/devtools/server/tests/unit/test_add_actors.js
|
|
|
+@@ -13,17 +13,17 @@ var gActors;
|
|
|
+ * in order to add actors after initialization but rather can add actors anytime
|
|
|
+ * regardless of the object's state.
|
|
|
+ */
|
|
|
+ function run_test() {
|
|
|
+ DebuggerServer.addActors("resource://test/pre_init_global_actors.js");
|
|
|
+ DebuggerServer.addActors("resource://test/pre_init_tab_actors.js");
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ DebuggerServer.addActors("resource://test/post_init_global_actors.js");
|
|
|
+ DebuggerServer.addActors("resource://test/post_init_tab_actors.js");
|
|
|
+
|
|
|
+ add_test(init);
|
|
|
+ add_test(test_pre_init_global_actor);
|
|
|
+ add_test(test_pre_init_tab_actor);
|
|
|
+ add_test(test_post_init_global_actor);
|
|
|
+diff --git a/devtools/server/tests/unit/test_client_request.js b/devtools/server/tests/unit/test_client_request.js
|
|
|
+--- a/devtools/server/tests/unit/test_client_request.js
|
|
|
++++ b/devtools/server/tests/unit/test_client_request.js
|
|
|
+@@ -25,17 +25,17 @@ TestActor.prototype.requestTypes = {
|
|
|
+ "hello": TestActor.prototype.hello,
|
|
|
+ "error": TestActor.prototype.error
|
|
|
+ };
|
|
|
+
|
|
|
+ function run_test() {
|
|
|
+ DebuggerServer.addGlobalActor(TestActor);
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ add_test(init);
|
|
|
+ add_test(test_client_request_callback);
|
|
|
+ add_test(test_client_request_promise);
|
|
|
+ add_test(test_client_request_promise_error);
|
|
|
+ add_test(test_client_request_event_emitter);
|
|
|
+ add_test(test_close_client_while_sending_requests);
|
|
|
+ add_test(test_client_request_after_close);
|
|
|
+diff --git a/devtools/server/tests/unit/test_registerClient.js b/devtools/server/tests/unit/test_registerClient.js
|
|
|
+--- a/devtools/server/tests/unit/test_registerClient.js
|
|
|
++++ b/devtools/server/tests/unit/test_registerClient.js
|
|
|
+@@ -49,17 +49,17 @@ TestClient.prototype = {
|
|
|
+ onDone();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ function run_test() {
|
|
|
+ DebuggerServer.addGlobalActor(TestActor);
|
|
|
+
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ add_test(init);
|
|
|
+ add_test(test_client_events);
|
|
|
+ add_test(close_client);
|
|
|
+ run_next_test();
|
|
|
+ }
|
|
|
+
|
|
|
+ function init() {
|
|
|
+diff --git a/devtools/server/tests/unit/test_register_actor.js b/devtools/server/tests/unit/test_register_actor.js
|
|
|
+--- a/devtools/server/tests/unit/test_register_actor.js
|
|
|
++++ b/devtools/server/tests/unit/test_register_actor.js
|
|
|
+@@ -13,17 +13,17 @@ function check_actors(expect) {
|
|
|
+ DebuggerServer.globalActorFactories.hasOwnProperty("registeredActor2"));
|
|
|
+ Assert.equal(expect,
|
|
|
+ DebuggerServer.globalActorFactories.hasOwnProperty("registeredActor1"));
|
|
|
+ }
|
|
|
+
|
|
|
+ function run_test() {
|
|
|
+ // Allow incoming connections.
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ add_test(test_deprecated_api);
|
|
|
+ add_test(test_lazy_api);
|
|
|
+ add_test(cleanup);
|
|
|
+ run_next_test();
|
|
|
+ }
|
|
|
+
|
|
|
+ function test_deprecated_api() {
|
|
|
+diff --git a/devtools/server/tests/unit/test_requestTypes.js b/devtools/server/tests/unit/test_requestTypes.js
|
|
|
+--- a/devtools/server/tests/unit/test_requestTypes.js
|
|
|
++++ b/devtools/server/tests/unit/test_requestTypes.js
|
|
|
+@@ -18,17 +18,17 @@ function test_requestTypes_request(clien
|
|
|
+ client.close().then(() => {
|
|
|
+ do_test_finished();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function run_test() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ let client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
+ client.connect().then(function () {
|
|
|
+ test_requestTypes_request(client);
|
|
|
+ });
|
|
|
+
|
|
|
+ do_test_pending();
|
|
|
+ }
|
|
|
+diff --git a/devtools/shared/gcli/commands/listen.js b/devtools/shared/gcli/commands/listen.js
|
|
|
+--- a/devtools/shared/gcli/commands/listen.js
|
|
|
++++ b/devtools/shared/gcli/commands/listen.js
|
|
|
+@@ -21,17 +21,17 @@ XPCOMUtils.defineLazyGetter(this, "debug
|
|
|
+ // devtools. This allows us to safely use the tools against even the
|
|
|
+ // actors and DebuggingServer itself, especially since we can mark
|
|
|
+ // serverLoader as invisible to the debugger (unlike the usual loader
|
|
|
+ // settings).
|
|
|
+ let serverLoader = new DevToolsLoader();
|
|
|
+ serverLoader.invisibleToDebugger = true;
|
|
|
+ let { DebuggerServer: debuggerServer } = serverLoader.require("devtools/server/main");
|
|
|
+ debuggerServer.init();
|
|
|
+- debuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ debuggerServer.registerAllActors();
|
|
|
+ debuggerServer.allowChromeProcess = !l10n.hiddenByChromePref();
|
|
|
+ return debuggerServer;
|
|
|
+ });
|
|
|
+
|
|
|
+ exports.items = [
|
|
|
+ {
|
|
|
+ item: "command",
|
|
|
+ runAt: "client",
|
|
|
+diff --git a/devtools/shared/security/tests/chrome/test_websocket-transport.html b/devtools/shared/security/tests/chrome/test_websocket-transport.html
|
|
|
+--- a/devtools/shared/security/tests/chrome/test_websocket-transport.html
|
|
|
++++ b/devtools/shared/security/tests/chrome/test_websocket-transport.html
|
|
|
+@@ -22,17 +22,17 @@ window.onload = function () {
|
|
|
+
|
|
|
+ SimpleTest.registerCleanupFunction(() => {
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.remote-enabled");
|
|
|
+ Services.prefs.clearUserPref("devtools.debugger.prompt-connection");
|
|
|
+ });
|
|
|
+
|
|
|
+ add_task(function* () {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+
|
|
|
+ is(DebuggerServer.listeningSockets, 0, "0 listening sockets");
|
|
|
+
|
|
|
+ let listener = DebuggerServer.createListener();
|
|
|
+ ok(listener, "Socket listener created");
|
|
|
+ listener.portOrPath = -1;
|
|
|
+ listener.webSocket = true;
|
|
|
+ yield listener.open();
|
|
|
+diff --git a/devtools/shared/webconsole/test/common.js b/devtools/shared/webconsole/test/common.js
|
|
|
+--- a/devtools/shared/webconsole/test/common.js
|
|
|
++++ b/devtools/shared/webconsole/test/common.js
|
|
|
+@@ -20,17 +20,17 @@ const ObjectClient = require("devtools/s
|
|
|
+ const Services = require("Services");
|
|
|
+
|
|
|
+ function initCommon() {
|
|
|
+ // Services.prefs.setBoolPref("devtools.debugger.log", true);
|
|
|
+ }
|
|
|
+
|
|
|
+ function initDebuggerServer() {
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ function connectToDebugger() {
|
|
|
+ initCommon();
|
|
|
+ initDebuggerServer();
|
|
|
+
|
|
|
+ let transport = DebuggerServer.connectPipe();
|
|
|
+diff --git a/devtools/startup/devtools-startup.js b/devtools/startup/devtools-startup.js
|
|
|
+--- a/devtools/startup/devtools-startup.js
|
|
|
++++ b/devtools/startup/devtools-startup.js
|
|
|
+@@ -678,17 +678,17 @@ DevToolsStartup.prototype = {
|
|
|
+ // actors and DebuggingServer itself, especially since we can mark
|
|
|
+ // serverLoader as invisible to the debugger (unlike the usual loader
|
|
|
+ // settings).
|
|
|
+ let serverLoader = new DevToolsLoader();
|
|
|
+ serverLoader.invisibleToDebugger = true;
|
|
|
+ let { DebuggerServer: debuggerServer } =
|
|
|
+ serverLoader.require("devtools/server/main");
|
|
|
+ debuggerServer.init();
|
|
|
+- debuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ debuggerServer.registerAllActors();
|
|
|
+ debuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ let listener = debuggerServer.createListener();
|
|
|
+ listener.portOrPath = portOrPath;
|
|
|
+ listener.webSocket = webSocket;
|
|
|
+ listener.open();
|
|
|
+ dump("Started debugger server on " + portOrPath + "\n");
|
|
|
+ } catch (e) {
|
|
|
+diff --git a/testing/xpcshell/head.js b/testing/xpcshell/head.js
|
|
|
+--- a/testing/xpcshell/head.js
|
|
|
++++ b/testing/xpcshell/head.js
|
|
|
+@@ -380,17 +380,17 @@ function _setupDebuggerServer(breakpoint
|
|
|
+ "It is possible for this to alter test behevior by " +
|
|
|
+ "triggering additional browser code to run, so check " +
|
|
|
+ "test behavior after making this change.\n" +
|
|
|
+ "See also https://bugzil.la/1215378.")
|
|
|
+ }
|
|
|
+ let { DebuggerServer } = require("devtools/server/main");
|
|
|
+ let { OriginalLocation } = require("devtools/server/actors/common");
|
|
|
+ DebuggerServer.init();
|
|
|
+- DebuggerServer.registerActors({ browser: true, root: true, tab: true });
|
|
|
++ DebuggerServer.registerAllActors();
|
|
|
+ DebuggerServer.addActors("resource://testing-common/dbg-actors.js");
|
|
|
+ DebuggerServer.allowChromeProcess = true;
|
|
|
+
|
|
|
+ // An observer notification that tells us when we can "resume" script
|
|
|
+ // execution.
|
|
|
+ const TOPICS = ["devtools-thread-resumed", "xpcshell-test-devtools-shutdown"];
|
|
|
+ let observe = function(subject, topic, data) {
|
|
|
+ switch (topic) {
|