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

Unified Diff: components/sync/driver/glue/sync_backend_host_core.cc

Issue 2641523004: [Sync] Make directory types registration explicit in ModelTypeRegistry (Closed)
Patch Set: Address comments Created 3 years, 11 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: components/sync/driver/glue/sync_backend_host_core.cc
diff --git a/components/sync/driver/glue/sync_backend_host_core.cc b/components/sync/driver/glue/sync_backend_host_core.cc
index b9345444f8770a596ae2595efba5424432210e99..0751ba27135980815f9b139866e511dc56e74116 100644
--- a/components/sync/driver/glue/sync_backend_host_core.cc
+++ b/components/sync/driver/glue/sync_backend_host_core.cc
@@ -141,6 +141,16 @@ void SyncBackendHostCore::OnInitializationComplete(
ModelTypeSet new_control_types =
registrar_->ConfigureDataTypes(ControlTypes(), ModelTypeSet());
+
+ // Control types don't have DataTypeControllers, but they need to have
+ // update handlers registered in ModelTypeRegistry. Register them here.
+ ModelTypeConnector* model_type_connector =
+ sync_manager_->GetModelTypeConnector();
+ ModelTypeSet control_types = ControlTypes();
+ for (auto it = control_types.First(); it.Good(); it.Inc()) {
+ model_type_connector->RegisterDirectoryType(it.Get(), GROUP_PASSIVE);
+ }
+
ModelSafeRoutingInfo routing_info;
registrar_->GetModelSafeRoutingInfo(&routing_info);
SDVLOG(1) << "Control Types " << ModelTypeSetToString(new_control_types)
@@ -152,7 +162,7 @@ void SyncBackendHostCore::OnInitializationComplete(
sync_manager_->PurgeDisabledTypes(types_to_purge, ModelTypeSet(),
ModelTypeSet());
sync_manager_->ConfigureSyncer(
- reason, new_control_types, routing_info,
+ reason, new_control_types,
base::Bind(&SyncBackendHostCore::DoInitialProcessControlTypes,
weak_ptr_factory_.GetWeakPtr()),
base::Closure());
@@ -389,11 +399,13 @@ void SyncBackendHostCore::DoUpdateCredentials(
}
}
-void SyncBackendHostCore::DoStartSyncing(
- const ModelSafeRoutingInfo& routing_info,
- base::Time last_poll_time) {
+void SyncBackendHostCore::DoStartConfiguration() {
+ sync_manager_->StartConfiguration();
+}
+
+void SyncBackendHostCore::DoStartSyncing(base::Time last_poll_time) {
DCHECK(thread_checker_.CalledOnValidThread());
- sync_manager_->StartSyncingNormally(routing_info, last_poll_time);
+ sync_manager_->StartSyncingNormally(last_poll_time);
}
void SyncBackendHostCore::DoSetEncryptionPassphrase(
@@ -515,9 +527,6 @@ void SyncBackendHostCore::DoConfigureSyncer(
registrar_->ConfigureDataTypes(params.enabled_types, params.disabled_types);
- ModelSafeRoutingInfo routing_info;
- registrar_->GetModelSafeRoutingInfo(&routing_info);
-
base::Closure chained_ready_task(base::Bind(
&SyncBackendHostCore::DoFinishConfigureDataTypes,
weak_ptr_factory_.GetWeakPtr(), params.to_download, params.ready_task));
@@ -526,8 +535,7 @@ void SyncBackendHostCore::DoConfigureSyncer(
weak_ptr_factory_.GetWeakPtr(), params.retry_callback));
sync_manager_->ConfigureSyncer(params.reason, params.to_download,
- routing_info, chained_ready_task,
- chained_retry_task);
+ chained_ready_task, chained_retry_task);
}
void SyncBackendHostCore::DoFinishConfigureDataTypes(
« no previous file with comments | « components/sync/driver/glue/sync_backend_host_core.h ('k') | components/sync/driver/glue/sync_backend_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698