1 if(!dojo._hasResource["openils.XUL"]) {
3 dojo.provide("openils.XUL");
4 dojo.require('dojo.cookie');
5 dojo.declare('openils.XUL', null, {});
7 openils.XUL.isXUL = function() {
8 return Boolean(dojo.cookie('xul')) || Boolean(window.IAMXUL);
11 openils.XUL.buildId = function() {
12 return window.XUL_BUILD_ID || '';
15 openils.XUL.getStash = function() {
16 if(openils.XUL.isXUL()) {
18 if(openils.XUL.enableXPConnect()) {
19 var CacheClass = new Components.Constructor("@mozilla.org/openils_data_cache;1", "nsIOpenILS");
20 return new CacheClass().wrappedJSObject.OpenILS.prototype.data;
23 console.log("Error loading XUL stash: " + e);
31 * This can be used by privileged Firefox in addition to XUL.
32 * To use use in Firefox directly, set signed.applets.codebase_principal_support to true in about:config
34 openils.XUL.enableXPConnect = function() {
36 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
39 console.error("Unable to enable UniversalXPConnect privileges. " +
40 "Try setting 'signed.applets.codebase_principal_support' to true in about:config");