Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1230)

Unified Diff: chrome/browser/ui/browser.cc

Issue 6913026: Compact Navigation prototype (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698