| Index: trunk/src/chrome/browser/extensions/extension_system.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/extensions/extension_system.cc (revision 202762)
|
| +++ trunk/src/chrome/browser/extensions/extension_system.cc (working copy)
|
| @@ -11,6 +11,7 @@
|
| #include "base/strings/string_tokenizer.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/content_settings/cookie_settings.h"
|
| +#include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
|
| #include "chrome/browser/extensions/blacklist.h"
|
| #include "chrome/browser/extensions/component_loader.h"
|
| #include "chrome/browser/extensions/event_router.h"
|
| @@ -287,6 +288,8 @@
|
| }
|
|
|
| ExtensionSystemImpl::~ExtensionSystemImpl() {
|
| + if (rules_registry_service_)
|
| + rules_registry_service_->Shutdown();
|
| }
|
|
|
| void ExtensionSystemImpl::Shutdown() {
|
| @@ -310,9 +313,23 @@
|
| usb_device_resource_manager_.reset(
|
| new ApiResourceManager<UsbDeviceResource>(BrowserThread::IO));
|
|
|
| + rules_registry_service_.reset(new RulesRegistryService(profile_));
|
| + rules_registry_service_->RegisterDefaultRulesRegistries();
|
| +
|
| shared_->Init(extensions_enabled);
|
| }
|
|
|
| +void ExtensionSystemImpl::InitForOTRProfile() {
|
| + // Only initialize the RulesRegistryService of the OTR ExtensionSystem if the
|
| + // regular ExtensionSystem has been initialized properly, as we depend on it.
|
| + // Some ChromeOS browser tests don't initialize the regular ExtensionSystem
|
| + // in login-tests.
|
| + if (extension_service()) {
|
| + rules_registry_service_.reset(new RulesRegistryService(profile_));
|
| + rules_registry_service_->RegisterDefaultRulesRegistries();
|
| + }
|
| +}
|
| +
|
| ExtensionService* ExtensionSystemImpl::extension_service() {
|
| return shared_->extension_service();
|
| }
|
| @@ -349,6 +366,10 @@
|
| return shared_->event_router();
|
| }
|
|
|
| +RulesRegistryService* ExtensionSystemImpl::rules_registry_service() {
|
| + return rules_registry_service_.get();
|
| +}
|
| +
|
| ApiResourceManager<SerialConnection>*
|
| ExtensionSystemImpl::serial_connection_manager() {
|
| return serial_connection_manager_.get();
|
|
|