| 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 614712c2edfa1ee2c83822766f00ae024bf492dc..bede8418ae2e269512b31b8c93a855b493ba9e28 100644
|
| --- a/chrome/browser/extensions/api/declarative/rules_registry_service.cc
|
| +++ b/chrome/browser/extensions/api/declarative/rules_registry_service.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
|
|
|
| #include "base/bind.h"
|
| +#include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/extensions/api/declarative/initializing_rules_registry.h"
|
| @@ -35,7 +36,8 @@ RulesRegistryService::RulesRegistryService(Profile* profile)
|
| : profile_(profile) {
|
| if (profile) {
|
| registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
|
| - content::Source<Profile>(profile->GetOriginalProfile()));
|
| + content::Source<Profile>(profile->GetOriginalProfile()));
|
| + RegisterDefaultRulesRegistries();
|
| }
|
| }
|
|
|
| @@ -70,6 +72,20 @@ void RulesRegistryService::Shutdown() {
|
| profile_, scoped_refptr<WebRequestRulesRegistry>(NULL)));
|
| }
|
|
|
| +static base::LazyInstance<ProfileKeyedAPIFactory<RulesRegistryService> >
|
| +g_factory = LAZY_INSTANCE_INITIALIZER;
|
| +
|
| +// static
|
| +ProfileKeyedAPIFactory<RulesRegistryService>*
|
| +RulesRegistryService::GetFactoryInstance() {
|
| + return &g_factory.Get();
|
| +}
|
| +
|
| +// static
|
| +RulesRegistryService* RulesRegistryService::Get(Profile* profile) {
|
| + return ProfileKeyedAPIFactory<RulesRegistryService>::GetForProfile(profile);
|
| +}
|
| +
|
| void RulesRegistryService::RegisterRulesRegistry(
|
| scoped_refptr<RulesRegistry> rule_registry) {
|
| const std::string event_name(rule_registry->event_name());
|
|
|