Index: sync/internal_api/sync_manager_impl.cc |
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc |
index 62c1605076537a0cdf3dc8d3ff6e15dedd95772f..7e33b1ac5c75acbb4f64b4f4ef9bb0833eb01a63 100644 |
--- a/sync/internal_api/sync_manager_impl.cc |
+++ b/sync/internal_api/sync_manager_impl.cc |
@@ -299,9 +299,9 @@ ModelTypeSet SyncManagerImpl::GetTypesWithEmptyProgressMarkerToken( |
void SyncManagerImpl::ConfigureSyncer( |
ConfigureReason reason, |
ModelTypeSet to_download, |
+ ModelTypeSet to_purge, |
ModelTypeSet to_journal, |
ModelTypeSet to_unapply, |
- ModelTypeSet to_ignore, |
const ModelSafeRoutingInfo& new_routing_info, |
const base::Closure& ready_task, |
const base::Closure& retry_task) { |
@@ -309,30 +309,18 @@ void SyncManagerImpl::ConfigureSyncer( |
DCHECK(!ready_task.is_null()); |
DCHECK(!retry_task.is_null()); |
- // Cleanup any types that might have just been disabled. |
- ModelTypeSet previous_types = ModelTypeSet::All(); |
- if (!session_context_->routing_info().empty()) |
- previous_types = GetRoutingInfoTypes(session_context_->routing_info()); |
- |
- // By removing the |to_ignore| types from the previous types, they won't be |
- // treated as disabled, and therefore won't be purged. |
- previous_types.RemoveAll(to_ignore); |
- |
DVLOG(1) << "Configuring -" |
- << "\n\t" << "types to download: " |
- << ModelTypeSetToString(to_download) |
<< "\n\t" << "current types: " |
<< ModelTypeSetToString(GetRoutingInfoTypes(new_routing_info)) |
- << "\n\t" << "previous types: " |
- << ModelTypeSetToString(previous_types) |
- << "\n\t" << "to_journal: " |
+ << "\n\t" << "types to download: " |
+ << ModelTypeSetToString(to_download) |
+ << "\n\t" << "types to purge: " |
+ << ModelTypeSetToString(to_purge) |
+ << "\n\t" << "types to journal: " |
<< ModelTypeSetToString(to_journal) |
- << "\n\t" << "to_unapply: " |
- << ModelTypeSetToString(to_unapply) |
- << "\n\t" << "to_ignore: " |
- << ModelTypeSetToString(to_ignore); |
- if (!PurgeDisabledTypes(previous_types, |
- GetRoutingInfoTypes(new_routing_info), |
+ << "\n\t" << "types to unapply: " |
+ << ModelTypeSetToString(to_unapply); |
+ if (!PurgeDisabledTypes(to_purge, |
to_journal, |
to_unapply)) { |
// We failed to cleanup the types. Invoke the ready task without actually |
@@ -601,21 +589,15 @@ bool SyncManagerImpl::PurgePartiallySyncedTypes() { |
} |
bool SyncManagerImpl::PurgeDisabledTypes( |
- ModelTypeSet previously_enabled_types, |
- ModelTypeSet currently_enabled_types, |
+ ModelTypeSet to_purge, |
ModelTypeSet to_journal, |
ModelTypeSet to_unapply) { |
- ModelTypeSet disabled_types = Difference(previously_enabled_types, |
- currently_enabled_types); |
- if (disabled_types.Empty()) |
+ if (to_purge.Empty()) |
return true; |
- DVLOG(1) << "Purging disabled types " |
- << ModelTypeSetToString(disabled_types); |
- DCHECK(disabled_types.HasAll(to_journal)); |
- DCHECK(disabled_types.HasAll(to_unapply)); |
- return directory()->PurgeEntriesWithTypeIn(disabled_types, |
- to_journal, |
- to_unapply); |
+ DVLOG(1) << "Purging disabled types " << ModelTypeSetToString(to_purge); |
+ DCHECK(to_purge.HasAll(to_journal)); |
+ DCHECK(to_purge.HasAll(to_unapply)); |
+ return directory()->PurgeEntriesWithTypeIn(to_purge, to_journal, to_unapply); |
} |
void SyncManagerImpl::UpdateCredentials(const SyncCredentials& credentials) { |