Index: chrome/browser/sync/engine/get_commit_ids_command.cc |
diff --git a/chrome/browser/sync/engine/get_commit_ids_command.cc b/chrome/browser/sync/engine/get_commit_ids_command.cc |
index 3000649c44510ece1d7c26f5cfde0c6493901ef1..b04271985dfa6c66cc7cdd0288dcb7e374f60e2e 100644 |
--- a/chrome/browser/sync/engine/get_commit_ids_command.cc |
+++ b/chrome/browser/sync/engine/get_commit_ids_command.cc |
@@ -44,7 +44,7 @@ void GetCommitIdsCommand::ExecuteImpl(SyncSession* session) { |
passphrase_missing_ = cryptographer->has_pending_keys(); |
}; |
- const syncable::ModelTypeSet& throttled_types = |
+ const syncable::ModelEnumSet throttled_types = |
session->context()->GetThrottledTypes(); |
// We filter out all unready entries from the set of unsynced handles to |
// ensure we don't trigger useless sync cycles attempting to retry due to |
@@ -74,10 +74,10 @@ namespace { |
// and not requiring encryption (any entry containing an encrypted datatype |
// while the cryptographer requires a passphrase is not ready for commit.) |
// 2. Its type is not currently throttled. |
-bool IsEntryReadyForCommit(const syncable::ModelTypeSet& encrypted_types, |
+bool IsEntryReadyForCommit(syncable::ModelEnumSet encrypted_types, |
bool passphrase_missing, |
const syncable::Entry& entry, |
- const syncable::ModelTypeSet& throttled_types) { |
+ syncable::ModelEnumSet throttled_types) { |
if (!entry.Get(syncable::IS_UNSYNCED)) |
return false; |
@@ -93,8 +93,8 @@ bool IsEntryReadyForCommit(const syncable::ModelTypeSet& encrypted_types, |
return false; |
} |
- syncable::ModelType type = entry.GetModelType(); |
- if (encrypted_types.count(type) > 0 && |
+ const syncable::ModelType type = entry.GetModelType(); |
+ if (syncable::IsRealDataType(type) && encrypted_types.Has(type) && |
(passphrase_missing || |
syncable::EntryNeedsEncryption(encrypted_types, entry))) { |
// This entry requires encryption but is not properly encrypted (possibly |
@@ -107,7 +107,7 @@ bool IsEntryReadyForCommit(const syncable::ModelTypeSet& encrypted_types, |
} |
// Look at the throttled types. |
- if (throttled_types.count(type) > 0) |
+ if (syncable::IsRealDataType(type) && throttled_types.Has(type)) |
return false; |
return true; |
@@ -117,7 +117,7 @@ bool IsEntryReadyForCommit(const syncable::ModelTypeSet& encrypted_types, |
void GetCommitIdsCommand::FilterUnreadyEntries( |
syncable::BaseTransaction* trans, |
- const syncable::ModelTypeSet& throttled_types, |
+ syncable::ModelEnumSet throttled_types, |
syncable::Directory::UnsyncedMetaHandles* unsynced_handles) { |
syncable::Directory::UnsyncedMetaHandles::iterator iter; |
syncable::Directory::UnsyncedMetaHandles new_unsynced_handles; |
@@ -140,7 +140,7 @@ void GetCommitIdsCommand::AddUncommittedParentsAndTheirPredecessors( |
syncable::BaseTransaction* trans, |
syncable::Id parent_id, |
const ModelSafeRoutingInfo& routes, |
- const syncable::ModelTypeSet& throttled_types) { |
+ syncable::ModelEnumSet throttled_types) { |
OrderedCommitSet item_dependencies(routes); |
// Climb the tree adding entries leaf -> root. |
@@ -165,8 +165,8 @@ void GetCommitIdsCommand::AddUncommittedParentsAndTheirPredecessors( |
} |
bool GetCommitIdsCommand::AddItem(syncable::Entry* item, |
- const syncable::ModelTypeSet& throttled_types, |
- OrderedCommitSet* result) { |
+ syncable::ModelEnumSet throttled_types, |
+ OrderedCommitSet* result) { |
if (!IsEntryReadyForCommit(encrypted_types_, passphrase_missing_, *item, |
throttled_types)) |
return false; |
@@ -182,7 +182,7 @@ bool GetCommitIdsCommand::AddItem(syncable::Entry* item, |
bool GetCommitIdsCommand::AddItemThenPredecessors( |
syncable::BaseTransaction* trans, |
- const syncable::ModelTypeSet& throttled_types, |
+ syncable::ModelEnumSet throttled_types, |
syncable::Entry* item, |
syncable::IndexedBitField inclusion_filter, |
OrderedCommitSet* result) { |
@@ -206,7 +206,7 @@ bool GetCommitIdsCommand::AddItemThenPredecessors( |
void GetCommitIdsCommand::AddPredecessorsThenItem( |
syncable::BaseTransaction* trans, |
- const syncable::ModelTypeSet& throttled_types, |
+ syncable::ModelEnumSet throttled_types, |
syncable::Entry* item, |
syncable::IndexedBitField inclusion_filter, |
const ModelSafeRoutingInfo& routes) { |
@@ -226,7 +226,7 @@ void GetCommitIdsCommand::AddCreatesAndMoves( |
const vector<int64>& unsynced_handles, |
syncable::WriteTransaction* write_transaction, |
const ModelSafeRoutingInfo& routes, |
- const syncable::ModelTypeSet& throttled_types) { |
+ syncable::ModelEnumSet throttled_types) { |
// Add moves and creates, and prepend their uncommitted parents. |
for (CommitMetahandleIterator iterator(unsynced_handles, write_transaction, |
ordered_commit_set_.get()); |
@@ -337,7 +337,7 @@ void GetCommitIdsCommand::AddDeletes(const vector<int64>& unsynced_handles, |
void GetCommitIdsCommand::BuildCommitIds(const vector<int64>& unsynced_handles, |
syncable::WriteTransaction* write_transaction, |
const ModelSafeRoutingInfo& routes, |
- const syncable::ModelTypeSet& throttled_types) { |
+ syncable::ModelEnumSet throttled_types) { |
ordered_commit_set_.reset(new OrderedCommitSet(routes)); |
// Commits follow these rules: |
// 1. Moves or creates are preceded by needed folder creates, from |