Firefox3 でプロファイル名を得る

なんだか気色悪いが、jslib を参考に書いた物。

homeDir を return すれば、プロファイルのディレクトリパスが得られるようになる。

function getCurrentProfileName () {
  let homeDir = Cc['@mozilla.org/file/directory_service;1']
                  .getService(Ci.nsIProperties)
                  .get("ProfD", Ci.nsIFile)
                  .path;
    return homeDir.replace(/.*[\\\/]/, '').replace(/.+?\./, '');
}
alert(getCurrentProfileNaZme());

プロファイル名に "." が含まれるとおかしくなるのを修正した。(02:40)

どこかで見かけた間違ったパターン。

こちらは、"firefox -p " として指定された物を返す。
指定無しの場合は、最後に指定したものが返る?
いずれにせよ、現在のプロファイル名が得られるとは限らないので罠。

function getCurrentProfileName_Wrong () {
  return Cc['@mozilla.org/toolkit/profile-service;1']
            .getService(Ci.nsIToolkitProfileService)
            .selectedProfile
            .name;
}
alert(getCurrentProfileName_Wrong());