[Pkg-mozext-commits] [firebug] 06/17: #7952 Update DevTools modules path

David Prévot taffit at moszumanska.debian.org
Fri Oct 30 19:16:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository firebug.

commit 8b2e1e2c289fc888649abf6c5f3e56fa572ecbcf
Author: Jan Odvarko <odvarko at gmail.com>
Date:   Tue Oct 6 14:31:36 2015 +0200

    #7952 Update DevTools modules path
---
 .../firebug/console/commands/commandLineInclude.js |  7 ++-
 extension/content/firebug/console/console.js       |  9 ++--
 extension/content/firebug/css/computedPanel.js     |  9 ++--
 extension/content/firebug/lib/devtools.js          | 53 ++++++++++++++++++++++
 extension/content/firebug/lib/object.js            | 14 +++---
 5 files changed, 76 insertions(+), 16 deletions(-)

diff --git a/extension/content/firebug/console/commands/commandLineInclude.js b/extension/content/firebug/console/commands/commandLineInclude.js
index 88091c3..98d2922 100644
--- a/extension/content/firebug/console/commands/commandLineInclude.js
+++ b/extension/content/firebug/console/commands/commandLineInclude.js
@@ -41,8 +41,11 @@ var ScratchpadManager;
 
 try
 {
-    var scope = {};
-    Cu.import("resource:///modules/devtools/scratchpad-manager.jsm", scope);
+    // Module paths have changed, see also: https://bugzilla.mozilla.org/show_bug.cgi?id=912121
+    var scope = System.importModule([
+      "resource:///modules/devtools/client/scratchpad/scratchpad-manager.jsm",
+      "resource:///modules/devtools/scratchpad-manager.jsm
+    ]);
     ScratchpadManager = scope.ScratchpadManager;
 }
 catch(ex)
