| Index: chrome/browser/sync/glue/sync_backend_host.cc
|
| diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
|
| index eb1b5ca1f531e16030aac6381f75cfaa9870dcfd..870c4d565afae6c358e421fb5a921891e89f132b 100644
|
| --- a/chrome/browser/sync/glue/sync_backend_host.cc
|
| +++ b/chrome/browser/sync/glue/sync_backend_host.cc
|
| @@ -637,9 +637,14 @@ void SyncBackendHost::ConfigureDataTypes(
|
| GetDataTypesInState(CRYPTO, config_state_map);
|
| disabled_types.PutAll(fatal_types);
|
| disabled_types.PutAll(crypto_types);
|
| + syncer::ModelTypeSet active_types =
|
| + GetDataTypesInState(CONFIGURE_ACTIVE, config_state_map);
|
| + syncer::ModelTypeSet clean_first_types =
|
| + GetDataTypesInState(CONFIGURE_CLEAN, config_state_map);
|
| syncer::ModelTypeSet types_to_download = registrar_->ConfigureDataTypes(
|
| - GetDataTypesInState(CONFIGURE_ACTIVE, config_state_map),
|
| + syncer::Union(active_types, clean_first_types),
|
| disabled_types);
|
| + types_to_download.PutAll(clean_first_types);
|
| types_to_download.RemoveAll(syncer::ProxyTypes());
|
| if (!types_to_download.Empty())
|
| types_to_download.Put(syncer::NIGORI);
|
| @@ -699,7 +704,7 @@ void SyncBackendHost::ConfigureDataTypes(
|
| types_to_download,
|
| types_to_purge,
|
| fatal_types,
|
| - crypto_types,
|
| + syncer::Union(crypto_types, clean_first_types),
|
| inactive_types,
|
| routing_info,
|
| ready_task,
|
|
|