summaryrefslogtreecommitdiffstats
path: root/sync/api/sync_change.cc
diff options
context:
space:
mode:
authorzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-11 03:34:26 +0000
committerzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-11 03:34:26 +0000
commitb78170f625600970fbc57dc14dc9da463f72340e (patch)
treeffe95d7c43fad13a5459e1b783bf5e205e5a2a64 /sync/api/sync_change.cc
parent7067be991a2487ba91a05bd0b695eaa04c018164 (diff)
downloadchromium_src-b78170f625600970fbc57dc14dc9da463f72340e.zip
chromium_src-b78170f625600970fbc57dc14dc9da463f72340e.tar.gz
chromium_src-b78170f625600970fbc57dc14dc9da463f72340e.tar.bz2
Reland r145993.
Original codereview at http://codereview.chromium.org/10766016/ [Sync] Add location parameter to SyncChange in Sync API. SyncChanges now require the location they were created as a parameter. This is then used in the case that the change violates and invariant. We display the location and type of erroneous change in about:sync, in addition to disabling the offending datatype. TBR=stevet@chromium.org, rlarocque@chromium.org BUG=135108 TEST=unit_tests Review URL: https://chromiumcodereview.appspot.com/10690128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146050 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/api/sync_change.cc')
-rw-r--r--sync/api/sync_change.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/sync/api/sync_change.cc b/sync/api/sync_change.cc
index 64da5b7..ee1cdea 100644
--- a/sync/api/sync_change.cc
+++ b/sync/api/sync_change.cc
@@ -11,8 +11,12 @@ namespace syncer {
SyncChange::SyncChange() : change_type_(ACTION_INVALID) {
}
-SyncChange::SyncChange(SyncChangeType change_type, const SyncData& sync_data)
- : change_type_(change_type),
+SyncChange::SyncChange(
+ const tracked_objects::Location& from_here,
+ SyncChangeType change_type,
+ const SyncData& sync_data)
+ : location_(from_here),
+ change_type_(change_type),
sync_data_(sync_data) {
DCHECK(IsValid());
}
@@ -66,8 +70,9 @@ std::string SyncChange::ChangeTypeToString(SyncChangeType change_type) {
}
std::string SyncChange::ToString() const {
- return "{ changeType: " + ChangeTypeToString(change_type_) +
- ", syncData: " + sync_data_.ToString() + "}";
+ return "{ " + location_.ToString() + ", changeType: " +
+ ChangeTypeToString(change_type_) + ", syncData: " +
+ sync_data_.ToString() + "}";
}
void PrintTo(const SyncChange& sync_change, std::ostream* os) {