| 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 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "google_apis/gaia/oauth2_token_service.h" | 40 #include "google_apis/gaia/oauth2_token_service.h" |
| 41 #include "net/base/backoff_entry.h" | 41 #include "net/base/backoff_entry.h" |
| 42 #include "sync/internal_api/public/base/model_type.h" | 42 #include "sync/internal_api/public/base/model_type.h" |
| 43 #include "sync/internal_api/public/engine/model_safe_worker.h" | 43 #include "sync/internal_api/public/engine/model_safe_worker.h" |
| 44 #include "sync/internal_api/public/sync_manager_factory.h" | 44 #include "sync/internal_api/public/sync_manager_factory.h" |
| 45 #include "sync/internal_api/public/util/experiments.h" | 45 #include "sync/internal_api/public/util/experiments.h" |
| 46 #include "sync/internal_api/public/util/unrecoverable_error_handler.h" | 46 #include "sync/internal_api/public/util/unrecoverable_error_handler.h" |
| 47 #include "sync/js/sync_js_controller.h" | 47 #include "sync/js/sync_js_controller.h" |
| 48 #include "url/gurl.h" | 48 #include "url/gurl.h" |
| 49 | 49 |
| 50 class OAuth2TokenService; | 50 class ProfileOAuth2TokenService; |
| 51 class Profile; | 51 class Profile; |
| 52 class ProfileSyncComponentsFactory; | 52 class ProfileSyncComponentsFactory; |
| 53 class SigninManagerBase; | 53 class SigninManagerBase; |
| 54 class SyncGlobalError; | 54 class SyncGlobalError; |
| 55 | 55 |
| 56 namespace browser_sync { | 56 namespace browser_sync { |
| 57 class BackendMigrator; | 57 class BackendMigrator; |
| 58 class ChangeProcessor; | 58 class ChangeProcessor; |
| 59 class DataTypeManager; | 59 class DataTypeManager; |
| 60 class DeviceInfo; | 60 class DeviceInfo; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 | 230 |
| 231 // Default sync server URL. | 231 // Default sync server URL. |
| 232 static const char* kSyncServerUrl; | 232 static const char* kSyncServerUrl; |
| 233 // Sync server URL for dev channel users | 233 // Sync server URL for dev channel users |
| 234 static const char* kDevServerUrl; | 234 static const char* kDevServerUrl; |
| 235 | 235 |
| 236 // Takes ownership of |factory|. | 236 // Takes ownership of |factory|. |
| 237 ProfileSyncService(ProfileSyncComponentsFactory* factory, | 237 ProfileSyncService(ProfileSyncComponentsFactory* factory, |
| 238 Profile* profile, | 238 Profile* profile, |
| 239 SigninManagerBase* signin, | 239 SigninManagerBase* signin, |
| 240 OAuth2TokenService* oauth2_token_service, | 240 ProfileOAuth2TokenService* oauth2_token_service, |
| 241 StartBehavior start_behavior); | 241 StartBehavior start_behavior); |
| 242 virtual ~ProfileSyncService(); | 242 virtual ~ProfileSyncService(); |
| 243 | 243 |
| 244 // Initializes the object. This must be called at most once, and | 244 // Initializes the object. This must be called at most once, and |
| 245 // immediately after an object of this class is constructed. | 245 // immediately after an object of this class is constructed. |
| 246 void Initialize(); | 246 void Initialize(); |
| 247 | 247 |
| 248 virtual void SetSyncSetupCompleted(); | 248 virtual void SetSyncSetupCompleted(); |
| 249 | 249 |
| 250 // ProfileSyncServiceBase implementation. | 250 // ProfileSyncServiceBase implementation. |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 const std::string& access_token, | 630 const std::string& access_token, |
| 631 const base::Time& expiration_time) OVERRIDE; | 631 const base::Time& expiration_time) OVERRIDE; |
| 632 virtual void OnGetTokenFailure( | 632 virtual void OnGetTokenFailure( |
| 633 const OAuth2TokenService::Request* request, | 633 const OAuth2TokenService::Request* request, |
| 634 const GoogleServiceAuthError& error) OVERRIDE; | 634 const GoogleServiceAuthError& error) OVERRIDE; |
| 635 | 635 |
| 636 // OAuth2TokenService::Observer implementation. | 636 // OAuth2TokenService::Observer implementation. |
| 637 virtual void OnRefreshTokenAvailable(const std::string& account_id) OVERRIDE; | 637 virtual void OnRefreshTokenAvailable(const std::string& account_id) OVERRIDE; |
| 638 virtual void OnRefreshTokenRevoked(const std::string& account_id) OVERRIDE; | 638 virtual void OnRefreshTokenRevoked(const std::string& account_id) OVERRIDE; |
| 639 virtual void OnRefreshTokensLoaded() OVERRIDE; | 639 virtual void OnRefreshTokensLoaded() OVERRIDE; |
| 640 virtual void OnRefreshTokensCleared() OVERRIDE; | |
| 641 | 640 |
| 642 // BrowserContextKeyedService implementation. This must be called exactly | 641 // BrowserContextKeyedService implementation. This must be called exactly |
| 643 // once (before this object is destroyed). | 642 // once (before this object is destroyed). |
| 644 virtual void Shutdown() OVERRIDE; | 643 virtual void Shutdown() OVERRIDE; |
| 645 | 644 |
| 646 // Called when a datatype (SyncableService) has a need for sync to start | 645 // Called when a datatype (SyncableService) has a need for sync to start |
| 647 // ASAP, presumably because a local change event has occurred but we're | 646 // ASAP, presumably because a local change event has occurred but we're |
| 648 // still in deferred start mode, meaning the SyncableService hasn't been | 647 // still in deferred start mode, meaning the SyncableService hasn't been |
| 649 // told to MergeDataAndStartSyncing yet. | 648 // told to MergeDataAndStartSyncing yet. |
| 650 void OnDataTypeRequestsSyncStartup(syncer::ModelType type); | 649 void OnDataTypeRequestsSyncStartup(syncer::ModelType type); |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 950 // * If sync is disabled, PSS claims ownership from backend. | 949 // * If sync is disabled, PSS claims ownership from backend. |
| 951 // * If sync is reenabled, PSS passes ownership to new backend. | 950 // * If sync is reenabled, PSS passes ownership to new backend. |
| 952 scoped_ptr<base::Thread> sync_thread_; | 951 scoped_ptr<base::Thread> sync_thread_; |
| 953 | 952 |
| 954 // Specifies whenever to use oauth2 access token or ClientLogin token in | 953 // Specifies whenever to use oauth2 access token or ClientLogin token in |
| 955 // communications with sync and xmpp servers. | 954 // communications with sync and xmpp servers. |
| 956 // TODO(pavely): Remove once android is converted to oauth2 tokens. | 955 // TODO(pavely): Remove once android is converted to oauth2 tokens. |
| 957 bool use_oauth2_token_; | 956 bool use_oauth2_token_; |
| 958 | 957 |
| 959 // ProfileSyncService uses this service to get access tokens. | 958 // ProfileSyncService uses this service to get access tokens. |
| 960 OAuth2TokenService* oauth2_token_service_; | 959 ProfileOAuth2TokenService* oauth2_token_service_; |
| 961 | 960 |
| 962 // ProfileSyncService needs to remember access token in order to invalidate it | 961 // ProfileSyncService needs to remember access token in order to invalidate it |
| 963 // with OAuth2TokenService. | 962 // with OAuth2TokenService. |
| 964 std::string access_token_; | 963 std::string access_token_; |
| 965 | 964 |
| 966 // ProfileSyncService needs to hold reference to access_token_request_ for | 965 // ProfileSyncService needs to hold reference to access_token_request_ for |
| 967 // the duration of request in order to receive callbacks. | 966 // the duration of request in order to receive callbacks. |
| 968 scoped_ptr<OAuth2TokenService::Request> access_token_request_; | 967 scoped_ptr<OAuth2TokenService::Request> access_token_request_; |
| 969 | 968 |
| 970 // If RequestAccessToken fails with transient error then retry requesting | 969 // If RequestAccessToken fails with transient error then retry requesting |
| 971 // access token with exponential backoff. | 970 // access token with exponential backoff. |
| 972 base::OneShotTimer<ProfileSyncService> request_access_token_retry_timer_; | 971 base::OneShotTimer<ProfileSyncService> request_access_token_retry_timer_; |
| 973 net::BackoffEntry request_access_token_backoff_; | 972 net::BackoffEntry request_access_token_backoff_; |
| 974 | 973 |
| 975 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); | 974 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); |
| 976 }; | 975 }; |
| 977 | 976 |
| 978 bool ShouldShowActionOnUI( | 977 bool ShouldShowActionOnUI( |
| 979 const syncer::SyncProtocolError& error); | 978 const syncer::SyncProtocolError& error); |
| 980 | 979 |
| 981 | 980 |
| 982 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 981 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| OLD | NEW |