if (!fname) { fname = this.name; } else { this.name = fname; }
if (!fname) throw('Must specify a filename.');
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect UniversalPreferencesWrite UniversalBrowserWrite UniversalPreferencesRead UniversalBrowserRead UniversalFileRead");
+ var pref = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+ if (!path && pref.getBoolPref("open-ils.write_in_user_chrome_directory")) path = 'uchrome';
+ } catch(E) {
+ // getBoolPref throws an exception if "open-ils.write_in_user_chrome_directory" is not defined at all
+ // in defaults/preferences/prefs.js
+ }
+
switch(path) {
- case 'profile' :
+ case 'uchrome' :
this._file = this.dirService.get( "UChrm", Components.interfaces.nsIFile );
//this._file = this.dirService.get( "ProfD", Components.interfaces.nsIFile );
break;
- case 'chrome' :
default:
+ case 'chrome' :
this._file = this.dirService.get( "AChrom", Components.interfaces.nsIFile );
this._file.append(myPackageDir);
this._file.append("content");
return this._file;
} catch(E) {
- this.error.sdump('D_ERROR',this._file.path + '\nutil.file.get(): ' + E);
+ this.error.standard_unexpected_error_alert('error in util.file.get('+fname+','+path+')',E);
throw(E);
}
},
// This one is required for XUL Runner
pref("toolkit.defaultChromeURI", "chrome://open_ils_staff_client/content/main/main.xul");
+// This one is specific for Open-ILS
+pref("open-ils.write_in_user_chrome_directory", true);
+
// This one just makes things speedier. We use a lot of XMLHttpRequest
pref("network.http.max-persistent-connections-per-server",8);