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

Unified Diff: sync/engine/commit.cc

Issue 93433006: sync: Introduce ModelTypeRegistry and helpers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Split the type manager Created 7 years 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: sync/engine/commit.cc
diff --git a/sync/engine/commit.cc b/sync/engine/commit.cc
index a8db1a41ee3821cad3572ad1b044b88075306410..665f709118d5144ae8c3ebaa0fd9030fdcac7b02 100644
--- a/sync/engine/commit.cc
+++ b/sync/engine/commit.cc
@@ -30,34 +30,18 @@ Commit::~Commit() {
Commit* Commit::Init(
ModelTypeSet requested_types,
+ ModelTypeSet enabled_types,
size_t max_entries,
const std::string& account_name,
const std::string& cache_guid,
- CommitContributorMap* contributor_map,
+ CommitterList* committer_list,
ExtensionsActivity* extensions_activity) {
// Gather per-type contributions.
ContributionMap contributions;
- size_t num_entries = 0;
- for (ModelTypeSet::Iterator it = requested_types.First();
- it.Good(); it.Inc()) {
- CommitContributorMap::iterator cm_it = contributor_map->find(it.Get());
- if (cm_it == contributor_map->end()) {
- NOTREACHED()
- << "Could not find requested type " << ModelTypeToString(it.Get())
- << " in contributor map.";
- continue;
- }
- size_t spaces_remaining = max_entries - num_entries;
- SyncDirectoryCommitContribution* contribution =
- cm_it->second->GetContribution(spaces_remaining);
- if (contribution) {
- num_entries += contribution->GetNumEntries();
- contributions.insert(std::make_pair(it.Get(), contribution));
- }
- if (num_entries == max_entries) {
- break; // No point in continuting to iterate in this case.
- }
- }
+ committer_list->GatherCommitContributions(
+ requested_types,
+ max_entries,
+ &contributions);
// Give up if no one had anything to commit.
if (contributions.empty())
@@ -81,13 +65,9 @@ Commit* Commit::Init(
}
// Set the client config params.
- ModelTypeSet enabled_types;
- for (CommitContributorMap::iterator it = contributor_map->begin();
- it != contributor_map->end(); ++it) {
- enabled_types.Put(it->first);
- }
- commit_util::AddClientConfigParamsToMessage(enabled_types,
- commit_message);
+ commit_util::AddClientConfigParamsToMessage(
+ enabled_types,
+ commit_message);
// Finally, serialize all our contributions.
for (std::map<ModelType, SyncDirectoryCommitContribution*>::iterator it =
« no previous file with comments | « sync/engine/commit.h ('k') | sync/engine/committer_list.h » ('j') | sync/engine/committer_list.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698