| 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();
|
| }
|
|
|
|
|