Chromium Code Reviews| Index: chrome/browser/ui/browser.cc |
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
| old mode 100644 |
| new mode 100755 |
| index 01fd4ae6ceca23e31eee5b2210ae22ab96917276..343331e9aff109591df6e317bd41282c749104d9 |
| --- a/chrome/browser/ui/browser.cc |
| +++ b/chrome/browser/ui/browser.cc |
| @@ -254,12 +254,22 @@ Browser::Browser(Type type, Profile* profile) |
| encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector, |
| profile_->GetPrefs(), NULL); |
| use_vertical_tabs_.Init(prefs::kUseVerticalTabs, profile_->GetPrefs(), this); |
| + use_compact_navigation_bar_.Init(prefs::kUseCompactNavigationBar, |
| + profile_->GetPrefs(), |
| + this); |
| if (!TabMenuModel::AreVerticalTabsEnabled()) { |
| // If vertical tabs aren't enabled, explicitly turn them off. Otherwise we |
| // might show vertical tabs but not show an option to turn them off. |
| use_vertical_tabs_.SetValue(false); |
| } |
| + if (!TabMenuModel::IsCompactNavigationBarEnabled()) { |
| + // If the compact navigation bar isn't enabled, explicitly turn it off. |
| + // Otherwise we might show the compact navigation bar but not show an option |
| + // to turn it off. |
| + use_compact_navigation_bar_.SetValue(false); |
| + } |
| + |
| UpdateTabStripModelInsertionPolicy(); |
| tab_restore_service_ = TabRestoreServiceFactory::GetForProfile(profile); |
| @@ -318,6 +328,7 @@ Browser::~Browser() { |
| encoding_auto_detect_.Destroy(); |
| use_vertical_tabs_.Destroy(); |
| + use_compact_navigation_bar_.Destroy(); |
| if (profile_->IsOffTheRecord() && |
| !BrowserList::IsOffTheRecordSessionActive()) { |
| @@ -412,6 +423,11 @@ void Browser::InitBrowserWindow() { |
| Source<Browser>(this), |
| NotificationService::NoDetails()); |
| + if (use_compact_navigation_bar_.GetValue()) { |
| + // This enables the compact navigation bar host. |
| + UseCompactNavigationBarChanged(); |
| + } |
| + |
| // Show the First Run information bubble if we've been told to. |
| PrefService* local_state = g_browser_process->local_state(); |
| if (!local_state) |
| @@ -1185,6 +1201,7 @@ void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) { |
| command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); |
| command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); |
| command_updater_.UpdateCommandEnabled(IDC_TOGGLE_VERTICAL_TABS, show_main_ui); |
| + command_updater_.UpdateCommandEnabled(IDC_COMPACT_NAVBAR, true); |
|
sky
2011/05/03 18:38:32
If IDC_COMPACT_NAVBAR is always enabled, then it s
SteveT
2011/05/06 18:48:43
Sorry - used to be true for everyone but changed t
|
| #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) |
| command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); |
| #endif |
| @@ -1222,6 +1239,10 @@ void Browser::UseVerticalTabsChanged() { |
| window()->ToggleTabStripMode(); |
| } |
| +void Browser::UseCompactNavigationBarChanged() { |
| + window_->ToggleUseCompactNavigationBar(); |
| +} |
| + |
| bool Browser::SupportsWindowFeatureImpl(WindowFeature feature, |
| bool check_fullscreen) const { |
| // On Mac, fullscreen mode has most normal things (in a slide-down panel). On |
| @@ -2087,6 +2108,7 @@ void Browser::RegisterUserPrefs(PrefService* prefs) { |
| prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); |
| prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); |
| prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); |
| + prefs->RegisterBooleanPref(prefs::kUseCompactNavigationBar, false); |
| prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); |
| prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar, true); |
| prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); |
| @@ -2209,6 +2231,7 @@ void Browser::ExecuteCommandWithDisposition( |
| case IDC_FULLSCREEN: ToggleFullscreenMode(); break; |
| case IDC_EXIT: Exit(); break; |
| case IDC_TOGGLE_VERTICAL_TABS: ToggleUseVerticalTabs(); break; |
| + case IDC_COMPACT_NAVBAR: ToggleUseCompactNavigationBar(); break; |
| #if defined(OS_CHROMEOS) |
| case IDC_SEARCH: Search(); break; |
| case IDC_SHOW_KEYBOARD_OVERLAY: ShowKeyboardOverlay(); break; |
| @@ -2684,6 +2707,11 @@ void Browser::ToggleUseVerticalTabs() { |
| UseVerticalTabsChanged(); |
| } |
| +void Browser::ToggleUseCompactNavigationBar() { |
| + use_compact_navigation_bar_.SetValue(!UseCompactNavigationBar()); |
| + UseCompactNavigationBarChanged(); |
| +} |
| + |
| bool Browser::LargeIconsPermitted() const { |
| // We don't show the big icons in tabs for TYPE_EXTENSION_APP windows because |
| // for those windows, we already have a big icon in the top-left outside any |
| @@ -3068,6 +3096,10 @@ bool Browser::UseVerticalTabs() const { |
| return use_vertical_tabs_.GetValue(); |
| } |
| +bool Browser::UseCompactNavigationBar() const { |
| + return use_compact_navigation_bar_.GetValue(); |
| +} |
| + |
| void Browser::ContentsZoomChange(bool zoom_in) { |
| ExecuteCommand(zoom_in ? IDC_ZOOM_PLUS : IDC_ZOOM_MINUS); |
| } |
| @@ -3467,6 +3499,8 @@ void Browser::Observe(NotificationType type, |
| const std::string& pref_name = *Details<std::string>(details).ptr(); |
| if (pref_name == prefs::kUseVerticalTabs) { |
| UseVerticalTabsChanged(); |
| + } else if (pref_name == prefs::kUseCompactNavigationBar) { |
| + UseCompactNavigationBarChanged(); |
| } else if (pref_name == prefs::kPrintingEnabled) { |
| UpdatePrintingState(GetContentRestrictionsForSelectedTab()); |
| } else if (pref_name == prefs::kInstantEnabled) { |