Index: chrome/browser/signin/signin_tracker.cc |
diff --git a/chrome/browser/signin/signin_tracker.cc b/chrome/browser/signin/signin_tracker.cc |
index abc4fbe6fc6b5bbd316cef9f0d84ab3a24e53cfa..3310d40b2007abe673fa786a073695fc94bd4306 100644 |
--- a/chrome/browser/signin/signin_tracker.cc |
+++ b/chrome/browser/signin/signin_tracker.cc |
@@ -130,7 +130,8 @@ void SigninTracker::HandleServiceStateChange() { |
} |
SigninManager* signin = SigninManagerFactory::GetForProfile(profile_); |
- if (signin->GetAuthenticatedUsername().empty()) { |
+ if (signin->GetAuthenticatedUsername().empty() || |
+ !signin->IsSigninAllowed()) { |
// User is signed out, trigger a signin failure. |
state_ = WAITING_FOR_GAIA_VALIDATION; |
observer_->SigninFailed( |
@@ -142,8 +143,9 @@ void SigninTracker::HandleServiceStateChange() { |
// Long term, we should separate out service auth failures from the signin |
// process, but for the current UI flow we'll validate service signin status |
// also. |
- ProfileSyncService* service = profile_->IsSyncAccessible() ? |
- ProfileSyncServiceFactory::GetForProfile(profile_) : NULL; |
+ ProfileSyncService* service = |
+ profile_->IsSyncAccessible() ? |
+ ProfileSyncServiceFactory::GetForProfile(profile_) : NULL; |
if (service && service->waiting_for_auth()) { |
// Still waiting for an auth token to come in so stay in the INITIALIZING |
// state (we do this to avoid triggering an early signin error in the case |