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

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: Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/cocoa/browser_window_controller.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 832 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 command_updater_.UpdateCommandEnabled( 843 command_updater_.UpdateCommandEnabled(
844 IDC_SHOW_SYNC_SETUP, profile()->GetOriginalProfile()->IsSyncAccessible()); 844 IDC_SHOW_SYNC_SETUP, profile()->GetOriginalProfile()->IsSyncAccessible());
845 845
846 // Initialize other commands based on the window type. 846 // Initialize other commands based on the window type.
847 bool normal_window = browser_->is_type_tabbed(); 847 bool normal_window = browser_->is_type_tabbed();
848 848
849 // Navigation commands 849 // Navigation commands
850 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window); 850 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window);
851 851
852 // Window management commands 852 // Window management commands
853 // TODO(rohitrao): Disable fullscreen on non-Lion?
854 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN,
855 !(browser_->is_type_panel() && browser_->is_app()));
856 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); 853 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window);
857 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, 854 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB,
858 normal_window); 855 normal_window);
859 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window); 856 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window);
860 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window); 857 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window);
861 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window); 858 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window);
862 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window); 859 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window);
863 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window); 860 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window);
864 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); 861 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window);
865 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); 862 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window);
866 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); 863 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window);
867 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); 864 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window);
868 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); 865 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window);
869 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); 866 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window);
870 #if defined(OS_WIN) 867 #if defined(OS_WIN)
871 const bool metro_mode = base::win::IsMetroProcess(); 868 const bool metro_mode = base::win::IsMetroProcess();
872 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); 869 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode);
873 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); 870 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode);
874 int restart_mode = metro_mode ? 871 int restart_mode = metro_mode ?
875 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART; 872 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART;
876 command_updater_.UpdateCommandEnabled(restart_mode, normal_window); 873 command_updater_.UpdateCommandEnabled(restart_mode, normal_window);
877 #endif 874 #endif
878 #if defined(OS_MACOSX)
879 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); 875 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window);
880 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE,
881 !(browser_->is_type_panel() && browser_->is_app()));
882 #endif
883 876
884 // Find-in-page 877 // Find-in-page
885 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); 878 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools());
886 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, 879 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT,
887 !browser_->is_devtools()); 880 !browser_->is_devtools());
888 command_updater_.UpdateCommandEnabled(IDC_FIND_PREVIOUS, 881 command_updater_.UpdateCommandEnabled(IDC_FIND_PREVIOUS,
889 !browser_->is_devtools()); 882 !browser_->is_devtools());
890 883
891 // Show various bits of UI 884 // Show various bits of UI
892 command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, normal_window); 885 command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, normal_window);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 1080
1088 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui); 1081 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui);
1089 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui); 1082 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui);
1090 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); 1083 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui);
1091 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); 1084 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
1092 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) 1085 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC)
1093 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); 1086 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui);
1094 #endif 1087 #endif
1095 1088
1096 // Disable explicit fullscreen toggling when in metro snap mode. 1089 // Disable explicit fullscreen toggling when in metro snap mode.
1097 command_updater_.UpdateCommandEnabled( 1090 bool fullscreen_enabled = !browser_->is_type_panel() &&
1098 IDC_FULLSCREEN, 1091 !browser_->is_app() &&
1099 fullscreen_mode != FULLSCREEN_METRO_SNAP); 1092 fullscreen_mode != FULLSCREEN_METRO_SNAP;
1093 #if defined(OS_MACOSX)
1094 // The Mac implementation doesn't support switching to fullscreen while
1095 // a tab modal dialog is displayed.
1096 int tabIndex = browser_->tab_strip_model()->IndexOfFirstBlockedTab();
1097 bool has_blocked_tab = tabIndex != browser_->tab_strip_model()->count();
1098 fullscreen_enabled = fullscreen_enabled && !has_blocked_tab;
Robert Sesek 2012/11/05 21:17:32 Could use &= here
sail 2012/11/06 22:00:43 Done.
1099 #endif
1100
1101 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN, fullscreen_enabled);
1102 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE,
1103 fullscreen_enabled);
1100 1104
1101 UpdateCommandsForBookmarkBar(); 1105 UpdateCommandsForBookmarkBar();
1102 UpdateCommandsForMultipleProfiles(); 1106 UpdateCommandsForMultipleProfiles();
1103 } 1107 }
1104 1108
1105 void BrowserCommandController::UpdateCommandsForMultipleProfiles() { 1109 void BrowserCommandController::UpdateCommandsForMultipleProfiles() {
1106 bool show_main_ui = IsShowingMainUI(window() && window()->IsFullscreen()); 1110 bool show_main_ui = IsShowingMainUI(window() && window()->IsFullscreen());
1107 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU, 1111 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU,
1108 show_main_ui && 1112 show_main_ui &&
1109 !profile()->IsOffTheRecord() && 1113 !profile()->IsOffTheRecord() &&
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1166 1170
1167 BrowserWindow* BrowserCommandController::window() { 1171 BrowserWindow* BrowserCommandController::window() {
1168 return browser_->window(); 1172 return browser_->window();
1169 } 1173 }
1170 1174
1171 Profile* BrowserCommandController::profile() { 1175 Profile* BrowserCommandController::profile() {
1172 return browser_->profile(); 1176 return browser_->profile();
1173 } 1177 }
1174 1178
1175 } // namespace chrome 1179 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/cocoa/browser_window_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698