mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
const Cc = Components.classes;
|
|
const Ci = Components.interfaces;
|
|
const Cr = Components.results;
|
|
const Cu = Components.utils;
|
|
|
|
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
|
|
try {
|
|
// In the context of xpcshell tests, there won't be a default AppInfo
|
|
Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
|
|
}
|
|
catch(ex) {
|
|
|
|
// Make sure to provide the right OS so crypto loads the right binaries
|
|
let OS = "XPCShell";
|
|
if ("@mozilla.org/windows-registry-key;1" in Cc)
|
|
OS = "WINNT";
|
|
else if ("nsILocalFileMac" in Ci)
|
|
OS = "Darwin";
|
|
else
|
|
OS = "Linux";
|
|
|
|
let XULAppInfo = {
|
|
vendor: "Mozilla",
|
|
name: "XPCShell",
|
|
ID: "{3e3ba16c-1675-4e88-b9c8-afef81b3d2ef}",
|
|
version: "1",
|
|
appBuildID: "20100621",
|
|
platformVersion: "",
|
|
platformBuildID: "20100621",
|
|
inSafeMode: false,
|
|
logConsoleErrors: true,
|
|
OS: OS,
|
|
XPCOMABI: "noarch-spidermonkey",
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIXULAppInfo, Ci.nsIXULRuntime])
|
|
};
|
|
|
|
let XULAppInfoFactory = {
|
|
createInstance: function (outer, iid) {
|
|
if (outer != null)
|
|
throw Cr.NS_ERROR_NO_AGGREGATION;
|
|
return XULAppInfo.QueryInterface(iid);
|
|
}
|
|
};
|
|
|
|
let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
|
|
registrar.registerFactory(Components.ID("{fbfae60b-64a4-44ef-a911-08ceb70b9f31}"),
|
|
"XULAppInfo", "@mozilla.org/xre/app-info;1",
|
|
XULAppInfoFactory);
|
|
|
|
}
|
|
|
|
// Register resource alias. Normally done in SyncComponents.manifest.
|
|
function addResourceAlias() {
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
const resProt = Services.io.getProtocolHandler("resource")
|
|
.QueryInterface(Ci.nsIResProtocolHandler);
|
|
let uri = Services.io.newURI("resource:///modules/services-crypto/",
|
|
null, null);
|
|
resProt.setSubstitution("services-crypto", uri);
|
|
}
|
|
addResourceAlias();
|
|
|
|
/**
|
|
* Print some debug message to the console. All arguments will be printed,
|
|
* separated by spaces.
|
|
*
|
|
* @param [arg0, arg1, arg2, ...]
|
|
* Any number of arguments to print out
|
|
* @usage _("Hello World") -> prints "Hello World"
|
|
* @usage _(1, 2, 3) -> prints "1 2 3"
|
|
*/
|
|
let _ = function(some, debug, text, to) print(Array.slice(arguments).join(" "));
|