| Index: chrome/browser/extensions/extension_pref_value_map.cc
|
| diff --git a/chrome/browser/extensions/extension_pref_value_map.cc b/chrome/browser/extensions/extension_pref_value_map.cc
|
| index 9d2ef06e4ea8ae50bbed8d9fb17cd17f7e63a43b..ead4a4696782bd10494863cf0774dbd2a9d3ba88 100644
|
| --- a/chrome/browser/extensions/extension_pref_value_map.cc
|
| +++ b/chrome/browser/extensions/extension_pref_value_map.cc
|
| @@ -23,15 +23,23 @@ struct ExtensionPrefValueMap::ExtensionEntry {
|
| PrefValueMap incognito_profile_preferences_session_only;
|
| };
|
|
|
| -ExtensionPrefValueMap::ExtensionPrefValueMap() {
|
| +ExtensionPrefValueMap::ExtensionPrefValueMap() : destroyed_(false) {
|
| }
|
|
|
| ExtensionPrefValueMap::~ExtensionPrefValueMap() {
|
| - NotifyOfDestruction();
|
| + if (!destroyed_) {
|
| + NotifyOfDestruction();
|
| + destroyed_ = true;
|
| + }
|
| STLDeleteValues(&entries_);
|
| entries_.clear();
|
| }
|
|
|
| +void ExtensionPrefValueMap::Shutdown() {
|
| + NotifyOfDestruction();
|
| + destroyed_ = true;
|
| +}
|
| +
|
| void ExtensionPrefValueMap::SetExtensionPref(const std::string& ext_id,
|
| const std::string& key,
|
| ExtensionPrefsScope scope,
|
|
|