shuffle around initialization code

This commit is contained in:
Simon Kornblith 2008-09-11 19:35:53 +00:00
parent d6f0dc28ef
commit 492d3a8cb2
3 changed files with 19 additions and 7 deletions

View file

@ -103,10 +103,6 @@ var Zotero_Browser = new function() {
Zotero_Browser.browserData = new Object(); Zotero_Browser.browserData = new Object();
Zotero_Browser._scrapePopupShowing = false; Zotero_Browser._scrapePopupShowing = false;
Zotero.Proxies.init();
Zotero.Ingester.MIMEHandler.init();
Zotero.Cite.MIMEHandler.init();
Zotero.Translators.init();
window.addEventListener("load", window.addEventListener("load",
function(e) { Zotero_Browser.chromeLoad(e) }, false); function(e) { Zotero_Browser.chromeLoad(e) }, false);

View file

@ -37,17 +37,21 @@ const BOMs = {
* @namespace * @namespace
*/ */
Zotero.Translators = new function() { Zotero.Translators = new function() {
var _cache = {"import":[], "export":[], "web":[], "search":[]}; var _cache, _translators;
var _translators = {};
var _initialized = false; var _initialized = false;
/** /**
* Initializes translator cache, loading all relevant translators into memory * Initializes translator cache, loading all relevant translators into memory
*/ */
this.init = function() { this.init = function() {
if(_initialized) return;
_initialized = true; _initialized = true;
var start = (new Date()).getTime()
_cache = {"import":[], "export":[], "web":[], "search":[]};
_translators = {};
var i = 0;
var contents = Zotero.getTranslatorsDirectory().directoryEntries; var contents = Zotero.getTranslatorsDirectory().directoryEntries;
while(contents.hasMoreElements()) { while(contents.hasMoreElements()) {
var file = contents.getNext().QueryInterface(Components.interfaces.nsIFile); var file = contents.getNext().QueryInterface(Components.interfaces.nsIFile);
@ -71,13 +75,17 @@ Zotero.Translators = new function() {
} }
} }
} }
i++;
} }
Zotero.debug("Cached "+i+" translators in "+((new Date()).getTime() - start)+" ms");
} }
/** /**
* Gets the translator that corresponds to a given ID * Gets the translator that corresponds to a given ID
*/ */
this.getTranslatorById = function(id) { this.getTranslatorById = function(id) {
if(!_initialized) this.init();
return _translators[id] ? _translators[id] : false; return _translators[id] ? _translators[id] : false;
} }
@ -85,6 +93,7 @@ Zotero.Translators = new function() {
* Gets all translators for a specific type of translation * Gets all translators for a specific type of translation
*/ */
this.getTranslatorsByType = function(type) { this.getTranslatorsByType = function(type) {
if(!_initialized) this.init();
return _cache[type].slice(0); return _cache[type].slice(0);
} }
} }

View file

@ -97,6 +97,8 @@ var Zotero = new function(){
return false; return false;
} }
var start = (new Date()).getTime()
// Register shutdown handler to call Zotero.shutdown() // Register shutdown handler to call Zotero.shutdown()
/* /*
var observerService = Components.classes["@mozilla.org/observer-service;1"] var observerService = Components.classes["@mozilla.org/observer-service;1"]
@ -273,7 +275,12 @@ var Zotero = new function(){
Zotero.Sync.Runner.init(); Zotero.Sync.Runner.init();
Zotero.Sync.Storage.init(); Zotero.Sync.Storage.init();
Zotero.Proxies.init();
Zotero.Ingester.MIMEHandler.init();
Zotero.Cite.MIMEHandler.init();
this.initialized = true; this.initialized = true;
Zotero.debug("Initialized in "+((new Date()).getTime() - start)+" ms");
return true; return true;
} }