diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 17:14:32 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 17:14:32 +0000 |
commit | 8ef78fddcb2f0d11dd1600f97f0adba7d104e68e (patch) | |
tree | 8c11399fa651e69b01b66688f50f3caf43817d61 /chrome/installer/util | |
parent | ed748745c9b29696c4510db09a219c1c6863b05a (diff) | |
download | chromium_src-8ef78fddcb2f0d11dd1600f97f0adba7d104e68e.zip chromium_src-8ef78fddcb2f0d11dd1600f97f0adba7d104e68e.tar.gz chromium_src-8ef78fddcb2f0d11dd1600f97f0adba7d104e68e.tar.bz2 |
Allow update URLs in external_extensions.json.
Doc updates will follow in another CL.
BUG=48117
TEST=ExtensionsServiceTest.(UpdatePendingExternalCrx,UpdatePendingCrxThemeMismatch,ExternalPrefProvider), ExtensionManagmentTest.ExternalUrlUpdate, manual testing.
Review URL: http://codereview.chromium.org/3005057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56701 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util')
-rw-r--r-- | chrome/installer/util/master_preferences.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/chrome/installer/util/master_preferences.cc b/chrome/installer/util/master_preferences.cc index d3bd7e1..e2c0c80 100644 --- a/chrome/installer/util/master_preferences.cc +++ b/chrome/installer/util/master_preferences.cc @@ -171,18 +171,22 @@ DictionaryValue* ParseDistributionPreferences( return NULL; } std::string json_data; - if (!file_util::ReadFileToString(master_prefs_path, &json_data)) + if (!file_util::ReadFileToString(master_prefs_path, &json_data)) { + LOG(WARNING) << "Failed to read master prefs file."; return NULL; - + } JSONStringValueSerializer json(json_data); - scoped_ptr<Value> root(json.Deserialize(NULL, NULL)); - - if (!root.get()) + std::string error; + scoped_ptr<Value> root(json.Deserialize(NULL, &error)); + if (!root.get()) { + LOG(WARNING) << "Failed to parse master prefs file: " << error; return NULL; - - if (!root->IsType(Value::TYPE_DICTIONARY)) + } + if (!root->IsType(Value::TYPE_DICTIONARY)) { + LOG(WARNING) << "Failed to parse master prefs file: " + << "Root item must be a dictionary."; return NULL; - + } return static_cast<DictionaryValue*>(root.release()); } |