Chromium Code Reviews| Index: chrome/browser/sync/profile_sync_service_harness.cc |
| diff --git a/chrome/browser/sync/profile_sync_service_harness.cc b/chrome/browser/sync/profile_sync_service_harness.cc |
| index 1b465a6487e6fe5449ffefda6dab5d674b9f899f..f66789d5c786a88840a1e9b03ffd2f9459566508 100644 |
| --- a/chrome/browser/sync/profile_sync_service_harness.cc |
| +++ b/chrome/browser/sync/profile_sync_service_harness.cc |
| @@ -138,10 +138,10 @@ bool ProfileSyncServiceHarness::IsSyncAlreadySetup() { |
| } |
| bool ProfileSyncServiceHarness::SetupSync() { |
| - syncable::ModelTypeSet synced_datatypes; |
| + syncable::ModelEnumSet synced_datatypes; |
| for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
| i < syncable::MODEL_TYPE_COUNT; ++i) { |
| - synced_datatypes.insert(syncable::ModelTypeFromInt(i)); |
| + synced_datatypes.Put(syncable::ModelTypeFromInt(i)); |
| } |
| bool result = SetupSync(synced_datatypes); |
| if (result == false) { |
| @@ -155,7 +155,7 @@ bool ProfileSyncServiceHarness::SetupSync() { |
| } |
| bool ProfileSyncServiceHarness::SetupSync( |
| - const syncable::ModelTypeSet& synced_datatypes) { |
| + syncable::ModelEnumSet synced_datatypes) { |
| // Initialize the sync client's profile sync service object. |
| service_ = profile_->GetProfileSyncService(""); |
| if (service_ == NULL) { |
| @@ -180,7 +180,7 @@ bool ProfileSyncServiceHarness::SetupSync( |
| // Choose the datatypes to be synced. If all datatypes are to be synced, |
| // set sync_everything to true; otherwise, set it to false. |
| - bool sync_everything = (synced_datatypes.size() == |
| + bool sync_everything = (synced_datatypes.Size() == |
| (syncable::MODEL_TYPE_COUNT - syncable::FIRST_REAL_MODEL_TYPE)); |
| service()->OnUserChoseDatatypes(sync_everything, synced_datatypes); |
| @@ -454,31 +454,18 @@ void ProfileSyncServiceHarness::OnMigrationStateChange() { |
| if (HasPendingBackendMigration()) { |
| // Merge current pending migration types into |
| // |pending_migration_types_|. |
| - syncable::ModelTypeSet new_pending_migration_types = |
| + pending_migration_types_.PutAll( |
| service()->GetBackendMigratorForTest()-> |
| - GetPendingMigrationTypesForTest(); |
| - syncable::ModelTypeSet temp; |
| - std::set_union(pending_migration_types_.begin(), |
| - pending_migration_types_.end(), |
| - new_pending_migration_types.begin(), |
| - new_pending_migration_types.end(), |
| - std::inserter(temp, temp.end())); |
| - std::swap(pending_migration_types_, temp); |
| + GetPendingMigrationTypesForTest()); |
|
Nicolas Zea
2011/12/08 01:49:37
indent by four more spaces
akalin
2011/12/09 19:10:10
Done.
|
| DVLOG(1) << profile_debug_name_ << ": new pending migration types " |
| - << syncable::ModelTypeSetToString(pending_migration_types_); |
| + << syncable::ModelEnumSetToString(pending_migration_types_); |
| } else { |
| // Merge just-finished pending migration types into |
| // |migration_types_|. |
| - syncable::ModelTypeSet temp; |
| - std::set_union(pending_migration_types_.begin(), |
| - pending_migration_types_.end(), |
| - migrated_types_.begin(), |
| - migrated_types_.end(), |
| - std::inserter(temp, temp.end())); |
| - std::swap(migrated_types_, temp); |
| - pending_migration_types_.clear(); |
| + migrated_types_.PutAll(pending_migration_types_); |
| + pending_migration_types_.Clear(); |
| DVLOG(1) << profile_debug_name_ << ": new migrated types " |
| - << syncable::ModelTypeSetToString(migrated_types_); |
| + << syncable::ModelEnumSetToString(migrated_types_); |
| } |
| RunStateChangeMachine(); |
| } |
| @@ -643,19 +630,16 @@ bool ProfileSyncServiceHarness::AwaitActionableError() { |
| } |
| bool ProfileSyncServiceHarness::AwaitMigration( |
| - const syncable::ModelTypeSet& expected_migrated_types) { |
| + syncable::ModelEnumSet expected_migrated_types) { |
| DVLOG(1) << GetClientInfoString("AwaitMigration"); |
| DVLOG(1) << profile_debug_name_ << ": waiting until migration is done for " |
| - << syncable::ModelTypeSetToString(expected_migrated_types); |
| + << syncable::ModelEnumSetToString(expected_migrated_types); |
| while (true) { |
| - bool migration_finished = |
| - std::includes(migrated_types_.begin(), migrated_types_.end(), |
| - expected_migrated_types.begin(), |
| - expected_migrated_types.end()); |
| + bool migration_finished = migrated_types_.HasAll(expected_migrated_types); |
| DVLOG(1) << "Migrated types " |
| - << syncable::ModelTypeSetToString(migrated_types_) |
| + << syncable::ModelEnumSetToString(migrated_types_) |
| << (migration_finished ? " contains " : " does not contain ") |
| - << syncable::ModelTypeSetToString(expected_migrated_types); |
| + << syncable::ModelEnumSetToString(expected_migrated_types); |
| if (migration_finished) { |
| return true; |
| } |
| @@ -845,28 +829,25 @@ bool ProfileSyncServiceHarness::MatchesOtherClient( |
| // Only look for a match if we have at least one enabled datatype in |
| // common with the partner client. |
| - syncable::ModelTypeSet types, other_types, intersection_types; |
| - service()->GetPreferredDataTypes(&types); |
| - partner->service()->GetPreferredDataTypes(&other_types); |
| - std::set_intersection(types.begin(), types.end(), other_types.begin(), |
| - other_types.end(), |
| - inserter(intersection_types, |
| - intersection_types.begin())); |
| + syncable::ModelEnumSet types, other_types, intersection_types; |
| + types = service()->GetPreferredDataTypes(); |
| + other_types = partner->service()->GetPreferredDataTypes(); |
| + intersection_types = Intersection(types, other_types); |
| DVLOG(2) << profile_debug_name_ << ", " << partner->profile_debug_name_ |
| << ": common types are " |
| - << syncable::ModelTypeSetToString(intersection_types); |
| + << syncable::ModelEnumSetToString(intersection_types); |
| - if (!intersection_types.empty() && !partner->IsFullySynced()) { |
| + if (!intersection_types.Empty() && !partner->IsFullySynced()) { |
| DVLOG(2) << "non-empty common types and " |
| << partner->profile_debug_name_ << " isn't synced"; |
| return false; |
| } |
| - for (syncable::ModelTypeSet::iterator i = intersection_types.begin(); |
| - i != intersection_types.end(); ++i) { |
| - const std::string timestamp = GetUpdatedTimestamp(*i); |
| - const std::string partner_timestamp = partner->GetUpdatedTimestamp(*i); |
| + for (syncable::ModelEnumSet::Iterator i = intersection_types.First(); |
| + i.Good(); i.Inc()) { |
| + const std::string timestamp = GetUpdatedTimestamp(i.Get()); |
| + const std::string partner_timestamp = partner->GetUpdatedTimestamp(i.Get()); |
| if (timestamp != partner_timestamp) { |
| if (VLOG_IS_ON(2)) { |
| std::string timestamp_base64, partner_timestamp_base64; |
| @@ -877,7 +858,7 @@ bool ProfileSyncServiceHarness::MatchesOtherClient( |
| partner_timestamp, &partner_timestamp_base64)) { |
| NOTREACHED(); |
| } |
| - DVLOG(2) << syncable::ModelTypeToString(*i) << ": " |
| + DVLOG(2) << syncable::ModelTypeToString(i.Get()) << ": " |
| << profile_debug_name_ << " timestamp = " |
| << timestamp_base64 << ", " |
| << partner->profile_debug_name_ |
| @@ -905,9 +886,9 @@ bool ProfileSyncServiceHarness::EnableSyncForDatatype( |
| "EnableSyncForDatatype(" |
| + std::string(syncable::ModelTypeToString(datatype)) + ")"); |
| - syncable::ModelTypeSet synced_datatypes; |
| + syncable::ModelEnumSet synced_datatypes; |
| if (wait_state_ == SYNC_DISABLED) { |
| - synced_datatypes.insert(datatype); |
| + synced_datatypes.Put(datatype); |
| return SetupSync(synced_datatypes); |
| } |
| @@ -916,16 +897,15 @@ bool ProfileSyncServiceHarness::EnableSyncForDatatype( |
| return false; |
| } |
| - service()->GetPreferredDataTypes(&synced_datatypes); |
| - syncable::ModelTypeSet::iterator it = synced_datatypes.find(datatype); |
| - if (it != synced_datatypes.end()) { |
| + synced_datatypes = service()->GetPreferredDataTypes(); |
| + if (synced_datatypes.Has(datatype)) { |
| DVLOG(1) << "EnableSyncForDatatype(): Sync already enabled for datatype " |
| << syncable::ModelTypeToString(datatype) |
| << " on " << profile_debug_name_ << "."; |
| return true; |
| } |
| - synced_datatypes.insert(syncable::ModelTypeFromInt(datatype)); |
| + synced_datatypes.Put(syncable::ModelTypeFromInt(datatype)); |
| service()->OnUserChoseDatatypes(false, synced_datatypes); |
| if (AwaitFullSyncCompletion("Datatype configuration.")) { |
| DVLOG(1) << "EnableSyncForDatatype(): Enabled sync for datatype " |
| @@ -944,22 +924,21 @@ bool ProfileSyncServiceHarness::DisableSyncForDatatype( |
| "DisableSyncForDatatype(" |
| + std::string(syncable::ModelTypeToString(datatype)) + ")"); |
| - syncable::ModelTypeSet synced_datatypes; |
| + syncable::ModelEnumSet synced_datatypes; |
| if (service() == NULL) { |
| LOG(ERROR) << "DisableSyncForDatatype(): service() is null."; |
| return false; |
| } |
| - service()->GetPreferredDataTypes(&synced_datatypes); |
| - syncable::ModelTypeSet::iterator it = synced_datatypes.find(datatype); |
| - if (it == synced_datatypes.end()) { |
| + synced_datatypes = service()->GetPreferredDataTypes(); |
| + if (synced_datatypes.Has(datatype)) { |
| DVLOG(1) << "DisableSyncForDatatype(): Sync already disabled for datatype " |
| << syncable::ModelTypeToString(datatype) |
| << " on " << profile_debug_name_ << "."; |
| return true; |
| } |
| - synced_datatypes.erase(it); |
| + synced_datatypes.Remove(datatype); |
| service()->OnUserChoseDatatypes(false, synced_datatypes); |
| if (AwaitFullSyncCompletion("Datatype reconfiguration.")) { |
| DVLOG(1) << "DisableSyncForDatatype(): Disabled sync for datatype " |
| @@ -984,11 +963,11 @@ bool ProfileSyncServiceHarness::EnableSyncForAllDatatypes() { |
| return false; |
| } |
| - syncable::ModelTypeSet synced_datatypes; |
| + syncable::ModelEnumSet synced_datatypes; |
| for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
| i < syncable::MODEL_TYPE_COUNT; |
| ++i) { |
| - synced_datatypes.insert(syncable::ModelTypeFromInt(i)); |
| + synced_datatypes.Put(syncable::ModelTypeFromInt(i)); |
| } |
| service()->OnUserChoseDatatypes(true, synced_datatypes); |
| if (AwaitFullSyncCompletion("Datatype reconfiguration.")) { |
| @@ -1066,17 +1045,17 @@ std::string ProfileSyncServiceHarness::GetClientInfoString( |
| // encryption for individual types but for all. |
| bool ProfileSyncServiceHarness::EnableEncryptionForType( |
| syncable::ModelType type) { |
| - syncable::ModelTypeSet encrypted_types; |
| - service_->GetEncryptedDataTypes(&encrypted_types); |
| - if (encrypted_types.count(type) > 0) |
| + syncable::ModelEnumSet encrypted_types = |
| + service_->GetEncryptedDataTypes(); |
| + if (encrypted_types.Has(type)) |
| return true; |
| service_->EnableEncryptEverything(); |
| // In order to kick off the encryption we have to reconfigure. Just grab the |
| // currently synced types and use them. |
| - syncable::ModelTypeSet synced_datatypes; |
| - service_->GetPreferredDataTypes(&synced_datatypes); |
| - bool sync_everything = (synced_datatypes.size() == |
| + syncable::ModelEnumSet synced_datatypes = |
| + service_->GetPreferredDataTypes(); |
| + bool sync_everything = (synced_datatypes.Size() == |
| (syncable::MODEL_TYPE_COUNT - syncable::FIRST_REAL_MODEL_TYPE)); |
| service_->OnUserChoseDatatypes(sync_everything, |
| synced_datatypes); |
| @@ -1110,13 +1089,13 @@ bool ProfileSyncServiceHarness::WaitForTypeEncryption( |
| } |
| bool ProfileSyncServiceHarness::IsTypeEncrypted(syncable::ModelType type) { |
| - syncable::ModelTypeSet encrypted_types; |
| - service_->GetEncryptedDataTypes(&encrypted_types); |
| - bool is_type_encrypted = (encrypted_types.count(type) != 0); |
| + syncable::ModelEnumSet encrypted_types = |
| + service_->GetEncryptedDataTypes(); |
| + bool is_type_encrypted = encrypted_types.Has(type); |
| DVLOG(2) << syncable::ModelTypeToString(type) << " is " |
| << (is_type_encrypted ? "" : "not ") << "encrypted; " |
| << "encrypted types = " |
| - << syncable::ModelTypeSetToString(encrypted_types); |
| + << syncable::ModelEnumSetToString(encrypted_types); |
| return is_type_encrypted; |
| } |
| @@ -1128,9 +1107,7 @@ bool ProfileSyncServiceHarness::IsTypeRunning(syncable::ModelType type) { |
| } |
| bool ProfileSyncServiceHarness::IsTypePreferred(syncable::ModelType type) { |
| - syncable::ModelTypeSet synced_types; |
| - service_->GetPreferredDataTypes(&synced_types); |
| - return (synced_types.count(type) != 0); |
| + return service_->GetPreferredDataTypes().Has(type); |
| } |
| std::string ProfileSyncServiceHarness::GetServiceStatus() { |