Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1586)

Unified Diff: chrome/browser/extensions/api/storage/syncable_settings_storage.cc

Issue 1940133002: Use std::unique_ptr to transfer base::Value ownership in extensions::ValueStoreChange (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/storage/syncable_settings_storage.cc
diff --git a/chrome/browser/extensions/api/storage/syncable_settings_storage.cc b/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
index 543d2b443407195d772b22f3e98ea8753501cb6c..1626ff30e59c1de596bc59b8103e3d7f88967773 100644
--- a/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
+++ b/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
@@ -194,7 +194,7 @@ syncer::SyncError SyncableSettingsStorage::SendLocalSettingsToSync(
std::string key = base::DictionaryValue::Iterator(*local_state).key();
std::unique_ptr<base::Value> value;
local_state->RemoveWithoutPathExpansion(key, &value);
- changes.push_back(ValueStoreChange(key, nullptr, value.release()));
+ changes.push_back(ValueStoreChange(key, nullptr, std::move(value)));
}
syncer::SyncError error = sync_processor_->SendChanges(changes);
@@ -295,32 +295,32 @@ syncer::SyncError SyncableSettingsStorage::ProcessSyncChanges(
switch ((*it)->change_type()) {
case syncer::SyncChange::ACTION_ADD:
if (!current_value.get()) {
- error = OnSyncAdd(key, change_value.release(), &changes);
+ error = OnSyncAdd(key, std::move(change_value), &changes);
} else {
// Already a value; hopefully a local change has beaten sync in a
// race and change's not a bug, so pretend change's an update.
LOG(WARNING) << "Got add from sync for existing setting " <<
extension_id_ << "/" << key;
- error = OnSyncUpdate(key, current_value.release(),
- change_value.release(), &changes);
+ error = OnSyncUpdate(key, std::move(current_value),
+ std::move(change_value), &changes);
}
break;
case syncer::SyncChange::ACTION_UPDATE:
if (current_value.get()) {
- error = OnSyncUpdate(key, current_value.release(),
- change_value.release(), &changes);
+ error = OnSyncUpdate(key, std::move(current_value),
+ std::move(change_value), &changes);
} else {
// Similarly, pretend change's an add.
LOG(WARNING) << "Got update from sync for nonexistent setting" <<
extension_id_ << "/" << key;
- error = OnSyncAdd(key, change_value.release(), &changes);
+ error = OnSyncAdd(key, std::move(change_value), &changes);
}
break;
case syncer::SyncChange::ACTION_DELETE:
if (current_value.get()) {
- error = OnSyncDelete(key, current_value.release(), &changes);
+ error = OnSyncDelete(key, std::move(current_value), &changes);
} else {
// Similarly, ignore change.
LOG(WARNING) << "Got delete from sync for nonexistent setting " <<
@@ -349,7 +349,7 @@ syncer::SyncError SyncableSettingsStorage::ProcessSyncChanges(
syncer::SyncError SyncableSettingsStorage::OnSyncAdd(
const std::string& key,
- base::Value* new_value,
+ std::unique_ptr<base::Value> new_value,
ValueStoreChangeList* changes) {
DCHECK(new_value);
WriteResult result =
@@ -361,14 +361,14 @@ syncer::SyncError SyncableSettingsStorage::OnSyncAdd(
result->status().message.c_str()),
sync_processor_->type());
}
- changes->push_back(ValueStoreChange(key, NULL, new_value));
+ changes->push_back(ValueStoreChange(key, nullptr, std::move(new_value)));
return syncer::SyncError();
}
syncer::SyncError SyncableSettingsStorage::OnSyncUpdate(
const std::string& key,
- base::Value* old_value,
- base::Value* new_value,
+ std::unique_ptr<base::Value> old_value,
+ std::unique_ptr<base::Value> new_value,
ValueStoreChangeList* changes) {
DCHECK(old_value);
DCHECK(new_value);
@@ -381,13 +381,14 @@ syncer::SyncError SyncableSettingsStorage::OnSyncUpdate(
result->status().message.c_str()),
sync_processor_->type());
}
- changes->push_back(ValueStoreChange(key, old_value, new_value));
+ changes->push_back(
+ ValueStoreChange(key, std::move(old_value), std::move(new_value)));
return syncer::SyncError();
}
syncer::SyncError SyncableSettingsStorage::OnSyncDelete(
const std::string& key,
- base::Value* old_value,
+ std::unique_ptr<base::Value> old_value,
ValueStoreChangeList* changes) {
DCHECK(old_value);
WriteResult result = HandleResult(delegate_->Remove(key));
@@ -398,7 +399,7 @@ syncer::SyncError SyncableSettingsStorage::OnSyncDelete(
result->status().message.c_str()),
sync_processor_->type());
}
- changes->push_back(ValueStoreChange(key, old_value, NULL));
+ changes->push_back(ValueStoreChange(key, std::move(old_value), nullptr));
return syncer::SyncError();
}

Powered by Google App Engine
This is Rietveld 408576698