Index: chrome/browser/extensions/extensions_service.cc |
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc |
index a416f179448d1c87f47604cb5b43c05183dd7101..a34d11cbcecc317fe6f6c5cefc69e6c3b4f7e94d 100644 |
--- a/chrome/browser/extensions/extensions_service.cc |
+++ b/chrome/browser/extensions/extensions_service.cc |
@@ -8,6 +8,7 @@ |
#include "base/command_line.h" |
#include "base/file_util.h" |
#include "base/histogram.h" |
+#include "base/stl_util-inl.h" |
#include "base/string16.h" |
#include "base/string_util.h" |
#include "base/time.h" |
@@ -779,11 +780,13 @@ void ExtensionsService::UnloadExtension(const std::string& extension_id) { |
} |
void ExtensionsService::UnloadAllExtensions() { |
- ExtensionList::iterator iter; |
- for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) |
- delete *iter; |
+ STLDeleteContainerPointers(extensions_.begin(), extensions_.end()); |
extensions_.clear(); |
+ STLDeleteContainerPointers(disabled_extensions_.begin(), |
+ disabled_extensions_.end()); |
+ disabled_extensions_.clear(); |
+ |
// TODO(erikkay) should there be a notification for this? We can't use |
// EXTENSION_UNLOADED since that implies that the extension has been disabled |
// or uninstalled, and UnloadAll is just part of shutdown. |