Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5482)

Unified Diff: chrome/browser/profile_resetter/profile_resetter.cc

Issue 15654005: Reset homepage and startup pages (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixed ResetStartPage, default startup page is different on CrOS Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profile_resetter/profile_resetter.cc
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc
index 2528754e54cd862b11263556b1dcaddd7be86fc1..947bc6b9929044ab250a09afdb0e810bf57c7e34 100644
--- a/chrome/browser/profile_resetter/profile_resetter.cc
+++ b/chrome/browser/profile_resetter/profile_resetter.cc
@@ -4,7 +4,9 @@
#include "chrome/browser/profile_resetter/profile_resetter.h"
+#include "base/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/common/pref_names.h"
#include "content/public/browser/browser_thread.h"
ProfileResetter::ProfileResetter(Profile* profile)
@@ -58,6 +60,11 @@ void ProfileResetter::Reset(ProfileResetter::ResettableFlags resettable_flags,
ResetExtensions(extension_handling);
}
+ if (resettable_flags & STARTUP_PAGE) {
+ reset_triggered_for_flags |= STARTUP_PAGE;
+ ResetStartPage();
+ }
+
DCHECK_EQ(resettable_flags, reset_triggered_for_flags);
}
@@ -70,7 +77,8 @@ void ProfileResetter::MarkAsDone(Resettable resettable) {
pending_reset_flags_ &= ~resettable;
if (!pending_reset_flags_)
- callback_.Run();
+ content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
+ callback_);
}
void ProfileResetter::ResetDefaultSearchEngine() {
@@ -82,8 +90,11 @@ void ProfileResetter::ResetDefaultSearchEngine() {
void ProfileResetter::ResetHomepage() {
DCHECK(CalledOnValidThread());
- NOTIMPLEMENTED();
- // TODO(battre/vabr): Implement
+ PrefService* prefs = profile_->GetPrefs();
+ DCHECK(prefs);
+ prefs->ClearPref(prefs::kHomePageIsNewTabPage);
+ prefs->ClearPref(prefs::kHomePage);
+ prefs->ClearPref(prefs::kShowHomeButton);
MarkAsDone(HOMEPAGE);
}
@@ -107,3 +118,13 @@ void ProfileResetter::ResetExtensions(ExtensionHandling extension_handling) {
// TODO(battre/vabr): Implement
MarkAsDone(EXTENSIONS);
}
+
+void ProfileResetter::ResetStartPage() {
+ DCHECK(CalledOnValidThread());
+ PrefService* prefs = profile_->GetPrefs();
+ DCHECK(prefs);
+ prefs->ClearPref(prefs::kRestoreOnStartup);
+ prefs->ClearPref(prefs::kURLsToRestoreOnStartup);
+ prefs->SetBoolean(prefs::kRestoreOnStartupMigrated, true);
+ MarkAsDone(STARTUP_PAGE);
+}
« no previous file with comments | « chrome/browser/profile_resetter/profile_resetter.h ('k') | chrome/browser/profile_resetter/profile_resetter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698