diff options
author | New Tobin Paradigm <email@mattatobin.com> | 2018-04-20 09:40:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-20 09:40:46 -0400 |
commit | 758d79f4b43438682414bc1d0348d14dc87bb396 (patch) | |
tree | aa6c4f0e4cba309789db7044964e89691581f296 | |
parent | 633cc96bcec268700dd244aa956811797d3f8208 (diff) | |
parent | 56138c585a6ea609fc5e61c64e93befa0a097c6a (diff) | |
download | UXP-758d79f4b43438682414bc1d0348d14dc87bb396.tar UXP-758d79f4b43438682414bc1d0348d14dc87bb396.tar.gz UXP-758d79f4b43438682414bc1d0348d14dc87bb396.tar.lz UXP-758d79f4b43438682414bc1d0348d14dc87bb396.tar.xz UXP-758d79f4b43438682414bc1d0348d14dc87bb396.zip |
Merge pull request #213 from janekptacijarabaci/cmd_migration_1
moebius#144: Launch command: basilisk "-migration -p" (throws an error)
-rw-r--r-- | toolkit/components/xulstore/XULStore.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/toolkit/components/xulstore/XULStore.js b/toolkit/components/xulstore/XULStore.js index c2721327c..8b5bc1313 100644 --- a/toolkit/components/xulstore/XULStore.js +++ b/toolkit/components/xulstore/XULStore.js @@ -63,11 +63,21 @@ XULStore.prototype = { load: function () { Services.obs.addObserver(this, "profile-before-change", true); - this._storeFile = Services.dirsvc.get("ProfD", Ci.nsIFile); + let profileType = "ProfD"; + try { + this._storeFile = Services.dirsvc.get(profileType, Ci.nsIFile); + } catch (ex) { + try { + profileType = "ProfDS"; + this._storeFile = Services.dirsvc.get(profileType, Ci.nsIFile); + } catch (ex) { + throw new Error("Can't find profile directory."); + } + } this._storeFile.append(STOREDB_FILENAME); if (!this._storeFile.exists()) { - this.import(); + this.import(profileType); } else { this.readFile(); } @@ -90,8 +100,8 @@ XULStore.prototype = { Services.console.logStringMessage("XULStore: " + message); }, - import: function() { - let localStoreFile = Services.dirsvc.get("ProfD", Ci.nsIFile); + import(profileType) { + let localStoreFile = Services.dirsvc.get(profileType || "ProfD", Ci.nsIFile); localStoreFile.append("localstore.rdf"); if (!localStoreFile.exists()) { |