Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit ab7e9c5

Browse files
Bug 1367424 - use DevTools shim in addon SDK;r=rpl
MozReview-Commit-ID: 2ZoAU1pRxzx --HG-- extra : rebase_source : 10551df8d5aa69f523d9b4e4387299b9e6e8b7e1
1 parent 4cbdadf commit ab7e9c5

6 files changed

Lines changed: 20 additions & 47 deletions

File tree

addon-sdk/source/lib/dev/debuggee.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ module.metadata = {
1111
const { Cu } = require("chrome");
1212
const { Class } = require("../sdk/core/heritage");
1313
const { MessagePort, MessageChannel } = require("../sdk/messaging");
14-
const { require: devtoolsRequire } = Cu.import("resource://devtools/shared/Loader.jsm", {});
15-
const { DebuggerServer } = devtoolsRequire("devtools/server/main");
14+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
1615

1716
const outputs = new WeakMap();
1817
const inputs = new WeakMap();
@@ -49,12 +48,8 @@ const Debuggee = Class({
4948
if (target.isLocalTab) {
5049
// Since a remote protocol connection will be made, let's start the
5150
// DebuggerServer here, once and for all tools.
52-
if (!DebuggerServer.initialized) {
53-
DebuggerServer.init();
54-
DebuggerServer.addBrowserActors();
55-
}
56-
57-
transports.set(this, DebuggerServer.connectPipe());
51+
let transport = DevToolsShim.connectDebuggerServer();
52+
transports.set(this, transport);
5853
}
5954
// TODO: Implement support for remote connections (See Bug 980421)
6055
else {

addon-sdk/source/lib/dev/toolbox.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const { contract, validate } = require("../sdk/util/contract");
1515
const { each, pairs, values } = require("../sdk/util/sequence");
1616
const { onEnable, onDisable } = require("../dev/theme/hooks");
1717

18-
const { gDevTools } = Cu.import("resource://devtools/client/framework/gDevTools.jsm", {});
18+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
1919

2020
// This is temporary workaround to allow loading of the developer tools client - volcan
2121
// into a toolbox panel, this hack won't be necessary as soon as devtools patch will be
@@ -46,7 +46,7 @@ const Tool = Class({
4646
invertIconForDarkTheme } = validate(Panel.prototype);
4747
const { id } = Panel.prototype;
4848

49-
gDevTools.registerTool({
49+
DevToolsShim.registerTool({
5050
id: id,
5151
url: "about:blank",
5252
label: label,
@@ -70,7 +70,7 @@ const Tool = Class({
7070
validate(theme);
7171
setup(theme);
7272

73-
gDevTools.registerTheme({
73+
DevToolsShim.registerTheme({
7474
id: theme.id,
7575
label: theme.label,
7676
stylesheets: theme.getStyles(),
@@ -87,10 +87,10 @@ const Tool = Class({
8787
}, pairs(themes));
8888
},
8989
dispose: function() {
90-
each(Panel => gDevTools.unregisterTool(Panel.prototype.id),
90+
each(Panel => DevToolsShim.unregisterTool(Panel.prototype.id),
9191
values(this.panels));
9292

93-
each(Theme => gDevTools.unregisterTheme(Theme.prototype.id),
93+
each(Theme => DevToolsShim.unregisterTheme(Theme.prototype.id),
9494
values(this.themes));
9595
}
9696
});

addon-sdk/source/lib/dev/utils.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@
55
"use strict";
66

77
const { Cu } = require("chrome");
8-
const { gDevTools } = Cu.import("resource://devtools/client/framework/gDevTools.jsm", {});
9-
const { devtools } = Cu.import("resource://devtools/shared/Loader.jsm", {});
8+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
109

1110
const { getActiveTab } = require("../sdk/tabs/utils");
1211
const { getMostRecentBrowserWindow } = require("../sdk/window/utils");
1312

1413
const targetFor = target => {
1514
target = target || getActiveTab(getMostRecentBrowserWindow());
16-
return devtools.TargetFactory.forTab(target);
15+
return DevToolsShim.getTargetForTab(target);
1716
};
1817

1918
const getId = id => ((id.prototype && id.prototype.id) || id.id || id);
@@ -23,18 +22,18 @@ exports.getCurrentPanel = getCurrentPanel;
2322

2423
const openToolbox = (id, tab) => {
2524
id = getId(id);
26-
return gDevTools.showToolbox(targetFor(tab), id);
25+
return DevToolsShim.showToolbox(targetFor(tab), id);
2726
};
2827
exports.openToolbox = openToolbox;
2928

30-
const closeToolbox = tab => gDevTools.closeToolbox(targetFor(tab));
29+
const closeToolbox = tab => DevToolsShim.closeToolbox(targetFor(tab));
3130
exports.closeToolbox = closeToolbox;
3231

33-
const getToolbox = tab => gDevTools.getToolbox(targetFor(tab));
32+
const getToolbox = tab => DevToolsShim.getToolbox(targetFor(tab));
3433
exports.getToolbox = getToolbox;
3534

3635
const openToolboxPanel = (id, tab) => {
3736
id = getId(id);
38-
return gDevTools.showToolbox(targetFor(tab), id).then(getCurrentPanel);
37+
return DevToolsShim.showToolbox(targetFor(tab), id).then(getCurrentPanel);
3938
};
4039
exports.openToolboxPanel = openToolboxPanel;

addon-sdk/source/lib/sdk/addon/runner.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,7 @@ const { get } = require('../preferences/service');
1717
const { preferences } = metadata;
1818

1919
const Startup = Cu.import("resource://gre/modules/sdk/system/Startup.js", {}).exports;
20-
21-
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
22-
XPCOMUtils.defineLazyGetter(this, "BrowserToolboxProcess", function () {
23-
return Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm", {}).
24-
BrowserToolboxProcess;
25-
});
20+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
2621

2722
// Initializes default preferences
2823
function setDefaultPrefs(prefsURI) {
@@ -156,7 +151,7 @@ function run(options) {
156151
}
157152

158153
if (get("extensions." + id + ".sdk.debug.show", false)) {
159-
BrowserToolboxProcess.init({ addonID: id });
154+
DevToolsShim.initBrowserToolboxProcessForAddon(id);
160155
}
161156
} catch (error) {
162157
console.exception(error);

addon-sdk/source/test/addons/page-mod-debugger-post/main.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ const { getMostRecentBrowserWindow } = require('sdk/window/utils');
1212
const { data } = require('sdk/self');
1313
const { set } = require('sdk/preferences/service');
1414

15-
const { require: devtoolsRequire } = Cu.import("resource://devtools/shared/Loader.jsm", {});
16-
const { DebuggerServer } = devtoolsRequire("devtools/server/main");
17-
const { DebuggerClient } = devtoolsRequire("devtools/shared/client/main");
15+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
1816

1917
var gClient;
2018
var ok;
@@ -29,13 +27,7 @@ exports.testDebugger = function(assert, done) {
2927
assert.pass('starting test');
3028
set('devtools.debugger.log', true);
3129

32-
if (!DebuggerServer.initialized) {
33-
DebuggerServer.init();
34-
DebuggerServer.addBrowserActors();
35-
}
36-
37-
let transport = DebuggerServer.connectPipe();
38-
gClient = new DebuggerClient(transport);
30+
gClient = DevToolsShim.createDebuggerClient();
3931
gClient.connect((aType, aTraits) => {
4032
tabs.open({
4133
url: TAB_URL,

addon-sdk/source/test/addons/page-mod-debugger-pre/main.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ const { getMostRecentBrowserWindow } = require('sdk/window/utils');
1212
const { data } = require('sdk/self');
1313
const { set } = require('sdk/preferences/service');
1414

15-
const { require: devtoolsRequire } = Cu.import("resource://devtools/shared/Loader.jsm", {});
16-
const { DebuggerServer } = devtoolsRequire("devtools/server/main");
17-
const { DebuggerClient } = devtoolsRequire("devtools/shared/client/main");
15+
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
1816

1917
var gClient;
2018
var ok;
@@ -36,13 +34,7 @@ exports.testDebugger = function(assert, done) {
3634
});
3735
ok(true, 'PageMod was created');
3836

39-
if (!DebuggerServer.initialized) {
40-
DebuggerServer.init();
41-
DebuggerServer.addBrowserActors();
42-
}
43-
44-
let transport = DebuggerServer.connectPipe();
45-
gClient = new DebuggerClient(transport);
37+
gClient = DevToolsShim.createDebuggerClient();
4638
gClient.connect((aType, aTraits) => {
4739
tabs.open({
4840
url: TAB_URL,

0 commit comments

Comments
 (0)