Index: chrome/browser/extensions/extension_prefs.cc |
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc |
index 24f2d84a2650d97d2d3f478826576e478b30d183..3c66561322b308e369e426e79ba805e4f3440c34 100644 |
--- a/chrome/browser/extensions/extension_prefs.cc |
+++ b/chrome/browser/extensions/extension_prefs.cc |
@@ -1835,13 +1835,26 @@ void ExtensionPrefs::FinishExtensionInfoPrefs( |
const syncer::StringOrdinal& suggested_page_ordinal, |
DictionaryValue* extension_dict) { |
// Reinitializes various preferences with empty dictionaries. |
- extension_dict->Set(pref_names::kPrefPreferences, new DictionaryValue); |
- extension_dict->Set(pref_names::kPrefIncognitoPreferences, |
- new DictionaryValue); |
- extension_dict->Set(pref_names::kPrefRegularOnlyPreferences, |
- new DictionaryValue); |
- extension_dict->Set(pref_names::kPrefContentSettings, new ListValue); |
- extension_dict->Set(pref_names::kPrefIncognitoContentSettings, new ListValue); |
+ if (!extension_dict->HasKey(pref_names::kPrefPreferences)) |
+ extension_dict->Set(pref_names::kPrefPreferences, new DictionaryValue); |
+ |
+ if (!extension_dict->HasKey(pref_names::kPrefIncognitoPreferences)) { |
+ extension_dict->Set(pref_names::kPrefIncognitoPreferences, |
+ new DictionaryValue); |
+ } |
+ |
+ if (!extension_dict->HasKey(pref_names::kPrefRegularOnlyPreferences)) { |
+ extension_dict->Set(pref_names::kPrefRegularOnlyPreferences, |
+ new DictionaryValue); |
+ } |
+ |
+ if (!extension_dict->HasKey(pref_names::kPrefContentSettings)) |
+ extension_dict->Set(pref_names::kPrefContentSettings, new ListValue); |
+ |
+ if (!extension_dict->HasKey(pref_names::kPrefIncognitoContentSettings)) { |
+ extension_dict->Set(pref_names::kPrefIncognitoContentSettings, |
+ new ListValue); |
+ } |
// If this point has been reached, any pending installs should be considered |
// out of date. |