Bug 1367424 - use DevTools shim in addon SDK;r=rpl

MozReview-Commit-ID: 2ZoAU1pRxzx

--HG--
extra : rebase_source : 1c54cbf9b9d0ab345e4257e74c9af9b64e525452
This commit is contained in:
Julian Descottes 2017-05-29 18:20:01 +02:00
Родитель dca07d04dd
Коммит 9524a4e7b6
6 изменённых файлов: 20 добавлений и 47 удалений

Просмотреть файл

@ -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();
@ -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 {

Просмотреть файл

@ -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
@ -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,
@ -70,7 +70,7 @@ const Tool = Class({
validate(theme);
setup(theme);
gDevTools.registerTheme({
DevToolsShim.registerTheme({
id: theme.id,
label: theme.label,
stylesheets: theme.getStyles(),
@ -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));
}
});

Просмотреть файл

@ -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);
@ -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;

Просмотреть файл

@ -17,12 +17,7 @@ const { get } = require('../preferences/service');
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;
});
const { DevToolsShim } = Cu.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
// Initializes default preferences
function setDefaultPrefs(prefsURI) {
@ -156,7 +151,7 @@ function run(options) {
}
if (get("extensions." + id + ".sdk.debug.show", false)) {
BrowserToolboxProcess.init({ addonID: id });
DevToolsShim.initBrowserToolboxProcessForAddon(id);
}
} catch (error) {
console.exception(error);

Просмотреть файл

@ -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;
@ -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,

Просмотреть файл

@ -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;
@ -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,