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

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

Issue 53273002: Decouple RulesCacheDelegate from RulesRegistry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor_rules_registry_with_cache
Patch Set: Updated Created 7 years, 1 month 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.cc
diff --git a/chrome/browser/extensions/api/declarative/rules_registry.cc b/chrome/browser/extensions/api/declarative/rules_registry.cc
index 1e6e5c118203889e6639a4af04f1811806fbd3f4..255de0ec2f7a4d84762518b0ec59dc9917e88a5a 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry.cc
@@ -75,29 +75,20 @@ RulesRegistry::RulesRegistry(
Profile* profile,
const std::string& event_name,
content::BrowserThread::ID owner_thread,
- bool log_storage_init_delay,
- scoped_ptr<RulesCacheDelegate>* ui_part)
- : owner_thread_(owner_thread),
+ RulesCacheDelegate* cache_delegate)
+ : profile_(profile),
+ owner_thread_(owner_thread),
event_name_(event_name),
weak_ptr_factory_(profile ? this : NULL),
- cache_delegate_(
- (profile ? (new RulesCacheDelegate(profile,
- event_name,
- owner_thread,
- weak_ptr_factory_.GetWeakPtr(),
- log_storage_init_delay))->GetWeakPtr()
- : base::WeakPtr<RulesCacheDelegate>())),
process_changed_rules_requested_(profile ? NOT_SCHEDULED_FOR_PROCESSING
: NEVER_PROCESS),
last_generated_rule_identifier_id_(0) {
- if (!profile) {
- CHECK(!ui_part);
- return;
+ if (cache_delegate) {
+ cache_delegate_ = cache_delegate->GetWeakPtr();
+ cache_delegate->Init(this);
+ } else {
+ ready_.Signal();
}
-
- ui_part->reset(cache_delegate_.get());
-
- cache_delegate_->Init();
}
std::string RulesRegistry::AddRules(
@@ -231,6 +222,14 @@ size_t RulesRegistry::GetNumberOfUsedRuleIdentifiersForTesting() const {
return entry_count;
}
+void RulesRegistry::DeserializeAndAddRules(
+ const std::string& extension_id,
+ scoped_ptr<base::Value> rules) {
+ DCHECK(content::BrowserThread::CurrentlyOn(owner_thread()));
+
+ AddRules(extension_id, RulesFromValue(rules.get()));
+}
+
RulesRegistry::~RulesRegistry() {
}
@@ -245,14 +244,6 @@ void RulesRegistry::MarkReady(base::Time storage_init_time) {
ready_.Signal();
}
-void RulesRegistry::DeserializeAndAddRules(
- const std::string& extension_id,
- scoped_ptr<base::Value> rules) {
- DCHECK(content::BrowserThread::CurrentlyOn(owner_thread()));
-
- AddRules(extension_id, RulesFromValue(rules.get()));
-}
-
void RulesRegistry::ProcessChangedRules(const std::string& extension_id) {
DCHECK(content::BrowserThread::CurrentlyOn(owner_thread()));

Powered by Google App Engine
This is Rietveld 408576698