diff options
author | haitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-25 16:22:21 +0000 |
---|---|---|
committer | haitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-25 16:22:21 +0000 |
commit | bfd87698e2430dcd86c355b5d2cb4a4485d59790 (patch) | |
tree | 58c89db9b99b9d469fa98a5df645e578936e6141 /sync/internal_api/sync_manager_impl.h | |
parent | f43fb604df45f0747c12b66b20976f0512ee1308 (diff) | |
download | chromium_src-bfd87698e2430dcd86c355b5d2cb4a4485d59790.zip chromium_src-bfd87698e2430dcd86c355b5d2cb4a4485d59790.tar.gz chromium_src-bfd87698e2430dcd86c355b5d2cb4a4485d59790.tar.bz2 |
Lock-free shutdown of profile sync service. Changes include:
* Disconnect non-frontend processor/associator to stop accessing directory
so that sync backend can be shut down without waiting.
* Change non-frontend controller so that creation/destruction of
processor/associator doesn't depend on valid controller. So
scoped wait on stopping controller can be removed.
* Move sync thread to PSS. It's created when starting first backend and
destroyed on last browser thread.
BUG=19757
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=210333
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=210955
Review URL: https://chromiumcodereview.appspot.com/16770005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/sync_manager_impl.h')
-rw-r--r-- | sync/internal_api/sync_manager_impl.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sync/internal_api/sync_manager_impl.h b/sync/internal_api/sync_manager_impl.h index 153df81..712c268 100644 --- a/sync/internal_api/sync_manager_impl.h +++ b/sync/internal_api/sync_manager_impl.h @@ -70,15 +70,15 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : bool use_ssl, scoped_ptr<HttpPostProviderFactory> post_factory, const std::vector<ModelSafeWorker*>& workers, - ExtensionsActivityMonitor* extensions_activity_monitor, + ExtensionsActivity* extensions_activity, SyncManager::ChangeDelegate* change_delegate, const SyncCredentials& credentials, const std::string& invalidator_client_id, const std::string& restored_key_for_bootstrapping, const std::string& restored_keystore_key_for_bootstrapping, - scoped_ptr<InternalComponentsFactory> internal_components_factory, + InternalComponentsFactory* internal_components_factory, Encryptor* encryptor, - UnrecoverableErrorHandler* unrecoverable_error_handler, + scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler, ReportUnrecoverableErrorFunction report_unrecoverable_error_function, bool use_oauth2_token) OVERRIDE; @@ -106,7 +106,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : virtual void RemoveObserver(SyncManager::Observer* observer) OVERRIDE; virtual SyncStatus GetDetailedStatus() const OVERRIDE; virtual void SaveChanges() OVERRIDE; - virtual void StopSyncingForShutdown(const base::Closure& callback) OVERRIDE; + virtual void StopSyncingForShutdown() OVERRIDE; virtual void ShutdownOnSyncThread() OVERRIDE; virtual UserShare* GetUserShare() OVERRIDE; virtual const std::string cache_guid() OVERRIDE; @@ -360,7 +360,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : TrafficRecorder traffic_recorder_; Encryptor* encryptor_; - UnrecoverableErrorHandler* unrecoverable_error_handler_; + scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler_; ReportUnrecoverableErrorFunction report_unrecoverable_error_function_; // Sync's encryption handler. It tracks the set of encrypted types, manages |