Index: extensions/browser/value_store/leveldb_value_store.cc |
diff --git a/extensions/browser/value_store/leveldb_value_store.cc b/extensions/browser/value_store/leveldb_value_store.cc |
index 4b7d274edd13a9ec6160d5b07a0ca3f563a1f065..d29bc7477b1285e85abfc6cd506e60929a4f2a7c 100644 |
--- a/extensions/browser/value_store/leveldb_value_store.cc |
+++ b/extensions/browser/value_store/leveldb_value_store.cc |
@@ -146,12 +146,13 @@ ValueStore::ReadResult LeveldbValueStore::Get() { |
scoped_ptr<leveldb::Iterator> it(db_->NewIterator(options)); |
for (it->SeekToFirst(); it->Valid(); it->Next()) { |
std::string key = it->key().ToString(); |
- base::Value* value = json_reader.ReadToValue(it->value().ToString()); |
+ scoped_ptr<base::Value> value = |
+ json_reader.ReadToValue(it->value().ToString()); |
if (!value) { |
return MakeReadResult( |
Error::Create(CORRUPTION, kInvalidJson, util::NewKey(key))); |
} |
- settings->SetWithoutPathExpansion(key, value); |
+ settings->SetWithoutPathExpansion(key, value.Pass()); |
} |
if (it->status().IsNotFound()) { |
@@ -357,11 +358,11 @@ scoped_ptr<ValueStore::Error> LeveldbValueStore::ReadFromDb( |
if (!s.ok()) |
return ToValueStoreError(s, util::NewKey(key)); |
- base::Value* value = base::JSONReader().ReadToValue(value_as_json); |
+ scoped_ptr<base::Value> value = base::JSONReader().ReadToValue(value_as_json); |
if (!value) |
return Error::Create(CORRUPTION, kInvalidJson, util::NewKey(key)); |
- setting->reset(value); |
+ *setting = value.Pass(); |
return util::NoError(); |
} |