diff --git a/extension/content/firebug/console/console.js b/extension/content/firebug/console/console.js
index 282a2fa..6947ede 100644
--- a/extension/content/firebug/console/console.js
+++ b/extension/content/firebug/console/console.js
@@ -10,6 +10,7 @@ define([
     "firebug/lib/wrapper",
     "firebug/lib/xml",
     "firebug/lib/options",
+    "firebug/lib/devtools",
     "firebug/chrome/window",
     "firebug/chrome/firefox",
     "firebug/chrome/panelNotification",
@@ -21,7 +22,7 @@ define([
     "firebug/dom/domBaseTree",
     "firebug/remoting/debuggerClient",
 ],
-function(Firebug, FBTrace, Obj, Events, Locale, Search, Wrapper, Xml, Options, Win, Firefox,
+function(Firebug, FBTrace, Obj, Events, Locale, Search, Wrapper, Xml, Options, DevTools, Win, Firefox,
     PanelNotification, ActivableModule, ConsoleBase, SourceLink, StackFrame, StackTrace,
     DomBaseTree, DebuggerClient) {
 
@@ -30,9 +31,9 @@ function(Firebug, FBTrace, Obj, Events, Locale, Search, Wrapper, Xml, Options, W
 // ********************************************************************************************* //
 // Constants
 
-var Cu = Components.utils;
-var scope = Cu.import("resource://gre/modules/devtools/Loader.jsm", {});
-var {ConsoleAPIListener} = scope.devtools.require("devtools/toolkit/webconsole/utils");
+var {ConsoleAPIListener} = DevTools.safeRequire(DevTools.devtools,
+  "devtools/shared/webconsole/utils",
+  "devtools/toolkit/webconsole/utils");
 
 var defaultReturnValue = Object.preventExtensions(Object.create(null));
 
diff --git a/extension/content/firebug/css/computedPanel.js b/extension/content/firebug/css/computedPanel.js
index c4d64eb..8e984b9 100644
--- a/extension/content/firebug/css/computedPanel.js
+++ b/extension/content/firebug/css/computedPanel.js
@@ -14,6 +14,7 @@ define([
     "firebug/lib/string",
     "firebug/lib/url",
     "firebug/lib/xml",
+    "firebug/lib/devtools",
     "firebug/chrome/menu",
     "firebug/chrome/panel",
     "firebug/css/cssModule",
@@ -22,7 +23,7 @@ define([
     "firebug/debugger/script/sourceLink",
 ],
 function(Firebug, Arr, Css, Dom, Domplate, Events, Locale, Obj, Options, Persist, Str, Url, Xml,
-    Menu, Panel, CSSModule, CSSReps, LoadHandler, SourceLink) {
+    DevTools, Menu, Panel, CSSModule, CSSReps, LoadHandler, SourceLink) {
 
 "use strict";
 
@@ -42,9 +43,9 @@ try
 {
     // Firefox 24
     // waiting for: https://bugzilla.mozilla.org/show_bug.cgi?id=867595
-    var scope = {}
-    Cu.import("resource://gre/modules/devtools/Loader.jsm", scope);
-    var {CssLogic} = scope.devtools.require("devtools/styleinspector/css-logic");
+    var {CssLogic} = DevTools.safeRequire(DevTools.devtools,
+      "devtools/shared/styleinspector/css-logic",
+      "devtools/styleinspector/css-logic");
 }
 catch (e)
 {
diff --git a/extension/content/firebug/lib/devtools.js b/extension/content/firebug/lib/devtools.js
new file mode 100644
index 0000000..d4aab0f
--- /dev/null
+++ b/extension/content/firebug/lib/devtools.js
@@ -0,0 +1,53 @@
+/* See license.txt for terms of usage */
+/*global define:1, Components:1, Window:1*/
+
+define([
+],
+function() {
+
+"use strict";
+
+var Cu = Components.utils;
+
+var exports = {};
+
+// Support for new devtools modules path.
+// See also:
+// * https://wiki.mozilla.org/DevTools/Hacking
+// * https://github.com/jryans/devtools-migrate/blob/master/README.md
+// * https://developer.mozilla.org/en-US/docs/Tools/Contributing
+// * https://bugzilla.mozilla.org/show_bug.cgi?id=912121
+try {
+  exports.devtools = Cu.import("resource://gre/modules/devtools/shared/Loader.jsm", {}).devtools;
+  exports.DevToolsUtils = exports.devtools["require"]("devtools/shared/DevToolsUtils");
+} catch(e) {
+  exports.devtools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools;
+  exports.DevToolsUtils = exports.devtools["require"]("devtools/toolkit/DevToolsUtils");
+}
+
+exports.require = exports.devtools["require"];
+
+/**
+ * Allows requiring a devtools module and specify alternative locations
+ * to keep backward compatibility in case when the module location changes.
+ * It helps Firebug to support multiple Firefox versions.
+ *
+ * @param {Object} devtools Reference to DevTools module.
+ * @param {Array} locations List of URLs to try when importing the module.
+ * @returns Scope of the imported module or an empty scope if module wasn't successfully loaded.
+ */
+exports.safeRequire = function(devtools, ...args) {
+  for (var i=0; i<args.length; i++) {
+    try {
+      return devtools["require"](args[i]);
+    }
+    catch (err) {
+    }
+  }
+  return {};
+};
+
+return exports;
+
+// ********************************************************************************************* //
+});
diff --git a/extension/content/firebug/lib/object.js b/extension/content/firebug/lib/object.js
index c227e83..391acd0 100644
--- a/extension/content/firebug/lib/object.js
+++ b/extension/content/firebug/lib/object.js
@@ -4,9 +4,10 @@ define([
     "firebug/lib/trace",
     "firebug/lib/xpcom",
     "firebug/lib/array",
-    "firebug/lib/string"
+    "firebug/lib/string",
+    "firebug/lib/devtools",
 ],
-function(FBTrace, Xpcom, Arr, Str) {
+function(FBTrace, Xpcom, Arr, Str, DevTools) {
 
 "use strict";
 
@@ -219,14 +220,15 @@ Obj.isNonNativeGetter = function(obj, propName)
 {
     try
     {
-        var scope = {};
-        Cu.import("resource://gre/modules/devtools/WebConsoleUtils.jsm", scope);
+        var {Utils} = DevTools.safeRequire(DevTools.devtools,
+          "devtools/shared/webconsole/utils",
+          "devtools/toolkit/webconsole/utils");
 
-        if (scope.WebConsoleUtils.isNonNativeGetter)
+        if (Utils.isNonNativeGetter)
         {
             Obj.isNonNativeGetter = function(obj, propName)
             {
-                return scope.WebConsoleUtils.isNonNativeGetter(obj, propName);
+                return Utils.isNonNativeGetter.isNonNativeGetter(obj, propName);
             };
 
             return Obj.isNonNativeGetter(obj, propName);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firebug.git



More information about the Pkg-mozext-commits mailing list