Index: chrome/browser/extensions/settings/syncable_settings_storage.cc |
diff --git a/chrome/browser/extensions/settings/syncable_settings_storage.cc b/chrome/browser/extensions/settings/syncable_settings_storage.cc |
index 87a967a331b379da88b28b0ced212a520a7ce034..9ef9dac0319c574baf4ec1f4ee470850cf73f28e 100644 |
--- a/chrome/browser/extensions/settings/syncable_settings_storage.cc |
+++ b/chrome/browser/extensions/settings/syncable_settings_storage.cc |
@@ -166,8 +166,8 @@ SyncError SyncableSettingsStorage::SendLocalSettingsToSync( |
SyncChangeList changes; |
for (DictionaryValue::Iterator it(settings); it.HasNext(); it.Advance()) { |
- changes.push_back( |
- settings_sync_util::CreateAdd(extension_id_, it.key(), it.value())); |
+ changes.push_back(settings_sync_util::CreateAdd( |
+ extension_id_, it.key(), it.value(), sync_type_)); |
} |
if (changes.empty()) { |
@@ -210,7 +210,7 @@ SyncError SyncableSettingsStorage::OverwriteLocalSettingsWithSync( |
SyncChange::ACTION_UPDATE, |
extension_id_, |
it.key(), |
- sync_value.release())); |
+ sync_value.Pass())); |
} |
} else { |
// Not synced, delete local setting. |
@@ -219,7 +219,7 @@ SyncError SyncableSettingsStorage::OverwriteLocalSettingsWithSync( |
SyncChange::ACTION_DELETE, |
extension_id_, |
it.key(), |
- new DictionaryValue())); |
+ scoped_ptr<Value>(new DictionaryValue()))); |
} |
} |
@@ -230,7 +230,10 @@ SyncError SyncableSettingsStorage::OverwriteLocalSettingsWithSync( |
CHECK(new_sync_state->RemoveWithoutPathExpansion(key, &value)); |
changes.push_back( |
SettingSyncData( |
- SyncChange::ACTION_ADD, extension_id_, key, value)); |
+ SyncChange::ACTION_ADD, |
+ extension_id_, |
+ key, |
+ scoped_ptr<Value>(value))); |
} |
if (changes.empty()) { |
@@ -362,21 +365,19 @@ void SyncableSettingsStorage::SendChangesToSync( |
if (value) { |
if (synced_keys_.count(key)) { |
// New value, key is synced; send ACTION_UPDATE. |
- sync_changes.push_back( |
- settings_sync_util::CreateUpdate( |
- extension_id_, key, *value)); |
+ sync_changes.push_back(settings_sync_util::CreateUpdate( |
+ extension_id_, key, *value, sync_type_)); |
} else { |
// New value, key is not synced; send ACTION_ADD. |
- sync_changes.push_back( |
- settings_sync_util::CreateAdd( |
- extension_id_, key, *value)); |
+ sync_changes.push_back(settings_sync_util::CreateAdd( |
+ extension_id_, key, *value, sync_type_)); |
added_keys.insert(key); |
} |
} else { |
if (synced_keys_.count(key)) { |
// Clearing value, key is synced; send ACTION_DELETE. |
- sync_changes.push_back( |
- settings_sync_util::CreateDelete(extension_id_, key)); |
+ sync_changes.push_back(settings_sync_util::CreateDelete( |
+ extension_id_, key, sync_type_)); |
deleted_keys.insert(key); |
} else { |
LOG(WARNING) << "Deleted " << key << " but not in synced_keys_"; |