summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/browser_command_controller.cc
diff options
context:
space:
mode:
authorricea <ricea@chromium.org>2015-08-19 02:32:03 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-19 09:32:33 +0000
commit7529916efbda5763f6b5ddd9256ea46e29065281 (patch)
treec39c9207203d8c51cbd733fed715164bb61b23ec /chrome/browser/ui/browser_command_controller.cc
parent70660a5b9dfba4823a505ecb916eccab440bfe35 (diff)
downloadchromium_src-7529916efbda5763f6b5ddd9256ea46e29065281.zip
chromium_src-7529916efbda5763f6b5ddd9256ea46e29065281.tar.gz
chromium_src-7529916efbda5763f6b5ddd9256ea46e29065281.tar.bz2
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}
Diffstat (limited to 'chrome/browser/ui/browser_command_controller.cc')
-rw-r--r--chrome/browser/ui/browser_command_controller.cc27
1 files changed, 27 insertions, 0 deletions
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) {