mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-07 11:48:19 +02:00
Raw Cr.ERROR don't get stack information, same as throwing JS literals instead of `new Error()`s. This was done automatically with a new eslint rule that will be introduced in the next commit. One instance of a raw Cr.ERROR was not replaced since it is used in a test that specifically checks the preservation of raw Cr values in XPCJS. The rule will be disabled for that instance. Differential Revision: https://phabricator.services.mozilla.com/D28073
41 lines
1 KiB
JavaScript
41 lines
1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const XULRUNTIME_CONTRACTID = "@mozilla.org/xre/runtime;1";
|
|
const XULRUNTIME_CID = Components.ID("7685dac8-3637-4660-a544-928c5ec0e714}");
|
|
|
|
var { XPCOMUtils } = ChromeUtils.import(
|
|
"resource://gre/modules/XPCOMUtils.jsm"
|
|
);
|
|
|
|
var gAppInfo = null;
|
|
|
|
function createAppInfo(ID, name, version, platformVersion = "1.0") {
|
|
let tmp = {};
|
|
ChromeUtils.import("resource://testing-common/AppInfo.jsm", tmp);
|
|
gAppInfo = tmp.newAppInfo({
|
|
ID,
|
|
name,
|
|
version,
|
|
platformVersion,
|
|
crashReporter: true,
|
|
replacedLockTime: 0,
|
|
});
|
|
|
|
let XULAppInfoFactory = {
|
|
createInstance(outer, iid) {
|
|
if (outer != null) {
|
|
throw Components.Exception("", Cr.NS_ERROR_NO_AGGREGATION);
|
|
}
|
|
return gAppInfo.QueryInterface(iid);
|
|
},
|
|
};
|
|
|
|
let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
|
|
registrar.registerFactory(
|
|
XULRUNTIME_CID,
|
|
"XULRuntime",
|
|
XULRUNTIME_CONTRACTID,
|
|
XULAppInfoFactory
|
|
);
|
|
}
|