Skip to content

Commit

Permalink
Bug 1367424 - use DevTools shim in addon SDK;r=rpl
Browse files Browse the repository at this point in the history
MozReview-Commit-ID: 2ZoAU1pRxzx
  • Loading branch information
juliandescottes committed Jun 12, 2017
1 parent d2be77e commit c554a47
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 44 deletions.
11 changes: 3 additions & 8 deletions addon-sdk/source/lib/dev/debuggee.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ module.metadata = {
const { Cu } = require("chrome");
const { Class } = require("../sdk/core/heritage");
const { MessagePort, MessageChannel } = require("../sdk/messaging");
const { require: devtoolsRequire } = Cu.import("resource://devtools/shared/Loader.jsm", {});
const { DebuggerServer } = devtoolsRequire("devtools/server/main");
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});

const outputs = new WeakMap();
const inputs = new WeakMap();
Expand Down Expand Up @@ -49,12 +48,8 @@ const Debuggee = Class({
if (target.isLocalTab) {
// Since a remote protocol connection will be made, let's start the
// DebuggerServer here, once and for all tools.
if (!DebuggerServer.initialized) {
DebuggerServer.init();
DebuggerServer.addBrowserActors();
}

transports.set(this, DebuggerServer.connectPipe());
let transport = DevToolsShim.connectDebuggerServer();
transports.set(this, transport);
}
// TODO: Implement support for remote connections (See Bug 980421)
else {
Expand Down
10 changes: 5 additions & 5 deletions addon-sdk/source/lib/dev/toolbox.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const { contract, validate } = require("../sdk/util/contract");
const { each, pairs, values } = require("../sdk/util/sequence");
const { onEnable, onDisable } = require("../dev/theme/hooks");

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

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

gDevTools.registerTool({
DevToolsShim.registerTool({
id: id,
url: "about:blank",
label: label,
Expand All @@ -70,7 +70,7 @@ const Tool = Class({
validate(theme);
setup(theme);

gDevTools.registerTheme({
DevToolsShim.registerTheme({
id: theme.id,
label: theme.label,
stylesheets: theme.getStyles(),
Expand All @@ -87,10 +87,10 @@ const Tool = Class({
}, pairs(themes));
},
dispose: function() {
each(Panel => gDevTools.unregisterTool(Panel.prototype.id),
each(Panel => DevToolsShim.unregisterTool(Panel.prototype.id),
values(this.panels));

each(Theme => gDevTools.unregisterTheme(Theme.prototype.id),
each(Theme => DevToolsShim.unregisterTheme(Theme.prototype.id),
values(this.themes));
}
});
Expand Down
13 changes: 6 additions & 7 deletions addon-sdk/source/lib/dev/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@
"use strict";

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

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

const targetFor = target => {
target = target || getActiveTab(getMostRecentBrowserWindow());
return devtools.TargetFactory.forTab(target);
return DevToolsShim.getTargetForTab(target);
};

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

const openToolbox = (id, tab) => {
id = getId(id);
return gDevTools.showToolbox(targetFor(tab), id);
return DevToolsShim.showToolbox(targetFor(tab), id);
};
exports.openToolbox = openToolbox;

const closeToolbox = tab => gDevTools.closeToolbox(targetFor(tab));
const closeToolbox = tab => DevToolsShim.closeToolbox(targetFor(tab));
exports.closeToolbox = closeToolbox;

const getToolbox = tab => gDevTools.getToolbox(targetFor(tab));
const getToolbox = tab => DevToolsShim.getToolbox(targetFor(tab));
exports.getToolbox = getToolbox;

const openToolboxPanel = (id, tab) => {
id = getId(id);
return gDevTools.showToolbox(targetFor(tab), id).then(getCurrentPanel);
return DevToolsShim.showToolbox(targetFor(tab), id).then(getCurrentPanel);
};
exports.openToolboxPanel = openToolboxPanel;
8 changes: 4 additions & 4 deletions addon-sdk/source/lib/sdk/addon/runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ const { preferences } = metadata;
const Startup = Cu.import("resource://gre/modules/sdk/system/Startup.js", {}).exports;

Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyGetter(this, "BrowserToolboxProcess", function () {
return Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm", {}).
BrowserToolboxProcess;
XPCOMUtils.defineLazyGetter(this, "DevToolsShim", function () {
return Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {}).
DevToolsShim;
});

// Initializes default preferences
Expand Down Expand Up @@ -156,7 +156,7 @@ function run(options) {
}

if (get("extensions." + id + ".sdk.debug.show", false)) {
BrowserToolboxProcess.init({ addonID: id });
DevToolsShim.initBrowserToolboxProcessForAddon(id);
}
} catch (error) {
console.exception(error);
Expand Down
12 changes: 2 additions & 10 deletions addon-sdk/source/test/addons/page-mod-debugger-post/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ const { getMostRecentBrowserWindow } = require('sdk/window/utils');
const { data } = require('sdk/self');
const { set } = require('sdk/preferences/service');

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

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

if (!DebuggerServer.initialized) {
DebuggerServer.init();
DebuggerServer.addBrowserActors();
}

let transport = DebuggerServer.connectPipe();
gClient = new DebuggerClient(transport);
gClient = DevToolsShim.createDebuggerClient();
gClient.connect((aType, aTraits) => {
tabs.open({
url: TAB_URL,
Expand Down
12 changes: 2 additions & 10 deletions addon-sdk/source/test/addons/page-mod-debugger-pre/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ const { getMostRecentBrowserWindow } = require('sdk/window/utils');
const { data } = require('sdk/self');
const { set } = require('sdk/preferences/service');

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

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

if (!DebuggerServer.initialized) {
DebuggerServer.init();
DebuggerServer.addBrowserActors();
}

let transport = DebuggerServer.connectPipe();
gClient = new DebuggerClient(transport);
gClient = DevToolsShim.createDebuggerClient();
gClient.connect((aType, aTraits) => {
tabs.open({
url: TAB_URL,
Expand Down

0 comments on commit c554a47

Please sign in to comment.