Use coroutine() on Zotero.init()
This commit is contained in:
parent
b22850efed
commit
0f19e5c89b
|
@ -34,7 +34,6 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
*/
|
||||
(function(){
|
||||
// Privileged (public) methods
|
||||
this.init = init;
|
||||
this.getProfileDirectory = getProfileDirectory;
|
||||
this.getStorageDirectory = getStorageDirectory;
|
||||
this.getZoteroDatabase = getZoteroDatabase;
|
||||
|
@ -142,9 +141,9 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
/**
|
||||
* Initialize the extension
|
||||
*
|
||||
* @return {Boolean|Promise:Boolean}
|
||||
* @return {Promise<Boolean>}
|
||||
*/
|
||||
function init(options) {
|
||||
this.init = Zotero.Promise.coroutine(function* (options) {
|
||||
if (this.initialized || this.skipLoading) {
|
||||
return false;
|
||||
}
|
||||
|
@ -192,11 +191,12 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
this.platformMajorVersion = parseInt(appInfo.platformVersion.match(/^[0-9]+/)[0]);
|
||||
this.isFx = true;
|
||||
this.isStandalone = Services.appinfo.ID == ZOTERO_CONFIG['GUID'];
|
||||
return Zotero.Promise.try(function () {
|
||||
|
||||
if (Zotero.isStandalone) {
|
||||
return Services.appinfo.version;
|
||||
} else {
|
||||
var deferred = Zotero.Promise.defer();
|
||||
var version = Services.appinfo.version;
|
||||
}
|
||||
else {
|
||||
let deferred = Zotero.Promise.defer();
|
||||
Components.utils.import("resource://gre/modules/AddonManager.jsm");
|
||||
AddonManager.getAddonByID(
|
||||
ZOTERO_CONFIG.GUID,
|
||||
|
@ -204,10 +204,8 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
deferred.resolve(addon.version);
|
||||
}
|
||||
);
|
||||
return deferred.promise;
|
||||
var version = yield deferred.promise;
|
||||
}
|
||||
})
|
||||
.then(function (version) {
|
||||
Zotero.version = version;
|
||||
|
||||
// OS platform
|
||||
|
@ -312,6 +310,7 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(Zotero.isStandalone) {
|
||||
Zotero.checkForUnsafeDataDirectory(dataDir.path);
|
||||
}
|
||||
|
@ -384,8 +383,7 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
|
|||
}
|
||||
|
||||
return true;
|
||||
}.bind(this));
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Triggers events when initialization finishes
|
||||
|
|
Loading…
Reference in New Issue
Block a user