| Index: chrome/browser/signin/signin_tracker.cc
|
| diff --git a/chrome/browser/signin/signin_tracker.cc b/chrome/browser/signin/signin_tracker.cc
|
| index 12a79c3a3c62b381d9e1a1386a14208b30eac36b..80518298292474498aaa772e0a51a3b14a471c63 100644
|
| --- a/chrome/browser/signin/signin_tracker.cc
|
| +++ b/chrome/browser/signin/signin_tracker.cc
|
| @@ -141,15 +141,11 @@ void SigninTracker::HandleServiceStateChange() {
|
| // been cleared yet).
|
| return;
|
| }
|
| - // If we haven't loaded all our service tokens yet, just exit (we'll be called
|
| - // again when another token is loaded, or will transition to SigninFailed if
|
| - // the loading fails).
|
| - if (!AreServiceTokensLoaded(profile_))
|
| - return;
|
| +
|
| if (!AreServicesSignedIn(profile_)) {
|
| state_ = WAITING_FOR_GAIA_VALIDATION;
|
| observer_->SigninFailed(service->GetAuthError());
|
| - } else if (service->sync_initialized()) {
|
| + } else if (service->sync_initialized() && AreServiceTokensLoaded(profile_)) {
|
| state_ = SIGNIN_COMPLETE;
|
| observer_->SigninSuccess();
|
| }
|
|
|