Chromium Code Reviews| 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)) |
|
Jeffrey Yasskin
2013/09/06 21:31:56
Nit: This might be clearer with a helper function:
Jeffrey Yasskin
2013/09/06 21:31:56
I double-checked that uninstalling an extension re
|
| + 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. |