/* 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 ); }