Index: chrome/browser/extensions/extension_system_impl.cc |
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc |
index 251b8a2089ba8b4192af08917806798c8745768e..21deb51c1a938d73928cd0d4e959876037d41a12 100644 |
--- a/chrome/browser/extensions/extension_system_impl.cc |
+++ b/chrome/browser/extensions/extension_system_impl.cc |
@@ -43,6 +43,7 @@ |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/url_data_source.h" |
+#include "extensions/browser/api/declarative_net_request/rules_monitor.h" |
#include "extensions/browser/content_verifier.h" |
#include "extensions/browser/extension_pref_store.h" |
#include "extensions/browser/extension_pref_value_map.h" |
@@ -263,6 +264,14 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) { |
InitInstallGates(); |
+ // TODO is this the correct place for initialization? rules_store is |
+ // initialized in InitPrefs(). Should be before init, |
+ // extension_service_->Init() since should be setup before extensions are |
+ // loaded. Should be after extension service constructor since requires file |
+ // task runner. |
+ rules_monitor_ = base::MakeUnique<declarative_net_request::RulesMonitor>( |
+ profile_, extension_service_->GetFileTaskRunner(), info_map()); |
+ |
extension_service_->Init(); |
// Make sure ExtensionSyncService is created. |
@@ -331,6 +340,11 @@ ContentVerifier* ExtensionSystemImpl::Shared::content_verifier() { |
return content_verifier_.get(); |
} |
+declarative_net_request::RulesMonitor* |
+ExtensionSystemImpl::Shared::rules_monitor() { |
+ return rules_monitor_.get(); |
+} |
+ |
void ExtensionSystemImpl::Shared::Observe( |
int type, |
const content::NotificationSource& source, |
@@ -419,6 +433,10 @@ ContentVerifier* ExtensionSystemImpl::content_verifier() { |
return shared_->content_verifier(); |
} |
+declarative_net_request::RulesMonitor* ExtensionSystemImpl::rules_monitor() { |
+ return shared_->rules_monitor(); |
+} |
+ |
std::unique_ptr<ExtensionSet> ExtensionSystemImpl::GetDependentExtensions( |
const Extension* extension) { |
return extension_service()->shared_module_service()->GetDependentExtensions( |