| Index: chrome/browser/sync/profile_sync_service.cc
|
| diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
|
| index ca82c69896e3965e62c92c2cb788ff2270f5017b..8dd11b460b42b6be221c133489a75a5c6dc75065 100644
|
| --- a/chrome/browser/sync/profile_sync_service.cc
|
| +++ b/chrome/browser/sync/profile_sync_service.cc
|
| @@ -631,13 +631,6 @@ void ProfileSyncService::DisableForUser() {
|
| invalidator_storage_.Clear();
|
| ClearUnrecoverableError();
|
| ShutdownImpl(true);
|
| -
|
| - // TODO(atwilson): Don't call SignOut() on *any* platform - move this into
|
| - // the UI layer if needed (sync activity should never result in the user
|
| - // being logged out of all chrome services).
|
| - if (!auto_start_enabled_ && !signin_->GetAuthenticatedUsername().empty())
|
| - signin_->SignOut();
|
| -
|
| NotifyObservers();
|
| }
|
|
|
| @@ -944,10 +937,12 @@ void ProfileSyncService::UpdateAuthErrorState(const AuthError& error) {
|
| is_auth_in_progress_ = false;
|
| last_auth_error_ = error;
|
|
|
| - // Fan the notification out to interested UI-thread components.
|
| - NotifyObservers();
|
| + // Fan the notification out to interested UI-thread components. Notify the
|
| + // SigninGlobalError first so it reflects the latest auth state before we
|
| + // notify observers.
|
| if (signin())
|
| signin()->signin_global_error()->AuthStatusChanged();
|
| + NotifyObservers();
|
| }
|
|
|
| namespace {
|
|
|