summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-30 16:49:33 +0000
committerkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-30 16:49:33 +0000
commitb41eb73528870ee445e18924cac4597a70ae7cea (patch)
treed0cf21cef1775a1c730938496465a5e756d655dc /chrome
parent9a2bac2afdb93f10d6d6ef213b76f63a82dadcb3 (diff)
downloadchromium_src-b41eb73528870ee445e18924cac4597a70ae7cea.zip
chromium_src-b41eb73528870ee445e18924cac4597a70ae7cea.tar.gz
chromium_src-b41eb73528870ee445e18924cac4597a70ae7cea.tar.bz2
Set new homepage preferences only if there is no existing value.
BUG=23402 TEST=On a clean install, make sure Chrome has Homepage button enabled. Use master_preferences to disable homapage button and make sure it works. Review URL: http://codereview.chromium.org/255025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27614 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser.cc11
-rw-r--r--chrome/browser/browser.h6
2 files changed, 11 insertions, 6 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index 7450df5..d340b0e 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -1282,10 +1282,13 @@ void Browser::ShowControlPanel() {
// static
void Browser::SetNewHomePagePrefs(PrefService* prefs) {
- prefs->SetString(prefs::kHomePage,
- ASCIIToWide(GoogleURLTracker::kDefaultGoogleHomepage));
- prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false);
- prefs->SetBoolean(prefs::kShowHomeButton, true);
+ if (!prefs->HasPrefPath(prefs::kHomePage))
+ prefs->SetString(prefs::kHomePage,
+ ASCIIToWide(GoogleURLTracker::kDefaultGoogleHomepage));
+ if (!prefs->HasPrefPath(prefs::kHomePageIsNewTabPage))
+ prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false);
+ if (!prefs->HasPrefPath(prefs::kShowHomeButton))
+ prefs->SetBoolean(prefs::kShowHomeButton, true);
}
// static
diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h
index 8ec5557..8e42694 100644
--- a/chrome/browser/browser.h
+++ b/chrome/browser/browser.h
@@ -408,8 +408,10 @@ class Browser : public TabStripModelDelegate,
// Sets the value of homepage related prefs to new values. Since we do not
// want to change these values for existing users, we can not change the
- // default values under RegisterUserPrefs. This method gets called during
- // First Run.
+ // default values under RegisterUserPrefs. Also if user already has an
+ // existing profile we do not want to override those preferences so we only
+ // set new values if they have not been set already. This method gets called
+ // during First Run.
static void SetNewHomePagePrefs(PrefService* prefs);
static void RegisterPrefs(PrefService* prefs);