summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util
diff options
context:
space:
mode:
authorskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-19 17:14:32 +0000
committerskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-19 17:14:32 +0000
commit8ef78fddcb2f0d11dd1600f97f0adba7d104e68e (patch)
tree8c11399fa651e69b01b66688f50f3caf43817d61 /chrome/installer/util
parented748745c9b29696c4510db09a219c1c6863b05a (diff)
downloadchromium_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.cc20
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());
}