| Index: chrome/browser/extensions/extension_pref_store.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_pref_store.cc (revision 52128)
|
| +++ chrome/browser/extensions/extension_pref_store.cc (working copy)
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/extensions/extension_pref_store.h"
|
|
|
| #include "base/logging.h"
|
| +#include "base/stl_util-inl.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/pref_service.h"
|
|
|
| @@ -13,6 +14,10 @@
|
| prefs_(new DictionaryValue()) {
|
| }
|
|
|
| +ExtensionPrefStore::~ExtensionPrefStore() {
|
| + STLDeleteElements(&extension_stack_);
|
| +}
|
| +
|
| // This could be sped up by keeping track of which extension currently controls
|
| // a given preference, among other optimizations. But we estimate that fewer
|
| // than 10 installed extensions will be trying to control any preferences, so
|
| @@ -87,6 +92,7 @@
|
| i != extension_stack_.end(); ++i) {
|
| if ((*i)->extension_id == extension_id) {
|
| pref_values.reset((*i)->pref_values);
|
| + delete *i;
|
| extension_stack_.erase(i);
|
| break;
|
| }
|
|
|