39 lines
990 B
JavaScript
39 lines
990 B
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.importESModule(
|
|
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
|
);
|
|
|
|
var gAppInfo = null;
|
|
|
|
function createAppInfo(ID, name, version, platformVersion = "1.0") {
|
|
let { newAppInfo } = ChromeUtils.importESModule(
|
|
"resource://testing-common/AppInfo.sys.mjs"
|
|
);
|
|
gAppInfo = newAppInfo({
|
|
ID,
|
|
name,
|
|
version,
|
|
platformVersion,
|
|
crashReporter: true,
|
|
replacedLockTime: 0,
|
|
});
|
|
|
|
let XULAppInfoFactory = {
|
|
createInstance(iid) {
|
|
return gAppInfo.QueryInterface(iid);
|
|
},
|
|
};
|
|
|
|
let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
|
|
registrar.registerFactory(
|
|
XULRUNTIME_CID,
|
|
"XULRuntime",
|
|
XULRUNTIME_CONTRACTID,
|
|
XULAppInfoFactory
|
|
);
|
|
}
|