Index: sync/engine/conflict_resolver.cc |
diff --git a/sync/engine/conflict_resolver.cc b/sync/engine/conflict_resolver.cc |
index c4814720478fe0e373d2a6d013ef184e6d8f4cf6..163062032e6e03dc9f7e76238076a88a5bd000bc 100644 |
--- a/sync/engine/conflict_resolver.cc |
+++ b/sync/engine/conflict_resolver.cc |
@@ -11,6 +11,7 @@ |
#include "base/metrics/histogram.h" |
#include "sync/engine/conflict_util.h" |
#include "sync/engine/syncer_util.h" |
+#include "sync/internal_api/public/sessions/update_counters.h" |
#include "sync/sessions/status_controller.h" |
#include "sync/syncable/directory.h" |
#include "sync/syncable/mutable_entry.h" |
@@ -38,7 +39,8 @@ ConflictResolver::~ConflictResolver() { |
void ConflictResolver::ProcessSimpleConflict(WriteTransaction* trans, |
const Id& id, |
const Cryptographer* cryptographer, |
- StatusController* status) { |
+ StatusController* status, |
+ UpdateCounters* counters) { |
MutableEntry entry(trans, syncable::GET_BY_ID, id); |
// Must be good as the entry won't have been cleaned up. |
CHECK(entry.good()); |
@@ -158,6 +160,7 @@ void ConflictResolver::ProcessSimpleConflict(WriteTransaction* trans, |
DVLOG(1) << "Resolving simple conflict, ignoring server encryption " |
<< " changes for: " << entry; |
status->increment_num_server_overwrites(); |
+ counters->num_server_overwrites++; |
conflict_util::OverwriteServerChanges(&entry); |
UMA_HISTOGRAM_ENUMERATION("Sync.ResolveSimpleConflict", |
IGNORE_ENCRYPTION, |
@@ -169,6 +172,7 @@ void ConflictResolver::ProcessSimpleConflict(WriteTransaction* trans, |
// assumption. |
conflict_util::OverwriteServerChanges(&entry); |
status->increment_num_server_overwrites(); |
+ counters->num_server_overwrites++; |
DVLOG(1) << "Resolving simple conflict, overwriting server changes " |
<< "for: " << entry; |
UMA_HISTOGRAM_ENUMERATION("Sync.ResolveSimpleConflict", |
@@ -179,6 +183,7 @@ void ConflictResolver::ProcessSimpleConflict(WriteTransaction* trans, |
<< entry; |
conflict_util::IgnoreLocalChanges(&entry); |
status->increment_num_local_overwrites(); |
+ counters->num_local_overwrites++; |
UMA_HISTOGRAM_ENUMERATION("Sync.ResolveSimpleConflict", |
OVERWRITE_LOCAL, |
CONFLICT_RESOLUTION_SIZE); |
@@ -203,6 +208,7 @@ void ConflictResolver::ProcessSimpleConflict(WriteTransaction* trans, |
// data. |
conflict_util::OverwriteServerChanges(&entry); |
status->increment_num_server_overwrites(); |
+ counters->num_server_overwrites++; |
DVLOG(1) << "Resolving simple conflict, undeleting server entry: " |
<< entry; |
UMA_HISTOGRAM_ENUMERATION("Sync.ResolveSimpleConflict", |
@@ -215,7 +221,8 @@ void ConflictResolver::ResolveConflicts( |
syncable::WriteTransaction* trans, |
const Cryptographer* cryptographer, |
const std::set<syncable::Id>& simple_conflict_ids, |
- sessions::StatusController* status) { |
+ sessions::StatusController* status, |
+ UpdateCounters* counters) { |
// Iterate over simple conflict items. |
set<Id>::const_iterator it; |
for (it = simple_conflict_ids.begin(); |
@@ -229,7 +236,7 @@ void ConflictResolver::ResolveConflicts( |
continue; |
} |
- ProcessSimpleConflict(trans, *it, cryptographer, status); |
+ ProcessSimpleConflict(trans, *it, cryptographer, status, counters); |
} |
return; |
} |