| Index: chrome/browser/extensions/external_pref_loader.cc
|
| diff --git a/chrome/browser/extensions/external_pref_loader.cc b/chrome/browser/extensions/external_pref_loader.cc
|
| index c0775d2de2c070883bf455ea2cf1fdded82d4279..0e71a49d8807c1774b6be266d97e744f38fac6d2 100644
|
| --- a/chrome/browser/extensions/external_pref_loader.cc
|
| +++ b/chrome/browser/extensions/external_pref_loader.cc
|
| @@ -72,20 +72,24 @@ std::set<base::FilePath> GetPrefsCandidateFilesFromFolder(
|
| // occurs). An empty dictionary is returned in case of failure (e.g. invalid
|
| // path or json content).
|
| // Caller takes ownership of the returned dictionary.
|
| +// TODO(Olli Raula) Make return scoped_ptr
|
| base::DictionaryValue* ExtractExtensionPrefs(
|
| base::ValueDeserializer* deserializer,
|
| const base::FilePath& path) {
|
| std::string error_msg;
|
| - base::Value* extensions = deserializer->Deserialize(NULL, &error_msg);
|
| + scoped_ptr<base::Value> extensions =
|
| + deserializer->Deserialize(NULL, &error_msg);
|
| if (!extensions) {
|
| LOG(WARNING) << "Unable to deserialize json data: " << error_msg
|
| << " in file " << path.value() << ".";
|
| return new base::DictionaryValue;
|
| }
|
|
|
| - base::DictionaryValue* ext_dictionary = NULL;
|
| - if (extensions->GetAsDictionary(&ext_dictionary))
|
| - return ext_dictionary;
|
| + scoped_ptr<base::DictionaryValue> ext_dictionary =
|
| + base::DictionaryValue::From(extensions.Pass());
|
| + if (ext_dictionary) {
|
| + return ext_dictionary.release();
|
| + }
|
|
|
| LOG(WARNING) << "Expected a JSON dictionary in file "
|
| << path.value() << ".";
|
|
|