summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-28 16:11:44 +0000
committerkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-28 16:11:44 +0000
commit7911717865f60ebb922f07d1cf45249b9717cb00 (patch)
tree3ff8130662ec4154227460cc5889ae9fa21fa203 /chrome
parent9b4453dca53380e88547252741fa907b30e01d28 (diff)
downloadchromium_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.cc9
-rw-r--r--chrome/browser/browser.h6
-rw-r--r--chrome/browser/browser_main.cc25
-rw-r--r--chrome/browser/google_url_tracker.h4
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_;