From c80acd40a677c07c7d67d28ce43015f4ba9bccc5 Mon Sep 17 00:00:00 2001 From: Jan Odvarko Date: Thu, 24 Sep 2015 12:04:11 +0200 Subject: [PATCH] Support for new devtools module paths (bug 912121) --- lib/har-driver-actor.js | 20 ++++++++++++++++---- lib/trigger-toolbox-overlay.js | 9 ++++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/har-driver-actor.js b/lib/har-driver-actor.js index 05c0084..11efea4 100644 --- a/lib/har-driver-actor.js +++ b/lib/har-driver-actor.js @@ -10,18 +10,30 @@ // Add-on SDK const { Cu, Ci, components } = require("chrome"); +const Events = require("sdk/event/core"); // Platform Cu.import("resource://gre/modules/XPCOMUtils.jsm"); // DevTools +// See also: https://bugzilla.mozilla.org/show_bug.cgi?id=912121 +var devtools; +try { + devtools = Cu.import("resource://gre/modules/devtools/shared/Loader.jsm", {}); +} catch (err) { + devtools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); +} + +var DevToolsUtils; +try { + DevToolsUtils = devtools["require"]("devtools/shared/DevToolsUtils"); +} catch (err) { + DevToolsUtils = devtools["require"]("devtools/toolkit/DevToolsUtils"); +} + const { DebuggerServer } = Cu.import("resource://gre/modules/devtools/dbg-server.jsm", {}); -const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); const protocol = devtools["require"]("devtools/server/protocol"); const { method, RetVal, ActorClass, Actor, Arg, types } = protocol; -const Events = devtools["require"]("sdk/event/core"); -const { makeInfallible } = devtools["require"]("devtools/toolkit/DevToolsUtils.js"); -const DevToolsUtils = devtools["require"]("devtools/toolkit/DevToolsUtils"); // For debugging purposes. Note that the tracing module isn't available // on the backend (in case of remote device debugging). diff --git a/lib/trigger-toolbox-overlay.js b/lib/trigger-toolbox-overlay.js index 0647872..d067f48 100644 --- a/lib/trigger-toolbox-overlay.js +++ b/lib/trigger-toolbox-overlay.js @@ -18,9 +18,12 @@ const { prefs } = require("sdk/simple-prefs"); const { Services } = Cu.import("resource://gre/modules/Services.jsm", {}); // DevTools -const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); -const { makeInfallible } = devtools["require"]("devtools/toolkit/DevToolsUtils.js"); -const { get: getHarOverlay } = devtools["require"]("devtools/netmonitor/har/toolbox-overlay.js"); +const { devtools, makeInfallible, safeRequire } = require("firebug.sdk/lib/core/devtools.js"); + +// https://bugzilla.mozilla.org/show_bug.cgi?id=912121 +const { get: getHarOverlay } = safeRequire(devtools, + "devtools/client/netmonitor/har/toolbox-overlay", + "devtools/netmonitor/har/toolbox-overlay"); // Firebug SDK const { Trace, TraceError } = require("firebug.sdk/lib/core/trace.js").get(module.id);