Index: sync/api/sync_change.cc |
diff --git a/sync/api/sync_change.cc b/sync/api/sync_change.cc |
index 8dedd9cb1768fbb0b3f99aebe8ae38e0cad773f7..ca33fbe7ac367ede9211726f6323dfa42539db3e 100644 |
--- a/sync/api/sync_change.cc |
+++ b/sync/api/sync_change.cc |
@@ -27,6 +27,12 @@ bool SyncChange::IsValid() const { |
if (change_type_ == ACTION_INVALID || !sync_data_.IsValid()) |
return false; |
+ // Context changes must not have valid specifics. |
+ if (change_type_ == CONTEXT_UPDATE && |
+ GetModelTypeFromSpecifics(sync_data_.GetSpecifics()) != UNSPECIFIED) { |
+ return false; |
+ } |
+ |
// Data from the syncer must always have valid specifics. |
if (!sync_data_.IsLocal()) |
return IsRealDataType(sync_data_.GetDataType()); |