| Index: chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
|
| diff --git a/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc b/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
|
| index be45cddac29057fd6e36e8518d3faa6cb65fb20a..ca27be01642fb86eb665900de0bb970e0814ad15 100644
|
| --- a/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
|
| +++ b/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
|
| @@ -47,8 +47,9 @@ bool BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSets(
|
| BuildConflictSets(&trans,
|
| session->status_controller()->mutable_conflict_progress());
|
| had_single_direction_sets = ProcessSingleDirectionConflictSets(&trans,
|
| - session->context()->resolver(), session->status_controller(),
|
| - session->routing_info());
|
| + session->context()->resolver(),
|
| + session->context()->directory_manager()->cryptographer(),
|
| + session->status_controller(), session->routing_info());
|
| // We applied some updates transactionally, lets try syncing again.
|
| if (had_single_direction_sets)
|
| return true;
|
| @@ -58,7 +59,8 @@ bool BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSets(
|
|
|
| bool BuildAndProcessConflictSetsCommand::ProcessSingleDirectionConflictSets(
|
| syncable::WriteTransaction* trans, ConflictResolver* resolver,
|
| - StatusController* status, const ModelSafeRoutingInfo& routes) {
|
| + Cryptographer* cryptographer, StatusController* status,
|
| + const ModelSafeRoutingInfo& routes) {
|
| bool rv = false;
|
| set<ConflictSet*>::const_iterator all_sets_iterator;
|
| for (all_sets_iterator = status->conflict_progress().ConflictSetsBegin();
|
| @@ -79,8 +81,8 @@ bool BuildAndProcessConflictSetsCommand::ProcessSingleDirectionConflictSets(
|
| if (conflict_set->size() == unsynced_count && 0 == unapplied_count) {
|
| LOG(INFO) << "Skipped transactional commit attempt.";
|
| } else if (conflict_set->size() == unapplied_count && 0 == unsynced_count &&
|
| - ApplyUpdatesTransactionally(trans, conflict_set, resolver, routes,
|
| - status)) {
|
| + ApplyUpdatesTransactionally(trans, conflict_set, resolver,
|
| + cryptographer, routes, status)) {
|
| rv = true;
|
| }
|
| ++all_sets_iterator;
|
| @@ -146,6 +148,7 @@ bool BuildAndProcessConflictSetsCommand::ApplyUpdatesTransactionally(
|
| syncable::WriteTransaction* trans,
|
| const vector<syncable::Id>* const update_set,
|
| ConflictResolver* resolver,
|
| + Cryptographer* cryptographer,
|
| const ModelSafeRoutingInfo& routes,
|
| StatusController* status) {
|
| // The handles in the |update_set| order.
|
| @@ -192,8 +195,9 @@ bool BuildAndProcessConflictSetsCommand::ApplyUpdatesTransactionally(
|
|
|
| // 5. Use the usual apply updates from the special start state we've just
|
| // prepared.
|
| - UpdateApplicator applicator(resolver, handles.begin(), handles.end(),
|
| - routes, status->group_restriction());
|
| + UpdateApplicator applicator(resolver, cryptographer,
|
| + handles.begin(), handles.end(),
|
| + routes, status->group_restriction());
|
| while (applicator.AttemptOneApplication(trans)) {
|
| // Keep going till all updates are applied.
|
| }
|
|
|