summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-04 00:06:15 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-04 00:06:15 +0000
commit43ee82166efe4fea87bb186c629a35b3a8995fe2 (patch)
tree4aaefc82b73c3e0b4af7b8fc536476afed5a6ec5 /sync
parent2238037ce16a1f6e736001813b6a05c87fe0f7a9 (diff)
downloadchromium_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.h2
-rw-r--r--sync/internal_api/public/test/fake_sync_manager.h2
-rw-r--r--sync/internal_api/sync_manager_impl.cc4
-rw-r--r--sync/internal_api/sync_manager_impl.h2
-rw-r--r--sync/internal_api/test/fake_sync_manager.cc4
-rw-r--r--sync/sessions/model_type_registry.cc2
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())));