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

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

Issue 1301583004: Revert of Delete dead signin code (SigninGlobalError) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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
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 "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 profile_pref_registrar_.Add( 222 profile_pref_registrar_.Add(
223 prefs::kPrintingEnabled, 223 prefs::kPrintingEnabled,
224 base::Bind(&BrowserCommandController::UpdatePrintingState, 224 base::Bind(&BrowserCommandController::UpdatePrintingState,
225 base::Unretained(this))); 225 base::Unretained(this)));
226 #if !defined(OS_MACOSX) 226 #if !defined(OS_MACOSX)
227 profile_pref_registrar_.Add( 227 profile_pref_registrar_.Add(
228 prefs::kFullscreenAllowed, 228 prefs::kFullscreenAllowed,
229 base::Bind(&BrowserCommandController::UpdateCommandsForFullscreenMode, 229 base::Bind(&BrowserCommandController::UpdateCommandsForFullscreenMode,
230 base::Unretained(this))); 230 base::Unretained(this)));
231 #endif 231 #endif
232 pref_signin_allowed_.Init(
233 prefs::kSigninAllowed,
234 profile()->GetOriginalProfile()->GetPrefs(),
235 base::Bind(&BrowserCommandController::OnSigninAllowedPrefChange,
236 base::Unretained(this)));
232 237
233 InitCommandState(); 238 InitCommandState();
234 239
235 TabRestoreService* tab_restore_service = 240 TabRestoreService* tab_restore_service =
236 TabRestoreServiceFactory::GetForProfile(profile()); 241 TabRestoreServiceFactory::GetForProfile(profile());
237 if (tab_restore_service) { 242 if (tab_restore_service) {
238 tab_restore_service->AddObserver(this); 243 tab_restore_service->AddObserver(this);
239 TabRestoreServiceChanged(tab_restore_service); 244 TabRestoreServiceChanged(tab_restore_service);
240 } 245 }
241 } 246 }
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 break; 757 break;
753 case IDC_VIEW_INCOMPATIBILITIES: 758 case IDC_VIEW_INCOMPATIBILITIES:
754 ShowConflicts(browser_); 759 ShowConflicts(browser_);
755 break; 760 break;
756 case IDC_HELP_PAGE_VIA_KEYBOARD: 761 case IDC_HELP_PAGE_VIA_KEYBOARD:
757 ShowHelp(browser_, HELP_SOURCE_KEYBOARD); 762 ShowHelp(browser_, HELP_SOURCE_KEYBOARD);
758 break; 763 break;
759 case IDC_HELP_PAGE_VIA_MENU: 764 case IDC_HELP_PAGE_VIA_MENU:
760 ShowHelp(browser_, HELP_SOURCE_MENU); 765 ShowHelp(browser_, HELP_SOURCE_MENU);
761 break; 766 break;
767 case IDC_SHOW_SIGNIN:
768 ShowBrowserSigninOrSettings(browser_, signin_metrics::SOURCE_MENU);
769 break;
762 case IDC_TOGGLE_SPEECH_INPUT: 770 case IDC_TOGGLE_SPEECH_INPUT:
763 ToggleSpeechInput(browser_); 771 ToggleSpeechInput(browser_);
764 break; 772 break;
765 case IDC_DISTILL_PAGE: 773 case IDC_DISTILL_PAGE:
766 DistillCurrentPage(browser_); 774 DistillCurrentPage(browser_);
767 break; 775 break;
768 #if defined(OS_CHROMEOS) 776 #if defined(OS_CHROMEOS)
769 case IDC_TOUCH_HUD_PROJECTION_TOGGLE: 777 case IDC_TOUCH_HUD_PROJECTION_TOGGLE:
770 ash::accelerators::ToggleTouchHudProjection(); 778 ash::accelerators::ToggleTouchHudProjection();
771 break; 779 break;
772 #endif 780 #endif
773 781
774 default: 782 default:
775 LOG(WARNING) << "Received Unimplemented Command: " << id; 783 LOG(WARNING) << "Received Unimplemented Command: " << id;
776 break; 784 break;
777 } 785 }
778 } 786 }
779 787
788 ////////////////////////////////////////////////////////////////////////////////
789 // BrowserCommandController, SigninPrefObserver implementation:
790
791 void BrowserCommandController::OnSigninAllowedPrefChange() {
792 // For unit tests, we don't have a window.
793 if (!window())
794 return;
795 UpdateShowSyncState(IsShowingMainUI());
796 }
797
780 // BrowserCommandController, TabStripModelObserver implementation: 798 // BrowserCommandController, TabStripModelObserver implementation:
781 799
782 void BrowserCommandController::TabInsertedAt(WebContents* contents, 800 void BrowserCommandController::TabInsertedAt(WebContents* contents,
783 int index, 801 int index,
784 bool foreground) { 802 bool foreground) {
785 AddInterstitialObservers(contents); 803 AddInterstitialObservers(contents);
786 } 804 }
787 805
788 void BrowserCommandController::TabDetachedAt(WebContents* contents, int index) { 806 void BrowserCommandController::TabDetachedAt(WebContents* contents, int index) {
789 RemoveInterstitialObservers(contents); 807 RemoveInterstitialObservers(contents);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 command_updater_.UpdateCommandEnabled(IDC_TAKE_SCREENSHOT, true); 977 command_updater_.UpdateCommandEnabled(IDC_TAKE_SCREENSHOT, true);
960 command_updater_.UpdateCommandEnabled(IDC_TOUCH_HUD_PROJECTION_TOGGLE, true); 978 command_updater_.UpdateCommandEnabled(IDC_TOUCH_HUD_PROJECTION_TOGGLE, true);
961 #else 979 #else
962 // Chrome OS uses the system tray menu to handle multi-profiles. 980 // Chrome OS uses the system tray menu to handle multi-profiles.
963 if (normal_window && (guest_session || !profile()->IsOffTheRecord())) { 981 if (normal_window && (guest_session || !profile()->IsOffTheRecord())) {
964 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU, true); 982 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU, true);
965 command_updater_.UpdateCommandEnabled(IDC_SHOW_FAST_USER_SWITCHER, true); 983 command_updater_.UpdateCommandEnabled(IDC_SHOW_FAST_USER_SWITCHER, true);
966 } 984 }
967 #endif 985 #endif
968 986
987 UpdateShowSyncState(true);
988
969 // Navigation commands 989 // Navigation commands
970 command_updater_.UpdateCommandEnabled( 990 command_updater_.UpdateCommandEnabled(
971 IDC_HOME, 991 IDC_HOME,
972 normal_window || 992 normal_window ||
973 (extensions::util::IsNewBookmarkAppsEnabled() && browser_->is_app())); 993 (extensions::util::IsNewBookmarkAppsEnabled() && browser_->is_app()));
974 994
975 // Window management commands 995 // Window management commands
976 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); 996 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window);
977 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, 997 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB,
978 normal_window); 998 normal_window);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 extension_service && extension_service->extensions_enabled(); 1063 extension_service && extension_service->extensions_enabled();
1044 1064
1045 // Bookmark manager and settings page/subpages are forced to open in normal 1065 // Bookmark manager and settings page/subpages are forced to open in normal
1046 // mode. For this reason we disable these commands when incognito is forced. 1066 // mode. For this reason we disable these commands when incognito is forced.
1047 command_updater->UpdateCommandEnabled(IDC_MANAGE_EXTENSIONS, 1067 command_updater->UpdateCommandEnabled(IDC_MANAGE_EXTENSIONS,
1048 enable_extensions && !forced_incognito); 1068 enable_extensions && !forced_incognito);
1049 1069
1050 command_updater->UpdateCommandEnabled(IDC_IMPORT_SETTINGS, !forced_incognito); 1070 command_updater->UpdateCommandEnabled(IDC_IMPORT_SETTINGS, !forced_incognito);
1051 command_updater->UpdateCommandEnabled(IDC_OPTIONS, 1071 command_updater->UpdateCommandEnabled(IDC_OPTIONS,
1052 !forced_incognito || guest_session); 1072 !forced_incognito || guest_session);
1073 command_updater->UpdateCommandEnabled(IDC_SHOW_SIGNIN, !forced_incognito);
1053 } 1074 }
1054 1075
1055 void BrowserCommandController::UpdateCommandsForIncognitoAvailability() { 1076 void BrowserCommandController::UpdateCommandsForIncognitoAvailability() {
1056 UpdateSharedCommandsForIncognitoAvailability(&command_updater_, profile()); 1077 UpdateSharedCommandsForIncognitoAvailability(&command_updater_, profile());
1057 1078
1058 if (!IsShowingMainUI()) { 1079 if (!IsShowingMainUI()) {
1059 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, false); 1080 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, false);
1060 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, false); 1081 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, false);
1061 } 1082 }
1062 } 1083 }
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1221 command_updater_.UpdateCommandEnabled( 1242 command_updater_.UpdateCommandEnabled(
1222 IDC_FOCUS_BOOKMARKS, main_not_fullscreen); 1243 IDC_FOCUS_BOOKMARKS, main_not_fullscreen);
1223 command_updater_.UpdateCommandEnabled( 1244 command_updater_.UpdateCommandEnabled(
1224 IDC_FOCUS_INFOBARS, main_not_fullscreen); 1245 IDC_FOCUS_INFOBARS, main_not_fullscreen);
1225 1246
1226 // Show various bits of UI 1247 // Show various bits of UI
1227 command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui); 1248 command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui);
1228 #if defined(GOOGLE_CHROME_BUILD) 1249 #if defined(GOOGLE_CHROME_BUILD)
1229 command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui); 1250 command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui);
1230 #endif 1251 #endif
1252 UpdateShowSyncState(show_main_ui);
1231 1253
1232 // Settings page/subpages are forced to open in normal mode. We disable these 1254 // Settings page/subpages are forced to open in normal mode. We disable these
1233 // commands for guest sessions and when incognito is forced. 1255 // commands for guest sessions and when incognito is forced.
1234 const bool options_enabled = show_main_ui && 1256 const bool options_enabled = show_main_ui &&
1235 IncognitoModePrefs::GetAvailability( 1257 IncognitoModePrefs::GetAvailability(
1236 profile()->GetPrefs()) != IncognitoModePrefs::FORCED; 1258 profile()->GetPrefs()) != IncognitoModePrefs::FORCED;
1237 const bool guest_session = profile()->IsGuestSession(); 1259 const bool guest_session = profile()->IsGuestSession();
1238 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, options_enabled); 1260 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, options_enabled);
1239 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, 1261 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS,
1240 options_enabled && !guest_session); 1262 options_enabled && !guest_session);
(...skipping 29 matching lines...) Expand all
1270 #if defined(ENABLE_BASIC_PRINTING) 1292 #if defined(ENABLE_BASIC_PRINTING)
1271 command_updater_.UpdateCommandEnabled(IDC_BASIC_PRINT, 1293 command_updater_.UpdateCommandEnabled(IDC_BASIC_PRINT,
1272 CanBasicPrint(browser_)); 1294 CanBasicPrint(browser_));
1273 #endif // ENABLE_BASIC_PRINTING 1295 #endif // ENABLE_BASIC_PRINTING
1274 } 1296 }
1275 1297
1276 void BrowserCommandController::UpdateSaveAsState() { 1298 void BrowserCommandController::UpdateSaveAsState() {
1277 command_updater_.UpdateCommandEnabled(IDC_SAVE_PAGE, CanSavePage(browser_)); 1299 command_updater_.UpdateCommandEnabled(IDC_SAVE_PAGE, CanSavePage(browser_));
1278 } 1300 }
1279 1301
1302 void BrowserCommandController::UpdateShowSyncState(bool show_main_ui) {
1303 command_updater_.UpdateCommandEnabled(
1304 IDC_SHOW_SYNC_SETUP, show_main_ui && pref_signin_allowed_.GetValue());
1305 }
1306
1280 // static 1307 // static
1281 void BrowserCommandController::UpdateOpenFileState( 1308 void BrowserCommandController::UpdateOpenFileState(
1282 CommandUpdater* command_updater) { 1309 CommandUpdater* command_updater) {
1283 bool enabled = true; 1310 bool enabled = true;
1284 PrefService* local_state = g_browser_process->local_state(); 1311 PrefService* local_state = g_browser_process->local_state();
1285 if (local_state) 1312 if (local_state)
1286 enabled = local_state->GetBoolean(prefs::kAllowFileSelectionDialogs); 1313 enabled = local_state->GetBoolean(prefs::kAllowFileSelectionDialogs);
1287 1314
1288 command_updater->UpdateCommandEnabled(IDC_OPEN_FILE, enabled); 1315 command_updater->UpdateCommandEnabled(IDC_OPEN_FILE, enabled);
1289 } 1316 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 1361
1335 BrowserWindow* BrowserCommandController::window() { 1362 BrowserWindow* BrowserCommandController::window() {
1336 return browser_->window(); 1363 return browser_->window();
1337 } 1364 }
1338 1365
1339 Profile* BrowserCommandController::profile() { 1366 Profile* BrowserCommandController::profile() {
1340 return browser_->profile(); 1367 return browser_->profile();
1341 } 1368 }
1342 1369
1343 } // namespace chrome 1370 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_command_controller.h ('k') | chrome/browser/ui/browser_command_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698