mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 17:31:47 +09:00
moebius#205: Fix: The profile - resetting (the custom profile name)
https://github.com/MoonchildProductions/moebius/pull/205
This commit is contained in:
parent
4d4535d84e
commit
6a0f3e8f3f
6 changed files with 696 additions and 28 deletions
|
|
@ -31,13 +31,19 @@ static const char kProfileProperties[] =
|
|||
* Creates a new profile with a timestamp in the name to use for profile reset.
|
||||
*/
|
||||
nsresult
|
||||
CreateResetProfile(nsIToolkitProfileService* aProfileSvc, nsIToolkitProfile* *aNewProfile)
|
||||
CreateResetProfile(nsIToolkitProfileService* aProfileSvc, const nsACString& aOldProfileName, nsIToolkitProfile* *aNewProfile)
|
||||
{
|
||||
MOZ_ASSERT(aProfileSvc, "NULL profile service");
|
||||
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
// Make the new profile "default-" + the time in seconds since epoch for uniqueness.
|
||||
nsAutoCString newProfileName("default-");
|
||||
// Make the new profile the old profile (or "default-") + the time in seconds since epoch for uniqueness.
|
||||
nsAutoCString newProfileName;
|
||||
if (!aOldProfileName.IsEmpty()) {
|
||||
newProfileName.Assign(aOldProfileName);
|
||||
newProfileName.Append("-");
|
||||
} else {
|
||||
newProfileName.Assign("default-");
|
||||
}
|
||||
newProfileName.Append(nsPrintfCString("%lld", PR_Now() / 1000));
|
||||
nsresult rv = aProfileSvc->CreateProfile(nullptr, // choose a default dir for us
|
||||
newProfileName,
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ static bool gProfileResetCleanupCompleted = false;
|
|||
static const char kResetProgressURL[] = "chrome://global/content/resetProfileProgress.xul";
|
||||
|
||||
nsresult CreateResetProfile(nsIToolkitProfileService* aProfileSvc,
|
||||
const nsACString& aOldProfileName,
|
||||
nsIToolkitProfile* *aNewProfile);
|
||||
|
||||
nsresult ProfileResetCleanup(nsIToolkitProfile* aOldProfile);
|
||||
|
|
|
|||
|
|
@ -2005,7 +2005,7 @@ SelectProfile(nsIProfileLock* *aResult, nsIToolkitProfileService* aProfileSvc, n
|
|||
if (gDoProfileReset) {
|
||||
// If we're resetting a profile, create a new one and use it to startup.
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
rv = CreateResetProfile(aProfileSvc, getter_AddRefs(newProfile));
|
||||
rv = CreateResetProfile(aProfileSvc, gResetOldProfileName, getter_AddRefs(newProfile));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
rv = newProfile->GetRootDir(getter_AddRefs(lf));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
|
@ -2151,20 +2151,20 @@ SelectProfile(nsIProfileLock* *aResult, nsIToolkitProfileService* aProfileSvc, n
|
|||
return ProfileLockedDialog(profile, unlocker, aNative, &tempProfileLock);
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
rv = CreateResetProfile(aProfileSvc, getter_AddRefs(newProfile));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_WARNING("Failed to create a profile to reset to.");
|
||||
gDoProfileReset = false;
|
||||
} else {
|
||||
nsresult gotName = profile->GetName(gResetOldProfileName);
|
||||
if (NS_SUCCEEDED(gotName)) {
|
||||
profile = newProfile;
|
||||
} else {
|
||||
NS_WARNING("Failed to get the name of the profile we're resetting, so aborting reset.");
|
||||
gResetOldProfileName.Truncate(0);
|
||||
nsresult gotName = profile->GetName(gResetOldProfileName);
|
||||
if (NS_SUCCEEDED(gotName)) {
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
rv = CreateResetProfile(aProfileSvc, gResetOldProfileName, getter_AddRefs(newProfile));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_WARNING("Failed to create a profile to reset to.");
|
||||
gDoProfileReset = false;
|
||||
} else {
|
||||
profile = newProfile;
|
||||
}
|
||||
} else {
|
||||
NS_WARNING("Failed to get the name of the profile we're resetting, so aborting reset.");
|
||||
gResetOldProfileName.Truncate(0);
|
||||
gDoProfileReset = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2259,20 +2259,22 @@ SelectProfile(nsIProfileLock* *aResult, nsIToolkitProfileService* aProfileSvc, n
|
|||
return ProfileLockedDialog(profile, unlocker, aNative, &tempProfileLock);
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
rv = CreateResetProfile(aProfileSvc, getter_AddRefs(newProfile));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_WARNING("Failed to create a profile to reset to.");
|
||||
gDoProfileReset = false;
|
||||
} else {
|
||||
nsresult gotName = profile->GetName(gResetOldProfileName);
|
||||
if (NS_SUCCEEDED(gotName)) {
|
||||
profile = newProfile;
|
||||
} else {
|
||||
NS_WARNING("Failed to get the name of the profile we're resetting, so aborting reset.");
|
||||
gResetOldProfileName.Truncate(0);
|
||||
nsresult gotName = profile->GetName(gResetOldProfileName);
|
||||
if (NS_SUCCEEDED(gotName)) {
|
||||
nsCOMPtr<nsIToolkitProfile> newProfile;
|
||||
rv = CreateResetProfile(aProfileSvc, gResetOldProfileName, getter_AddRefs(newProfile));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_WARNING("Failed to create a profile to reset to.");
|
||||
gDoProfileReset = false;
|
||||
}
|
||||
else {
|
||||
profile = newProfile;
|
||||
}
|
||||
}
|
||||
else {
|
||||
NS_WARNING("Failed to get the name of the profile we're resetting, so aborting reset.");
|
||||
gResetOldProfileName.Truncate(0);
|
||||
gDoProfileReset = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue