In a following patch, all DevTools moz.build files will use DevToolsModules to install JS modules at a path that corresponds directly to their source tree location. Here we rewrite all require and import calls to match the new location that these files are installed to.
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
"use strict";
|
|
const Cc = Components.classes;
|
|
const Ci = Components.interfaces;
|
|
const Cu = Components.utils;
|
|
const Cr = Components.results;
|
|
|
|
var {require} = Cu.import("resource://gre/modules/devtools/shared/Loader.jsm");
|
|
const DevToolsUtils = require("devtools/shared/DevToolsUtils");
|
|
|
|
// Register a console listener, so console messages don't just disappear
|
|
// into the ether.
|
|
var errorCount = 0;
|
|
var listener = {
|
|
observe: function (aMessage) {
|
|
errorCount++;
|
|
try {
|
|
// If we've been given an nsIScriptError, then we can print out
|
|
// something nicely formatted, for tools like Emacs to pick up.
|
|
var scriptError = aMessage.QueryInterface(Ci.nsIScriptError);
|
|
dump(aMessage.sourceName + ":" + aMessage.lineNumber + ": " +
|
|
scriptErrorFlagsToKind(aMessage.flags) + ": " +
|
|
aMessage.errorMessage + "\n");
|
|
var string = aMessage.errorMessage;
|
|
} catch (x) {
|
|
// Be a little paranoid with message, as the whole goal here is to lose
|
|
// no information.
|
|
try {
|
|
var string = "" + aMessage.message;
|
|
} catch (x) {
|
|
var string = "<error converting error message to string>";
|
|
}
|
|
}
|
|
|
|
// Make sure we exit all nested event loops so that the test can finish.
|
|
while (DebuggerServer.xpcInspector.eventLoopNestLevel > 0) {
|
|
DebuggerServer.xpcInspector.exitNestedEventLoop();
|
|
}
|
|
do_throw("head_dbg.js got console message: " + string + "\n");
|
|
}
|
|
};
|
|
|
|
var consoleService = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService);
|
|
consoleService.registerListener(listener);
|