diff options
author | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-30 16:49:33 +0000 |
---|---|---|
committer | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-30 16:49:33 +0000 |
commit | b41eb73528870ee445e18924cac4597a70ae7cea (patch) | |
tree | d0cf21cef1775a1c730938496465a5e756d655dc /chrome | |
parent | 9a2bac2afdb93f10d6d6ef213b76f63a82dadcb3 (diff) | |
download | chromium_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.cc | 11 | ||||
-rw-r--r-- | chrome/browser/browser.h | 6 |
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); |