Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2925)

Unified Diff: chrome/browser/extensions/api/declarative/rules_registry_service.cc

Issue 10695130: Fix a memory leak in RulesRegistryStorageDelegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/declarative/rules_registry_service.cc
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_service.cc b/chrome/browser/extensions/api/declarative/rules_registry_service.cc
index e44793c6605213adfea11f3b1d89700f7b9e89a2..aead2a977fc688213a2a0fee607abecc26e9dd93 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_service.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_service.cc
@@ -43,15 +43,19 @@ RulesRegistryService::RulesRegistryService(Profile* profile)
}
}
-RulesRegistryService::~RulesRegistryService() {}
+RulesRegistryService::~RulesRegistryService() {
+ for (size_t i = 0; i < delegates_.size(); ++i)
+ delegates_[i]->CleanupOnUIThread();
+}
void RulesRegistryService::RegisterDefaultRulesRegistries() {
RulesRegistryStorageDelegate* delegate = new RulesRegistryStorageDelegate();
scoped_refptr<WebRequestRulesRegistry> web_request_rules_registry(
new WebRequestRulesRegistry(profile_, delegate));
- delegate->Init(profile_, web_request_rules_registry,
+ delegate->InitOnUIThread(profile_, web_request_rules_registry,
GetDeclarativeRuleStorageKey(
declarative_webrequest_constants::kOnRequest));
+ delegates_.push_back(delegate);
RegisterRulesRegistry(declarative_webrequest_constants::kOnRequest,
web_request_rules_registry);

Powered by Google App Engine
This is Rietveld 408576698