1 dump('entering addon/autoloader.js\n');
7 JSAN.use('addon.autoloader');
8 var autoloader = new addon.autoloader({'pref':'oils.addon.autoload.list'});
13 if (typeof addon == 'undefined') addon = {};
14 addon.autoloader = function (params) {
16 dump('addon: autoloader() constructor at ' + location.href + '\n');
17 if (typeof params == 'undefined') {
18 params = { 'pref' : 'oils.addon.autoload.list' };
21 const Cc = Components.classes;
22 const Ci = Components.interfaces;
23 const prefs_Cc = '@mozilla.org/preferences-service;1';
24 this.prefs = Cc[prefs_Cc].getService(Ci['nsIPrefBranch']);
26 this._list = this.list(params);
28 this._hash = this.load( this._list, params );
33 dump('addon: Error in autoloader(): ' + E + '\n');
37 addon.autoloader.prototype = {
38 'list' : function(params) {
40 if (typeof params == 'undefined') {
44 if (this.prefs.prefHasUserValue(params.pref)) {
47 this.prefs.getCharPref(
55 list = list.concat( params.list );
59 'objects' : function() {
62 'load' : function(list,params) {
63 dump('addon: autloader load()\n');
65 for (var i = 0; i < list.length; i++) {
67 dump('addon: autloader load() -> ' + list[i] + '\n');
68 JSAN.use('addon.'+list[i]);
69 objs[list[i]] = new addon[list[i]](params);
71 dump('addon: autloader load() -> ' + list[i] + ' error: ' + E + '\n');
72 objs[list[i]] = function(e){return e;}(E);