| 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 COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 5 #ifndef COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| 6 #define COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 6 #define COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 #include "components/sync/base/model_type.h" | 32 #include "components/sync/base/model_type.h" |
| 33 #include "components/sync/base/sync_prefs.h" | 33 #include "components/sync/base/sync_prefs.h" |
| 34 #include "components/sync/base/unrecoverable_error_handler.h" | 34 #include "components/sync/base/unrecoverable_error_handler.h" |
| 35 #include "components/sync/device_info/local_device_info_provider.h" | 35 #include "components/sync/device_info/local_device_info_provider.h" |
| 36 #include "components/sync/driver/data_type_controller.h" | 36 #include "components/sync/driver/data_type_controller.h" |
| 37 #include "components/sync/driver/data_type_manager.h" | 37 #include "components/sync/driver/data_type_manager.h" |
| 38 #include "components/sync/driver/data_type_manager_observer.h" | 38 #include "components/sync/driver/data_type_manager_observer.h" |
| 39 #include "components/sync/driver/data_type_status_table.h" | 39 #include "components/sync/driver/data_type_status_table.h" |
| 40 #include "components/sync/driver/startup_controller.h" | 40 #include "components/sync/driver/startup_controller.h" |
| 41 #include "components/sync/driver/sync_client.h" | 41 #include "components/sync/driver/sync_client.h" |
| 42 #include "components/sync/driver/sync_service.h" | 42 #include "components/sync/driver/sync_service_base.h" |
| 43 #include "components/sync/driver/sync_stopped_reporter.h" | 43 #include "components/sync/driver/sync_stopped_reporter.h" |
| 44 #include "components/sync/engine/events/protocol_event_observer.h" | 44 #include "components/sync/engine/events/protocol_event_observer.h" |
| 45 #include "components/sync/engine/model_safe_worker.h" | 45 #include "components/sync/engine/model_safe_worker.h" |
| 46 #include "components/sync/engine/net/network_time_update_callback.h" | 46 #include "components/sync/engine/net/network_time_update_callback.h" |
| 47 #include "components/sync/engine/shutdown_reason.h" | 47 #include "components/sync/engine/shutdown_reason.h" |
| 48 #include "components/sync/engine/sync_engine.h" | 48 #include "components/sync/engine/sync_engine.h" |
| 49 #include "components/sync/engine/sync_engine_host.h" | 49 #include "components/sync/engine/sync_engine_host.h" |
| 50 #include "components/sync/engine/sync_manager_factory.h" | 50 #include "components/sync/engine/sync_manager_factory.h" |
| 51 #include "components/sync/js/sync_js_controller.h" | 51 #include "components/sync/js/sync_js_controller.h" |
| 52 #include "components/sync/syncable/user_share.h" | 52 #include "components/sync/syncable/user_share.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 // * GetSetupInProgressHandle() | 163 // * GetSetupInProgressHandle() |
| 164 // | 164 // |
| 165 // SetFirstSetupComplete() should be called once the user has finished setting | 165 // SetFirstSetupComplete() should be called once the user has finished setting |
| 166 // up sync at least once on their account. GetSetupInProgressHandle() should | 166 // up sync at least once on their account. GetSetupInProgressHandle() should |
| 167 // be called while the user is actively configuring their account. The handle | 167 // be called while the user is actively configuring their account. The handle |
| 168 // should be deleted once configuration is complete. | 168 // should be deleted once configuration is complete. |
| 169 // | 169 // |
| 170 // Once first setup has completed and there are no outstanding | 170 // Once first setup has completed and there are no outstanding |
| 171 // setup-in-progress handles, CanConfigureDataTypes() will return true and | 171 // setup-in-progress handles, CanConfigureDataTypes() will return true and |
| 172 // datatype configuration can begin. | 172 // datatype configuration can begin. |
| 173 class ProfileSyncService : public syncer::SyncService, | 173 class ProfileSyncService : public syncer::SyncServiceBase, |
| 174 public syncer::SyncEngineHost, | |
| 175 public syncer::SyncPrefObserver, | 174 public syncer::SyncPrefObserver, |
| 176 public syncer::DataTypeManagerObserver, | 175 public syncer::DataTypeManagerObserver, |
| 177 public syncer::UnrecoverableErrorHandler, | 176 public syncer::UnrecoverableErrorHandler, |
| 178 public KeyedService, | 177 public KeyedService, |
| 179 public OAuth2TokenService::Consumer, | 178 public OAuth2TokenService::Consumer, |
| 180 public OAuth2TokenService::Observer, | 179 public OAuth2TokenService::Observer, |
| 181 public SigninManagerBase::Observer, | 180 public SigninManagerBase::Observer, |
| 182 public GaiaCookieManagerService::Observer { | 181 public GaiaCookieManagerService::Observer { |
| 183 public: | 182 public: |
| 184 typedef syncer::SyncEngine::Status Status; | 183 typedef syncer::SyncEngine::Status Status; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 AUTO_START, | 224 AUTO_START, |
| 226 MANUAL_START, | 225 MANUAL_START, |
| 227 }; | 226 }; |
| 228 | 227 |
| 229 // Bundles the arguments for ProfileSyncService construction. This is a | 228 // Bundles the arguments for ProfileSyncService construction. This is a |
| 230 // movable struct. Because of the non-POD data members, it needs out-of-line | 229 // movable struct. Because of the non-POD data members, it needs out-of-line |
| 231 // constructors, so in particular the move constructor needs to be | 230 // constructors, so in particular the move constructor needs to be |
| 232 // explicitly defined. | 231 // explicitly defined. |
| 233 struct InitParams { | 232 struct InitParams { |
| 234 InitParams(); | 233 InitParams(); |
| 234 InitParams(InitParams&& other); |
| 235 ~InitParams(); | 235 ~InitParams(); |
| 236 InitParams(InitParams&& other); // NOLINT | |
| 237 | 236 |
| 238 std::unique_ptr<syncer::SyncClient> sync_client; | 237 std::unique_ptr<syncer::SyncClient> sync_client; |
| 239 std::unique_ptr<SigninManagerWrapper> signin_wrapper; | 238 std::unique_ptr<SigninManagerWrapper> signin_wrapper; |
| 240 ProfileOAuth2TokenService* oauth2_token_service = nullptr; | 239 ProfileOAuth2TokenService* oauth2_token_service = nullptr; |
| 241 GaiaCookieManagerService* gaia_cookie_manager_service = nullptr; | 240 GaiaCookieManagerService* gaia_cookie_manager_service = nullptr; |
| 242 StartBehavior start_behavior = MANUAL_START; | 241 StartBehavior start_behavior = MANUAL_START; |
| 243 syncer::NetworkTimeUpdateCallback network_time_update_callback; | 242 syncer::NetworkTimeUpdateCallback network_time_update_callback; |
| 244 base::FilePath base_directory; | 243 base::FilePath base_directory; |
| 245 scoped_refptr<net::URLRequestContextGetter> url_request_context; | 244 scoped_refptr<net::URLRequestContextGetter> url_request_context; |
| 246 std::string debug_identifier; | 245 std::string debug_identifier; |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 | 580 |
| 582 // Needed to test whether the directory is deleted properly. | 581 // Needed to test whether the directory is deleted properly. |
| 583 base::FilePath GetDirectoryPathForTest() const; | 582 base::FilePath GetDirectoryPathForTest() const; |
| 584 | 583 |
| 585 // Sometimes we need to wait for tasks on the sync thread in tests. | 584 // Sometimes we need to wait for tasks on the sync thread in tests. |
| 586 base::MessageLoop* GetSyncLoopForTest() const; | 585 base::MessageLoop* GetSyncLoopForTest() const; |
| 587 | 586 |
| 588 // Triggers sync cycle with request to update specified |types|. | 587 // Triggers sync cycle with request to update specified |types|. |
| 589 void RefreshTypesForTest(syncer::ModelTypeSet types); | 588 void RefreshTypesForTest(syncer::ModelTypeSet types); |
| 590 | 589 |
| 590 protected: |
| 591 // SyncServiceBase implementation. |
| 592 syncer::SyncCredentials GetCredentials() override; |
| 593 syncer::WeakHandle<syncer::JsEventHandler> GetJsEventHandler() override; |
| 594 syncer::SyncEngine::HttpPostProviderFactoryGetter |
| 595 MakeHttpPostProviderFactoryGetter() override; |
| 596 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> |
| 597 MoveSavedNigoriState() override; |
| 598 syncer::WeakHandle<syncer::UnrecoverableErrorHandler> |
| 599 GetUnrecoverableErrorHandler() override; |
| 600 |
| 591 private: | 601 private: |
| 592 enum UnrecoverableErrorReason { | 602 enum UnrecoverableErrorReason { |
| 593 ERROR_REASON_UNSET, | 603 ERROR_REASON_UNSET, |
| 594 ERROR_REASON_SYNCER, | 604 ERROR_REASON_SYNCER, |
| 595 ERROR_REASON_ENGINE_INIT_FAILURE, | 605 ERROR_REASON_ENGINE_INIT_FAILURE, |
| 596 ERROR_REASON_CONFIGURATION_RETRY, | 606 ERROR_REASON_CONFIGURATION_RETRY, |
| 597 ERROR_REASON_CONFIGURATION_FAILURE, | 607 ERROR_REASON_CONFIGURATION_FAILURE, |
| 598 ERROR_REASON_ACTIONABLE_ERROR, | 608 ERROR_REASON_ACTIONABLE_ERROR, |
| 599 ERROR_REASON_LIMIT | 609 ERROR_REASON_LIMIT |
| 600 }; | 610 }; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 625 friend class TestProfileSyncService; | 635 friend class TestProfileSyncService; |
| 626 | 636 |
| 627 // Helper to install and configure a data type manager. | 637 // Helper to install and configure a data type manager. |
| 628 void ConfigureDataTypeManager(); | 638 void ConfigureDataTypeManager(); |
| 629 | 639 |
| 630 // Shuts down the engine sync components. | 640 // Shuts down the engine sync components. |
| 631 // |reason| dictates if syncing is being disabled or not, and whether | 641 // |reason| dictates if syncing is being disabled or not, and whether |
| 632 // to claim ownership of sync thread from engine. | 642 // to claim ownership of sync thread from engine. |
| 633 void ShutdownImpl(syncer::ShutdownReason reason); | 643 void ShutdownImpl(syncer::ShutdownReason reason); |
| 634 | 644 |
| 635 // Return SyncCredentials from the OAuth2TokenService. | |
| 636 syncer::SyncCredentials GetCredentials(); | |
| 637 | |
| 638 virtual syncer::WeakHandle<syncer::JsEventHandler> GetJsEventHandler(); | |
| 639 | |
| 640 // Helper method for managing encryption UI. | 645 // Helper method for managing encryption UI. |
| 641 bool IsEncryptedDatatypeEnabled() const; | 646 bool IsEncryptedDatatypeEnabled() const; |
| 642 | 647 |
| 643 // Helper for OnUnrecoverableError. | 648 // Helper for OnUnrecoverableError. |
| 644 // TODO(tim): Use an enum for |delete_sync_database| here, in ShutdownImpl, | 649 // TODO(tim): Use an enum for |delete_sync_database| here, in ShutdownImpl, |
| 645 // and in SyncEngine::Shutdown. | 650 // and in SyncEngine::Shutdown. |
| 646 void OnUnrecoverableErrorImpl(const tracked_objects::Location& from_here, | 651 void OnUnrecoverableErrorImpl(const tracked_objects::Location& from_here, |
| 647 const std::string& message, | 652 const std::string& message, |
| 648 bool delete_sync_database); | 653 bool delete_sync_database); |
| 649 | 654 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 664 // This routine is invoked once the engine has started up to use the | 669 // This routine is invoked once the engine has started up to use the |
| 665 // cached passphrase and clear it out when it is done. | 670 // cached passphrase and clear it out when it is done. |
| 666 void ConsumeCachedPassphraseIfPossible(); | 671 void ConsumeCachedPassphraseIfPossible(); |
| 667 | 672 |
| 668 // RequestAccessToken initiates RPC to request downscoped access token from | 673 // RequestAccessToken initiates RPC to request downscoped access token from |
| 669 // refresh token. This happens when a new OAuth2 login token is loaded and | 674 // refresh token. This happens when a new OAuth2 login token is loaded and |
| 670 // when sync server returns AUTH_ERROR which indicates it is time to refresh | 675 // when sync server returns AUTH_ERROR which indicates it is time to refresh |
| 671 // token. | 676 // token. |
| 672 void RequestAccessToken(); | 677 void RequestAccessToken(); |
| 673 | 678 |
| 674 // Return true if engine should start from a fresh sync DB. | |
| 675 bool ShouldDeleteSyncFolder(); | |
| 676 | |
| 677 // If |delete_sync_data_folder| is true, then this method will delete all | |
| 678 // previous "Sync Data" folders. (useful if the folder is partial/corrupt). | |
| 679 void InitializeEngine(bool delete_sync_data_folder); | |
| 680 | |
| 681 // Sets the last synced time to the current time. | 679 // Sets the last synced time to the current time. |
| 682 void UpdateLastSyncedTime(); | 680 void UpdateLastSyncedTime(); |
| 683 | 681 |
| 684 void NotifyObservers(); | 682 void NotifyObservers(); |
| 685 void NotifySyncCycleCompleted(); | 683 void NotifySyncCycleCompleted(); |
| 686 void NotifyForeignSessionUpdated(); | 684 void NotifyForeignSessionUpdated(); |
| 687 | 685 |
| 688 void ClearStaleErrors(); | 686 void ClearStaleErrors(); |
| 689 | 687 |
| 690 void ClearUnrecoverableError(); | 688 void ClearUnrecoverableError(); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 763 bool CanConfigureDataTypes() const; | 761 bool CanConfigureDataTypes() const; |
| 764 | 762 |
| 765 // Called when a SetupInProgressHandle issued by this instance is destroyed. | 763 // Called when a SetupInProgressHandle issued by this instance is destroyed. |
| 766 virtual void OnSetupInProgressHandleDestroyed(); | 764 virtual void OnSetupInProgressHandleDestroyed(); |
| 767 | 765 |
| 768 // This is a cache of the last authentication response we received from the | 766 // This is a cache of the last authentication response we received from the |
| 769 // sync server. The UI queries this to display appropriate messaging to the | 767 // sync server. The UI queries this to display appropriate messaging to the |
| 770 // user. | 768 // user. |
| 771 GoogleServiceAuthError last_auth_error_; | 769 GoogleServiceAuthError last_auth_error_; |
| 772 | 770 |
| 773 // Our asynchronous engine to communicate with sync components living on | |
| 774 // other threads. | |
| 775 std::unique_ptr<syncer::SyncEngine> engine_; | |
| 776 | |
| 777 // Was the last SYNC_PASSPHRASE_REQUIRED notification sent because it | 771 // Was the last SYNC_PASSPHRASE_REQUIRED notification sent because it |
| 778 // was required for encryption, decryption with a cached passphrase, or | 772 // was required for encryption, decryption with a cached passphrase, or |
| 779 // because a new passphrase is required? | 773 // because a new passphrase is required? |
| 780 syncer::PassphraseRequiredReason passphrase_required_reason_; | 774 syncer::PassphraseRequiredReason passphrase_required_reason_; |
| 781 | 775 |
| 782 // This profile's SyncClient, which abstracts away non-Sync dependencies and | |
| 783 // the Sync API component factory. | |
| 784 std::unique_ptr<syncer::SyncClient> sync_client_; | |
| 785 | |
| 786 // The class that handles getting, setting, and persisting sync | |
| 787 // preferences. | |
| 788 syncer::SyncPrefs sync_prefs_; | |
| 789 | |
| 790 // TODO(ncarter): Put this in a profile, once there is UI for it. | 776 // TODO(ncarter): Put this in a profile, once there is UI for it. |
| 791 // This specifies where to find the sync server. | 777 // This specifies where to find the sync server. |
| 792 const GURL sync_service_url_; | 778 const GURL sync_service_url_; |
| 793 | 779 |
| 794 // The time that OnConfigureStart is called. This member is zero if | 780 // The time that OnConfigureStart is called. This member is zero if |
| 795 // OnConfigureStart has not yet been called, and is reset to zero once | 781 // OnConfigureStart has not yet been called, and is reset to zero once |
| 796 // OnConfigureDone is called. | 782 // OnConfigureDone is called. |
| 797 base::Time sync_configure_start_time_; | 783 base::Time sync_configure_start_time_; |
| 798 | 784 |
| 799 // Callback to update the network time; used for initializing the engine. | 785 // Callback to update the network time; used for initializing the engine. |
| 800 syncer::NetworkTimeUpdateCallback network_time_update_callback_; | 786 syncer::NetworkTimeUpdateCallback network_time_update_callback_; |
| 801 | 787 |
| 802 // The path to the base directory under which sync should store its | |
| 803 // information. | |
| 804 base::FilePath base_directory_; | |
| 805 | |
| 806 // The request context in which sync should operate. | 788 // The request context in which sync should operate. |
| 807 scoped_refptr<net::URLRequestContextGetter> url_request_context_; | 789 scoped_refptr<net::URLRequestContextGetter> url_request_context_; |
| 808 | 790 |
| 809 // An identifier representing this instance for debugging purposes. | |
| 810 std::string debug_identifier_; | |
| 811 | |
| 812 // The product channel of the embedder. | |
| 813 version_info::Channel channel_; | |
| 814 | |
| 815 // Threading context. | 791 // Threading context. |
| 816 base::SequencedWorkerPool* blocking_pool_; | 792 base::SequencedWorkerPool* blocking_pool_; |
| 817 | 793 |
| 818 // Indicates if this is the first time sync is being configured. This value | 794 // Indicates if this is the first time sync is being configured. This value |
| 819 // is equal to !IsFirstSetupComplete() at the time of OnEngineInitialized(). | 795 // is equal to !IsFirstSetupComplete() at the time of OnEngineInitialized(). |
| 820 bool is_first_time_sync_configure_; | 796 bool is_first_time_sync_configure_; |
| 821 | 797 |
| 822 // Number of UIs currently configuring the Sync service. When this number | 798 // Number of UIs currently configuring the Sync service. When this number |
| 823 // is decremented back to zero, Sync setup is marked no longer in progress. | 799 // is decremented back to zero, Sync setup is marked no longer in progress. |
| 824 int outstanding_setup_in_progress_handles_ = 0; | 800 int outstanding_setup_in_progress_handles_ = 0; |
| 825 | 801 |
| 826 // List of available data type controllers. | 802 // List of available data type controllers. |
| 827 syncer::DataTypeController::TypeMap data_type_controllers_; | 803 syncer::DataTypeController::TypeMap data_type_controllers_; |
| 828 | 804 |
| 829 // Whether the SyncEngine has been initialized. | 805 // Whether the SyncEngine has been initialized. |
| 830 bool engine_initialized_; | 806 bool engine_initialized_; |
| 831 | 807 |
| 832 // Set when sync receives DISABLED_BY_ADMIN error from server. Prevents | 808 // Set when sync receives DISABLED_BY_ADMIN error from server. Prevents |
| 833 // ProfileSyncService from starting engine till browser restarted or user | 809 // ProfileSyncService from starting engine till browser restarted or user |
| 834 // signed out. | 810 // signed out. |
| 835 bool sync_disabled_by_admin_; | 811 bool sync_disabled_by_admin_; |
| 836 | 812 |
| 837 // Set to true if a signin has completed but we're still waiting for the | 813 // Set to true if a signin has completed but we're still waiting for the |
| 838 // engine to refresh its credentials. | 814 // engine to refresh its credentials. |
| 839 bool is_auth_in_progress_; | 815 bool is_auth_in_progress_; |
| 840 | 816 |
| 841 // Encapsulates user signin - used to set/get the user's authenticated | |
| 842 // email address. | |
| 843 const std::unique_ptr<SigninManagerWrapper> signin_; | |
| 844 | |
| 845 // Information describing an unrecoverable error. | 817 // Information describing an unrecoverable error. |
| 846 UnrecoverableErrorReason unrecoverable_error_reason_; | 818 UnrecoverableErrorReason unrecoverable_error_reason_; |
| 847 std::string unrecoverable_error_message_; | 819 std::string unrecoverable_error_message_; |
| 848 tracked_objects::Location unrecoverable_error_location_; | 820 tracked_objects::Location unrecoverable_error_location_; |
| 849 | 821 |
| 850 // Manages the start and stop of the data types. | 822 // Manages the start and stop of the data types. |
| 851 std::unique_ptr<syncer::DataTypeManager> data_type_manager_; | 823 std::unique_ptr<syncer::DataTypeManager> data_type_manager_; |
| 852 | 824 |
| 853 base::ObserverList<syncer::SyncServiceObserver> observers_; | 825 base::ObserverList<syncer::SyncServiceObserver> observers_; |
| 854 base::ObserverList<syncer::ProtocolEventObserver> protocol_event_observers_; | 826 base::ObserverList<syncer::ProtocolEventObserver> protocol_event_observers_; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 | 871 |
| 900 syncer::DataTypeManager::ConfigureStatus configure_status_; | 872 syncer::DataTypeManager::ConfigureStatus configure_status_; |
| 901 | 873 |
| 902 // The set of currently enabled sync experiments. | 874 // The set of currently enabled sync experiments. |
| 903 syncer::Experiments current_experiments_; | 875 syncer::Experiments current_experiments_; |
| 904 | 876 |
| 905 // Sync's internal debug info listener. Used to record datatype configuration | 877 // Sync's internal debug info listener. Used to record datatype configuration |
| 906 // and association information. | 878 // and association information. |
| 907 syncer::WeakHandle<syncer::DataTypeDebugInfoListener> debug_info_listener_; | 879 syncer::WeakHandle<syncer::DataTypeDebugInfoListener> debug_info_listener_; |
| 908 | 880 |
| 909 // The thread where all the sync operations happen. This thread is kept alive | |
| 910 // until browser shutdown and reused if sync is turned off and on again. It is | |
| 911 // joined during the shutdown process, but there is an abort mechanism in | |
| 912 // place to prevent slow HTTP requests from blocking browser shutdown. | |
| 913 std::unique_ptr<base::Thread> sync_thread_; | |
| 914 | |
| 915 // ProfileSyncService uses this service to get access tokens. | 881 // ProfileSyncService uses this service to get access tokens. |
| 916 ProfileOAuth2TokenService* const oauth2_token_service_; | 882 ProfileOAuth2TokenService* const oauth2_token_service_; |
| 917 | 883 |
| 918 // ProfileSyncService needs to remember access token in order to invalidate it | 884 // ProfileSyncService needs to remember access token in order to invalidate it |
| 919 // with OAuth2TokenService. | 885 // with OAuth2TokenService. |
| 920 std::string access_token_; | 886 std::string access_token_; |
| 921 | 887 |
| 922 // ProfileSyncService needs to hold reference to access_token_request_ for | 888 // ProfileSyncService needs to hold reference to access_token_request_ for |
| 923 // the duration of request in order to receive callbacks. | 889 // the duration of request in order to receive callbacks. |
| 924 std::unique_ptr<OAuth2TokenService::Request> access_token_request_; | 890 std::unique_ptr<OAuth2TokenService::Request> access_token_request_; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 945 // Locally owned SyncableService and ModelTypeSyncBridge implementations. | 911 // Locally owned SyncableService and ModelTypeSyncBridge implementations. |
| 946 std::unique_ptr<sync_sessions::SessionsSyncManager> sessions_sync_manager_; | 912 std::unique_ptr<sync_sessions::SessionsSyncManager> sessions_sync_manager_; |
| 947 std::unique_ptr<syncer::DeviceInfoSyncService> device_info_sync_service_; | 913 std::unique_ptr<syncer::DeviceInfoSyncService> device_info_sync_service_; |
| 948 std::unique_ptr<syncer::DeviceInfoSyncBridge> device_info_service_; | 914 std::unique_ptr<syncer::DeviceInfoSyncBridge> device_info_service_; |
| 949 | 915 |
| 950 std::unique_ptr<syncer::NetworkResources> network_resources_; | 916 std::unique_ptr<syncer::NetworkResources> network_resources_; |
| 951 | 917 |
| 952 StartBehavior start_behavior_; | 918 StartBehavior start_behavior_; |
| 953 std::unique_ptr<syncer::StartupController> startup_controller_; | 919 std::unique_ptr<syncer::StartupController> startup_controller_; |
| 954 | 920 |
| 955 // The full path to the sync data directory. | |
| 956 base::FilePath directory_path_; | |
| 957 | |
| 958 std::unique_ptr<syncer::SyncStoppedReporter> sync_stopped_reporter_; | 921 std::unique_ptr<syncer::SyncStoppedReporter> sync_stopped_reporter_; |
| 959 | 922 |
| 960 // Listens for the system being under memory pressure. | 923 // Listens for the system being under memory pressure. |
| 961 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; | 924 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; |
| 962 | 925 |
| 963 // Nigori state after user switching to custom passphrase, saved until | 926 // Nigori state after user switching to custom passphrase, saved until |
| 964 // transition steps complete. It will be injected into new engine after sync | 927 // transition steps complete. It will be injected into new engine after sync |
| 965 // restart. | 928 // restart. |
| 966 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> | 929 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> |
| 967 saved_nigori_state_; | 930 saved_nigori_state_; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 992 base::WeakPtrFactory<ProfileSyncService> weak_factory_; | 955 base::WeakPtrFactory<ProfileSyncService> weak_factory_; |
| 993 | 956 |
| 994 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); | 957 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); |
| 995 }; | 958 }; |
| 996 | 959 |
| 997 bool ShouldShowActionOnUI(const syncer::SyncProtocolError& error); | 960 bool ShouldShowActionOnUI(const syncer::SyncProtocolError& error); |
| 998 | 961 |
| 999 } // namespace browser_sync | 962 } // namespace browser_sync |
| 1000 | 963 |
| 1001 #endif // COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ | 964 #endif // COMPONENTS_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ |
| OLD | NEW |