detect preferences errors
BUG=38352
TEST=none
Review URL: http://codereview.chromium.org/1120006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43715 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index de783660..756c7506 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -421,7 +421,7 @@
component_extension_manifests_.begin();
it != component_extension_manifests_.end(); ++it) {
JSONStringValueSerializer serializer(it->manifest);
- scoped_ptr<Value> manifest(serializer.Deserialize(NULL));
+ scoped_ptr<Value> manifest(serializer.Deserialize(NULL, NULL));
if (!manifest.get()) {
NOTREACHED() << "Failed to retrieve manifest for extension";
continue;
@@ -757,6 +757,9 @@
}
void ExtensionsService::GarbageCollectExtensions() {
+ if (extension_prefs_->pref_service()->read_only())
+ return;
+
InstalledExtensionSet installed(extension_prefs_.get());
ChromeThread::PostTask(
ChromeThread::FILE, FROM_HERE,