| 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.
|
|
|