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

Side by Side Diff: chrome/browser/ui/browser_command_controller.cc

Issue 10947019: Constrained Window Cocoa: Disable fullscreen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/browser_command_controller.h" 5 #include "chrome/browser/ui/browser_command_controller.h"
6 6
7 #include "chrome/app/chrome_command_ids.h" 7 #include "chrome/app/chrome_command_ids.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/defaults.h" 9 #include "chrome/browser/defaults.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 command_updater_.UpdateCommandEnabled( 855 command_updater_.UpdateCommandEnabled(
856 IDC_SHOW_SYNC_SETUP, profile()->GetOriginalProfile()->IsSyncAccessible()); 856 IDC_SHOW_SYNC_SETUP, profile()->GetOriginalProfile()->IsSyncAccessible());
857 857
858 // Initialize other commands based on the window type. 858 // Initialize other commands based on the window type.
859 bool normal_window = browser_->is_type_tabbed(); 859 bool normal_window = browser_->is_type_tabbed();
860 860
861 // Navigation commands 861 // Navigation commands
862 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window); 862 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window);
863 863
864 // Window management commands 864 // Window management commands
865 // TODO(rohitrao): Disable fullscreen on non-Lion?
866 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN,
867 !(browser_->is_type_panel() && browser_->is_app()));
868 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); 865 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window);
869 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, 866 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB,
870 normal_window); 867 normal_window);
871 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window); 868 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window);
872 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window); 869 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window);
873 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window); 870 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window);
874 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window); 871 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window);
875 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window); 872 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window);
876 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); 873 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window);
877 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); 874 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window);
878 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); 875 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window);
879 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); 876 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window);
880 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); 877 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window);
881 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); 878 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window);
882 #if defined(OS_WIN) 879 #if defined(OS_WIN)
883 const bool metro_mode = base::win::IsMetroProcess(); 880 const bool metro_mode = base::win::IsMetroProcess();
884 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); 881 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode);
885 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); 882 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode);
886 int restart_mode = metro_mode ? 883 int restart_mode = metro_mode ?
887 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART; 884 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART;
888 command_updater_.UpdateCommandEnabled(restart_mode, normal_window); 885 command_updater_.UpdateCommandEnabled(restart_mode, normal_window);
889 #endif 886 #endif
890 #if defined(OS_MACOSX)
891 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); 887 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window);
892 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE,
893 !(browser_->is_type_panel() && browser_->is_app()));
894 #endif
895 888
896 // Find-in-page 889 // Find-in-page
897 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); 890 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools());
898 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, 891 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT,
899 !browser_->is_devtools()); 892 !browser_->is_devtools());
900 command_updater_.UpdateCommandEnabled(IDC_FIND_PREVIOUS, 893 command_updater_.UpdateCommandEnabled(IDC_FIND_PREVIOUS,
901 !browser_->is_devtools()); 894 !browser_->is_devtools());
902 895
903 // Show various bits of UI 896 // Show various bits of UI
904 command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, normal_window); 897 command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, normal_window);
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1098 1091
1099 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui); 1092 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui);
1100 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui); 1093 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui);
1101 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); 1094 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui);
1102 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); 1095 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
1103 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) 1096 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC)
1104 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); 1097 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui);
1105 #endif 1098 #endif
1106 1099
1107 // Disable explicit fullscreen toggling when in metro snap mode. 1100 // Disable explicit fullscreen toggling when in metro snap mode.
1108 command_updater_.UpdateCommandEnabled( 1101 bool fullscreen_enabled = !browser_->is_type_panel() &&
1109 IDC_FULLSCREEN, 1102 !browser_->is_app() &&
1110 fullscreen_mode != FULLSCREEN_METRO_SNAP); 1103 fullscreen_mode != FULLSCREEN_METRO_SNAP;
1104 #if defined(OS_MACOSX)
1105 // The Mac implementation doesn't support switching to fullscreen while
1106 // a tab modal dialog is displayed.
1107 int tabIndex = browser_->tab_strip_model()->IndexOfFirstBlockedTab();
1108 bool has_blocked_tab = tabIndex != browser_->tab_strip_model()->count();
1109 fullscreen_enabled &= !has_blocked_tab;
1110 #endif
1111
1112 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN, fullscreen_enabled);
1113 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE,
1114 fullscreen_enabled);
1111 1115
1112 UpdateCommandsForBookmarkBar(); 1116 UpdateCommandsForBookmarkBar();
1113 UpdateCommandsForMultipleProfiles(); 1117 UpdateCommandsForMultipleProfiles();
1114 } 1118 }
1115 1119
1116 void BrowserCommandController::UpdateCommandsForMultipleProfiles() { 1120 void BrowserCommandController::UpdateCommandsForMultipleProfiles() {
1117 bool show_main_ui = IsShowingMainUI(window() && window()->IsFullscreen()); 1121 bool show_main_ui = IsShowingMainUI(window() && window()->IsFullscreen());
1118 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU, 1122 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU,
1119 show_main_ui && 1123 show_main_ui &&
1120 !profile()->IsOffTheRecord() && 1124 !profile()->IsOffTheRecord() &&
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 1181
1178 BrowserWindow* BrowserCommandController::window() { 1182 BrowserWindow* BrowserCommandController::window() {
1179 return browser_->window(); 1183 return browser_->window();
1180 } 1184 }
1181 1185
1182 Profile* BrowserCommandController::profile() { 1186 Profile* BrowserCommandController::profile() {
1183 return browser_->profile(); 1187 return browser_->profile();
1184 } 1188 }
1185 1189
1186 } // namespace chrome 1190 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698