| Index: chrome/browser/extensions/external_pref_extension_loader.cc
|
| diff --git a/chrome/browser/extensions/external_pref_extension_loader.cc b/chrome/browser/extensions/external_pref_extension_loader.cc
|
| index 8e291f150c89e445ccefa11436016957a3a9f6f1..bf26df348f0dd0c56613bf69a9e0aee839f8046b 100644
|
| --- a/chrome/browser/extensions/external_pref_extension_loader.cc
|
| +++ b/chrome/browser/extensions/external_pref_extension_loader.cc
|
| @@ -12,34 +12,12 @@
|
| #include "base/logging.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/path_service.h"
|
| +#include "chrome/browser/extensions/external_extension_util.h"
|
| #include "chrome/common/chrome_paths.h"
|
| #include "content/public/browser/browser_thread.h"
|
|
|
| using content::BrowserThread;
|
|
|
| -namespace {
|
| -
|
| -// Caller takes ownership of the returned dictionary.
|
| -DictionaryValue* ExtractPrefs(const FilePath& path,
|
| - base::ValueSerializer* serializer) {
|
| - std::string error_msg;
|
| - Value* extensions = serializer->Deserialize(NULL, &error_msg);
|
| - if (!extensions) {
|
| - LOG(WARNING) << "Unable to deserialize json data: " << error_msg
|
| - << " In file " << path.value() << " .";
|
| - } else {
|
| - if (!extensions->IsType(Value::TYPE_DICTIONARY)) {
|
| - LOG(WARNING) << "Expected a JSON dictionary in file "
|
| - << path.value() << " .";
|
| - } else {
|
| - return static_cast<DictionaryValue*>(extensions);
|
| - }
|
| - }
|
| - return new DictionaryValue;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| ExternalPrefExtensionLoader::ExternalPrefExtensionLoader(int base_path_key,
|
| Options options)
|
| : base_path_key_(base_path_key),
|
| @@ -100,8 +78,9 @@ DictionaryValue* ExternalPrefExtensionLoader::ReadJsonPrefsFile() {
|
| }
|
|
|
| JSONFileValueSerializer serializer(json_file);
|
| - DictionaryValue* parsed_json_prefs = ExtractPrefs(json_file, &serializer);
|
| - return parsed_json_prefs;
|
| + DictionaryValue*
|
| + json_prefs = ExternalExtensionUtil::ExtractPrefs(json_file, &serializer);
|
| + return json_prefs;
|
| }
|
|
|
| void ExternalPrefExtensionLoader::LoadOnFileThread() {
|
| @@ -134,7 +113,8 @@ ExternalTestingExtensionLoader::ExternalTestingExtensionLoader(
|
| CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| JSONStringValueSerializer serializer(json_data);
|
| FilePath fake_json_path = fake_base_path.AppendASCII("fake.json");
|
| - testing_prefs_.reset(ExtractPrefs(fake_json_path, &serializer));
|
| + testing_prefs_.reset(ExternalExtensionUtil::ExtractPrefs(fake_json_path,
|
| + &serializer));
|
| }
|
|
|
| void ExternalTestingExtensionLoader::StartLoading() {
|
|
|