Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7140)

Unified Diff: chrome/browser/sync/glue/sync_backend_host.h

Issue 7655055: [Sync] Make BackendMigrator not wait for full sync cycles (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix race condition Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/sync_backend_host.h
diff --git a/chrome/browser/sync/glue/sync_backend_host.h b/chrome/browser/sync/glue/sync_backend_host.h
index 5a0b0f638af4abbf0f5a731cc6ee76937ec75084..e206916c78404d0a7273dde3b5f4f62b5e55befa 100644
--- a/chrome/browser/sync/glue/sync_backend_host.h
+++ b/chrome/browser/sync/glue/sync_backend_host.h
@@ -166,9 +166,10 @@ class SyncBackendHost {
base::Callback<void(bool)> ready_task,
bool enable_nigori);
- // Makes an asynchronous call to syncer to switch to config mode. When done
- // syncer will call us back on FinishConfigureDataTypes.
- virtual void StartConfiguration(Callback0::Type* callback);
+ // Tells the syncer to switch to config mode. Calls back on
+ // FinishConfigureDataTypesOnFrontendLoop when done. Overrideable
+ // for testing.
+ virtual void StartConfiguration(bool cleanup_disabled_types);
// Encrypts the specified datatypes and marks them as needing encryption on
// other machines. This affects all machines synced to this account and all
@@ -179,6 +180,10 @@ class SyncBackendHost {
syncable::ModelTypeSet GetEncryptedDataTypes() const;
+ // Returns the set of types for which there is no sync data.
+ // Overrideable for testing.
+ virtual syncable::ModelTypeSet GetPurgedDataTypes() const;
+
// Activates change processing for the given data type. This must
// be called synchronously with the data type's model association so
// no changes are dropped between model association and change
@@ -328,7 +333,7 @@ class SyncBackendHost {
// Called on the SyncBackendHost sync_thread_ to cleanup disabled
// types.
- void DoRequestCleanupDisabledTypes();
+ void DoRequestCleanupDisabledTypes(const base::Closure& callback);
// Called on our SyncBackendHost's |sync_thread_| to set the passphrase
// on behalf of SyncBackendHost::SupplyPassphrase.
@@ -357,12 +362,13 @@ class SyncBackendHost {
void DoShutdown(bool stopping_sync);
// Posts a config request on the sync thread.
- virtual void DoRequestConfig(
+ void DoRequestConfig(
const syncable::ModelTypeBitSet& types_to_config,
sync_api::ConfigureReason reason);
- // Start the configuration mode.
- virtual void DoStartConfiguration(Callback0::Type* callback);
+ // Starts configuration mode, cleaning up disabled types if
+ // necessary. Calls back on FinishConfigureDataTypes when done.
+ void DoStartConfiguration(bool cleanup_disabled_types);
// Set the base request context to use when making HTTP calls.
// This method will add a reference to the context to persist it
@@ -523,7 +529,10 @@ class SyncBackendHost {
// to safely talk back to the SyncFrontend.
MessageLoop* const frontend_loop_;
- Profile* profile_;
+ Profile* const profile_;
+
+ // Name used for debugging (set from profile_->GetDebugName()).
+ const std::string name_;
sync_notifier::SyncNotifierFactory sync_notifier_factory_;

Powered by Google App Engine
This is Rietveld 408576698