diff options
author | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-28 16:11:44 +0000 |
---|---|---|
committer | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-28 16:11:44 +0000 |
commit | 7911717865f60ebb922f07d1cf45249b9717cb00 (patch) | |
tree | 3ff8130662ec4154227460cc5889ae9fa21fa203 /chrome | |
parent | 9b4453dca53380e88547252741fa907b30e01d28 (diff) | |
download | chromium_src-7911717865f60ebb922f07d1cf45249b9717cb00.zip chromium_src-7911717865f60ebb922f07d1cf45249b9717cb00.tar.gz chromium_src-7911717865f60ebb922f07d1cf45249b9717cb00.tar.bz2 |
Change default homepage experience.
We want to make google.com homepage by default and also show the home button (see the bug below).
BUG=http://crbug.com/19392
TEST=Delete user profile and launch Chrome - homepage should be set to google.com and should be enabled. also home button should show up.
Review URL: http://codereview.chromium.org/174030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24736 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/browser.cc | 9 | ||||
-rw-r--r-- | chrome/browser/browser.h | 6 | ||||
-rw-r--r-- | chrome/browser/browser_main.cc | 25 | ||||
-rw-r--r-- | chrome/browser/google_url_tracker.h | 4 |
4 files changed, 31 insertions, 13 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index 2998b9f..4acd94b 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -28,6 +28,7 @@ #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h" #include "chrome/browser/find_bar.h" #include "chrome/browser/find_bar_controller.h" +#include "chrome/browser/google_url_tracker.h" #include "chrome/browser/location_bar.h" #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/net/url_fixer_upper.h" @@ -1235,6 +1236,14 @@ 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); +} + +// static void Browser::RegisterPrefs(PrefService* prefs) { prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h index fd33740..63ccb0a 100644 --- a/chrome/browser/browser.h +++ b/chrome/browser/browser.h @@ -397,6 +397,12 @@ 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. + static void SetNewHomePagePrefs(PrefService* prefs); + static void RegisterPrefs(PrefService* prefs); static void RegisterUserPrefs(PrefService* prefs); diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc index 885a645..64cc686 100644 --- a/chrome/browser/browser_main.cc +++ b/chrome/browser/browser_main.cc @@ -639,20 +639,23 @@ int BrowserMain(const MainFunctionParams& parameters) { // Note that this be done _after_ the PrefService is initialized and all // preferences are registered, since some of the code that the importer // touches reads preferences. - if (is_first_run && !first_run_ui_bypass) { - if (!OpenFirstRunDialog(profile, homepage_defined, &process_singleton)) { - // The user cancelled the first run dialog box, we should exit Chrome. - return ResultCodes::NORMAL_EXIT; - } + if (is_first_run) { + if (!first_run_ui_bypass) { + if (!OpenFirstRunDialog(profile, homepage_defined, &process_singleton)) { + // The user cancelled the first run dialog box, we should exit Chrome. + return ResultCodes::NORMAL_EXIT; + } #if defined(OS_POSIX) - // On Windows, the download is tagged with enable/disable stats so there - // is no need for this code. + // On Windows, the download is tagged with enable/disable stats so there + // is no need for this code. - // If stats reporting was turned on by the first run dialog then toggle - // the pref. - if (GoogleUpdateSettings::GetCollectStatsConsent()) - local_state->SetBoolean(prefs::kMetricsReportingEnabled, true); + // If stats reporting was turned on by the first run dialog then toggle + // the pref. + if (GoogleUpdateSettings::GetCollectStatsConsent()) + local_state->SetBoolean(prefs::kMetricsReportingEnabled, true); #endif // OS_POSIX + } + Browser::SetNewHomePagePrefs(user_prefs); } // Sets things up so that if we crash from this point on, a dialog will diff --git a/chrome/browser/google_url_tracker.h b/chrome/browser/google_url_tracker.h index 987987d..636e44e 100644 --- a/chrome/browser/google_url_tracker.h +++ b/chrome/browser/google_url_tracker.h @@ -56,6 +56,8 @@ class GoogleURLTracker : public URLFetcher::Delegate, static void RegisterPrefs(PrefService* prefs); + static const char kDefaultGoogleHomepage[]; + private: FRIEND_TEST(GoogleURLTrackerTest, CheckAndConvertURL); @@ -88,8 +90,6 @@ class GoogleURLTracker : public URLFetcher::Delegate, const NotificationSource& source, const NotificationDetails& details); - static const char kDefaultGoogleHomepage[]; - NotificationRegistrar registrar_; GURL google_url_; ScopedRunnableMethodFactory<GoogleURLTracker> fetcher_factory_; |