From 7529916efbda5763f6b5ddd9256ea46e29065281 Mon Sep 17 00:00:00 2001 From: ricea <ricea@chromium.org> Date: Wed, 19 Aug 2015 02:32:03 -0700 Subject: Revert of Delete dead signin code (SigninGlobalError) (patchset #8 id:140001 of https://codereview.chromium.org/1299543002/ ) Reason for revert: Broke the Mac10.9 Tests (dbg) bot: http://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests%20%28dbg%29/builds/10278 See the stack trace in the logs. Original issue's description: > Delete dead signin code (SigninGlobalError) > > BUG=none > > Committed: https://crrev.com/c91b178b07b0d9fb0c7a437df3a1da3db1887160 > Cr-Commit-Position: refs/heads/master@{#344176} TBR=anthonyvd@chromium.org,sky@chromium.org,rogerta@chromium.org,estade@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=none Review URL: https://codereview.chromium.org/1301583004 Cr-Commit-Position: refs/heads/master@{#344188} --- chrome/browser/ui/browser_command_controller.cc | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'chrome/browser/ui/browser_command_controller.cc') diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc index c007a8e..abb1233 100644 --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc @@ -229,6 +229,11 @@ BrowserCommandController::BrowserCommandController(Browser* browser) base::Bind(&BrowserCommandController::UpdateCommandsForFullscreenMode, base::Unretained(this))); #endif + pref_signin_allowed_.Init( + prefs::kSigninAllowed, + profile()->GetOriginalProfile()->GetPrefs(), + base::Bind(&BrowserCommandController::OnSigninAllowedPrefChange, + base::Unretained(this))); InitCommandState(); @@ -759,6 +764,9 @@ void BrowserCommandController::ExecuteCommandWithDisposition( case IDC_HELP_PAGE_VIA_MENU: ShowHelp(browser_, HELP_SOURCE_MENU); break; + case IDC_SHOW_SIGNIN: + ShowBrowserSigninOrSettings(browser_, signin_metrics::SOURCE_MENU); + break; case IDC_TOGGLE_SPEECH_INPUT: ToggleSpeechInput(browser_); break; @@ -777,6 +785,16 @@ void BrowserCommandController::ExecuteCommandWithDisposition( } } +//////////////////////////////////////////////////////////////////////////////// +// BrowserCommandController, SigninPrefObserver implementation: + +void BrowserCommandController::OnSigninAllowedPrefChange() { + // For unit tests, we don't have a window. + if (!window()) + return; + UpdateShowSyncState(IsShowingMainUI()); +} + // BrowserCommandController, TabStripModelObserver implementation: void BrowserCommandController::TabInsertedAt(WebContents* contents, @@ -966,6 +984,8 @@ void BrowserCommandController::InitCommandState() { } #endif + UpdateShowSyncState(true); + // Navigation commands command_updater_.UpdateCommandEnabled( IDC_HOME, @@ -1050,6 +1070,7 @@ void BrowserCommandController::UpdateSharedCommandsForIncognitoAvailability( command_updater->UpdateCommandEnabled(IDC_IMPORT_SETTINGS, !forced_incognito); command_updater->UpdateCommandEnabled(IDC_OPTIONS, !forced_incognito || guest_session); + command_updater->UpdateCommandEnabled(IDC_SHOW_SIGNIN, !forced_incognito); } void BrowserCommandController::UpdateCommandsForIncognitoAvailability() { @@ -1228,6 +1249,7 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { #if defined(GOOGLE_CHROME_BUILD) command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui); #endif + UpdateShowSyncState(show_main_ui); // Settings page/subpages are forced to open in normal mode. We disable these // commands for guest sessions and when incognito is forced. @@ -1277,6 +1299,11 @@ void BrowserCommandController::UpdateSaveAsState() { command_updater_.UpdateCommandEnabled(IDC_SAVE_PAGE, CanSavePage(browser_)); } +void BrowserCommandController::UpdateShowSyncState(bool show_main_ui) { + command_updater_.UpdateCommandEnabled( + IDC_SHOW_SYNC_SETUP, show_main_ui && pref_signin_allowed_.GetValue()); +} + // static void BrowserCommandController::UpdateOpenFileState( CommandUpdater* command_updater) { -- cgit v1.1