| Index: chrome/browser/ui/browser.cc
|
| ===================================================================
|
| --- chrome/browser/ui/browser.cc (revision 98807)
|
| +++ chrome/browser/ui/browser.cc (working copy)
|
| @@ -309,6 +309,7 @@
|
| profile_pref_registrar_.Add(prefs::kDevToolsDisabled, this);
|
| profile_pref_registrar_.Add(prefs::kEditBookmarksEnabled, this);
|
| profile_pref_registrar_.Add(prefs::kEnableBookmarkBar, this);
|
| + profile_pref_registrar_.Add(prefs::kHomePage, this);
|
| profile_pref_registrar_.Add(prefs::kInstantEnabled, this);
|
| profile_pref_registrar_.Add(prefs::kIncognitoModeAvailability, this);
|
| profile_pref_registrar_.Add(prefs::kSearchSuggestEnabled, this);
|
| @@ -1454,7 +1455,8 @@
|
|
|
| void Browser::Home(WindowOpenDisposition disposition) {
|
| UserMetrics::RecordAction(UserMetricsAction("Home"));
|
| - OpenURL(GetHomePage(), GURL(), disposition, PageTransition::AUTO_BOOKMARK);
|
| + OpenURL(GetHomePage(), GURL(), disposition,
|
| + PageTransition::AUTO_BOOKMARK | PageTransition::HOME_PAGE);
|
| }
|
|
|
| void Browser::OpenCurrentURL() {
|
| @@ -2232,6 +2234,9 @@
|
| prefs->RegisterStringPref(prefs::kHomePage,
|
| chrome::kChromeUINewTabURL,
|
| PrefService::SYNCABLE_PREF);
|
| + prefs->RegisterBooleanPref(prefs::kHomePageChanged,
|
| + false,
|
| + PrefService::UNSYNCABLE_PREF);
|
| prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage,
|
| true,
|
| PrefService::SYNCABLE_PREF);
|
| @@ -3987,6 +3992,9 @@
|
| UpdateCommandsForBookmarkEditing();
|
| } else if (pref_name == prefs::kEnableBookmarkBar) {
|
| UpdateCommandsForBookmarkBar();
|
| + } else if (pref_name == prefs::kHomePage) {
|
| + PrefService* pref_service = Source<PrefService>(source).ptr();
|
| + MarkHomePageAsChanged(pref_service);
|
| } else if (pref_name == prefs::kAllowFileSelectionDialogs) {
|
| UpdateSaveAsState(GetContentRestrictionsForSelectedTab());
|
| UpdateOpenFileState();
|
| @@ -4439,6 +4447,11 @@
|
| show_main_ui);
|
| }
|
|
|
| +void Browser::MarkHomePageAsChanged(PrefService* pref_service) {
|
| + pref_service->SetBoolean(prefs::kHomePageChanged, true);
|
| + pref_service->ScheduleSavePersistentPrefs();
|
| +}
|
| +
|
| void Browser::UpdateSaveAsState(int content_restrictions) {
|
| bool enabled = !(content_restrictions & CONTENT_RESTRICTION_SAVE);
|
| PrefService* state = g_browser_process->local_state();
|
|
|