diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-04 00:06:15 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-04 00:06:15 +0000 |
commit | 43ee82166efe4fea87bb186c629a35b3a8995fe2 (patch) | |
tree | 4aaefc82b73c3e0b4af7b8fc536476afed5a6ec5 /sync | |
parent | 2238037ce16a1f6e736001813b6a05c87fe0f7a9 (diff) | |
download | chromium_src-43ee82166efe4fea87bb186c629a35b3a8995fe2.zip chromium_src-43ee82166efe4fea87bb186c629a35b3a8995fe2.tar.gz chromium_src-43ee82166efe4fea87bb186c629a35b3a8995fe2.tar.bz2 |
Add non-blocking sync code to ProfileSyncService
Adds support for non-blocking sync to the ProfileSyncService and related
classes. This continues the work of r258390 and r259921. Like those
patches, it is not expected to have any impact on behavior.
Introduces ProfileSyncService::RegisterNonBlockingType(). This function
will act as an alternative to RegisterDataTypeController().
Adds some support for these non-blocking types. Adds a special
case to the code that generates the 'type status' table on the
about:sync page.
Instantiates and copies a SyncCoreProxy object to the ProfileSyncService
as backend initialization completes. This will be an important part of
non-blocking data type initialization, once that functionality is
supported.
BUG=351005
Review URL: https://codereview.chromium.org/217183003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync')
-rw-r--r-- | sync/internal_api/public/sync_manager.h | 2 | ||||
-rw-r--r-- | sync/internal_api/public/test/fake_sync_manager.h | 2 | ||||
-rw-r--r-- | sync/internal_api/sync_manager_impl.cc | 4 | ||||
-rw-r--r-- | sync/internal_api/sync_manager_impl.h | 2 | ||||
-rw-r--r-- | sync/internal_api/test/fake_sync_manager.cc | 4 | ||||
-rw-r--r-- | sync/sessions/model_type_registry.cc | 2 |
6 files changed, 8 insertions, 8 deletions
diff --git a/sync/internal_api/public/sync_manager.h b/sync/internal_api/public/sync_manager.h index db1e188..0cdb599 100644 --- a/sync/internal_api/public/sync_manager.h +++ b/sync/internal_api/public/sync_manager.h @@ -334,7 +334,7 @@ class SYNC_EXPORT SyncManager : public syncer::InvalidationHandler { virtual UserShare* GetUserShare() = 0; // Returns an instance of the main interface for non-blocking sync types. - virtual syncer::SyncCore* GetSyncCore() = 0; + virtual base::WeakPtr<syncer::SyncCore> GetSyncCore() = 0; // Returns the cache_guid of the currently open database. // Requires that the SyncManager be initialized. diff --git a/sync/internal_api/public/test/fake_sync_manager.h b/sync/internal_api/public/test/fake_sync_manager.h index 655caef..33d619a 100644 --- a/sync/internal_api/public/test/fake_sync_manager.h +++ b/sync/internal_api/public/test/fake_sync_manager.h @@ -119,7 +119,7 @@ class FakeSyncManager : public SyncManager { virtual void SaveChanges() OVERRIDE; virtual void ShutdownOnSyncThread() OVERRIDE; virtual UserShare* GetUserShare() OVERRIDE; - virtual syncer::SyncCore* GetSyncCore() OVERRIDE; + virtual base::WeakPtr<syncer::SyncCore> GetSyncCore() OVERRIDE; virtual const std::string cache_guid() OVERRIDE; virtual bool ReceivedExperiment(Experiments* experiments) OVERRIDE; virtual bool HasUnsyncedItems() OVERRIDE; diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc index 0f30e65..0255522 100644 --- a/sync/internal_api/sync_manager_impl.cc +++ b/sync/internal_api/sync_manager_impl.cc @@ -1052,9 +1052,9 @@ UserShare* SyncManagerImpl::GetUserShare() { return &share_; } -syncer::SyncCore* SyncManagerImpl::GetSyncCore() { +base::WeakPtr<syncer::SyncCore> SyncManagerImpl::GetSyncCore() { DCHECK(initialized_); - return sync_core_.get(); + return sync_core_->AsWeakPtr(); } const std::string SyncManagerImpl::cache_guid() { diff --git a/sync/internal_api/sync_manager_impl.h b/sync/internal_api/sync_manager_impl.h index c8f9aed..7386e01 100644 --- a/sync/internal_api/sync_manager_impl.h +++ b/sync/internal_api/sync_manager_impl.h @@ -110,7 +110,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : virtual void SaveChanges() OVERRIDE; virtual void ShutdownOnSyncThread() OVERRIDE; virtual UserShare* GetUserShare() OVERRIDE; - virtual syncer::SyncCore* GetSyncCore() OVERRIDE; + virtual base::WeakPtr<syncer::SyncCore> GetSyncCore() OVERRIDE; virtual const std::string cache_guid() OVERRIDE; virtual bool ReceivedExperiment(Experiments* experiments) OVERRIDE; virtual bool HasUnsyncedItems() OVERRIDE; diff --git a/sync/internal_api/test/fake_sync_manager.cc b/sync/internal_api/test/fake_sync_manager.cc index 3fdbefa..c7dd249 100644 --- a/sync/internal_api/test/fake_sync_manager.cc +++ b/sync/internal_api/test/fake_sync_manager.cc @@ -218,8 +218,8 @@ UserShare* FakeSyncManager::GetUserShare() { return test_user_share_.user_share(); } -syncer::SyncCore* FakeSyncManager::GetSyncCore() { - return NULL; +base::WeakPtr<syncer::SyncCore> FakeSyncManager::GetSyncCore() { + return base::WeakPtr<syncer::SyncCore>(); } const std::string FakeSyncManager::cache_guid() { diff --git a/sync/sessions/model_type_registry.cc b/sync/sessions/model_type_registry.cc index f93cba3e..b9d4114 100644 --- a/sync/sessions/model_type_registry.cc +++ b/sync/sessions/model_type_registry.cc @@ -90,7 +90,7 @@ void ModelTypeRegistry::InitializeNonBlockingType( type_task_runner->PostTask( FROM_HERE, base::Bind(&NonBlockingTypeProcessor::OnConnect, - processor->AsWeakPtr(), + processor, core->AsWeakPtr(), scoped_refptr<base::SequencedTaskRunner>( base::MessageLoopProxy::current()))); |