| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/profile_sync_service.h" | 5 #include "chrome/browser/sync/profile_sync_service.h" |
| 6 | 6 |
| 7 #include <cstddef> | 7 #include <cstddef> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 | 754 |
| 755 void ProfileSyncService::OnGetTokenFailure( | 755 void ProfileSyncService::OnGetTokenFailure( |
| 756 const OAuth2TokenService::Request* request, | 756 const OAuth2TokenService::Request* request, |
| 757 const GoogleServiceAuthError& error) { | 757 const GoogleServiceAuthError& error) { |
| 758 DCHECK_EQ(access_token_request_, request); | 758 DCHECK_EQ(access_token_request_, request); |
| 759 DCHECK_NE(error.state(), GoogleServiceAuthError::NONE); | 759 DCHECK_NE(error.state(), GoogleServiceAuthError::NONE); |
| 760 access_token_request_.reset(); | 760 access_token_request_.reset(); |
| 761 last_get_token_error_ = error; | 761 last_get_token_error_ = error; |
| 762 switch (error.state()) { | 762 switch (error.state()) { |
| 763 case GoogleServiceAuthError::CONNECTION_FAILED: | 763 case GoogleServiceAuthError::CONNECTION_FAILED: |
| 764 case GoogleServiceAuthError::REQUEST_CANCELED: |
| 765 case GoogleServiceAuthError::SERVICE_ERROR: |
| 764 case GoogleServiceAuthError::SERVICE_UNAVAILABLE: { | 766 case GoogleServiceAuthError::SERVICE_UNAVAILABLE: { |
| 765 // Transient error. Retry after some time. | 767 // Transient error. Retry after some time. |
| 766 request_access_token_backoff_.InformOfRequest(false); | 768 request_access_token_backoff_.InformOfRequest(false); |
| 767 next_token_request_time_ = base::Time::Now() + | 769 next_token_request_time_ = base::Time::Now() + |
| 768 request_access_token_backoff_.GetTimeUntilRelease(); | 770 request_access_token_backoff_.GetTimeUntilRelease(); |
| 769 request_access_token_retry_timer_.Start( | 771 request_access_token_retry_timer_.Start( |
| 770 FROM_HERE, | 772 FROM_HERE, |
| 771 request_access_token_backoff_.GetTimeUntilRelease(), | 773 request_access_token_backoff_.GetTimeUntilRelease(), |
| 772 base::Bind(&ProfileSyncService::RequestAccessToken, | 774 base::Bind(&ProfileSyncService::RequestAccessToken, |
| 773 weak_factory_.GetWeakPtr())); | 775 weak_factory_.GetWeakPtr())); |
| 774 NotifyObservers(); | 776 NotifyObservers(); |
| 775 break; | 777 break; |
| 776 } | 778 } |
| 777 case GoogleServiceAuthError::SERVICE_ERROR: | |
| 778 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS: { | 779 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS: { |
| 779 if (!sync_prefs_.SyncHasAuthError()) { | 780 if (!sync_prefs_.SyncHasAuthError()) { |
| 780 sync_prefs_.SetSyncAuthError(true); | 781 sync_prefs_.SetSyncAuthError(true); |
| 781 UMA_HISTOGRAM_ENUMERATION("Sync.SyncAuthError", | 782 UMA_HISTOGRAM_ENUMERATION("Sync.SyncAuthError", |
| 782 AUTH_ERROR_ENCOUNTERED, | 783 AUTH_ERROR_ENCOUNTERED, |
| 783 AUTH_ERROR_LIMIT); | 784 AUTH_ERROR_LIMIT); |
| 784 } | 785 } |
| 785 // Fallthrough. | 786 // Fallthrough. |
| 786 } | 787 } |
| 787 default: { | 788 default: { |
| 789 if (error.state() != GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS) { |
| 790 LOG(ERROR) << "Unexpected persistent error: " << error.ToString(); |
| 791 } |
| 788 // Show error to user. | 792 // Show error to user. |
| 789 UpdateAuthErrorState(error); | 793 UpdateAuthErrorState(error); |
| 790 } | 794 } |
| 791 } | 795 } |
| 792 } | 796 } |
| 793 | 797 |
| 794 void ProfileSyncService::OnRefreshTokenAvailable( | 798 void ProfileSyncService::OnRefreshTokenAvailable( |
| 795 const std::string& account_id) { | 799 const std::string& account_id) { |
| 796 if (account_id == signin_->GetAccountIdToUse()) | 800 if (account_id == signin_->GetAccountIdToUse()) |
| 797 OnRefreshTokensLoaded(); | 801 OnRefreshTokensLoaded(); |
| (...skipping 1964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2762 true)); | 2766 true)); |
| 2763 } | 2767 } |
| 2764 | 2768 |
| 2765 bool ProfileSyncService::NeedBackup() const { | 2769 bool ProfileSyncService::NeedBackup() const { |
| 2766 return need_backup_; | 2770 return need_backup_; |
| 2767 } | 2771 } |
| 2768 | 2772 |
| 2769 base::Time ProfileSyncService::GetDeviceBackupTimeForTesting() const { | 2773 base::Time ProfileSyncService::GetDeviceBackupTimeForTesting() const { |
| 2770 return backend_->GetSyncedDeviceTracker()->GetLocalDeviceBackupTime(); | 2774 return backend_->GetSyncedDeviceTracker()->GetLocalDeviceBackupTime(); |
| 2771 } | 2775 } |
| OLD | NEW |