Chromium Code Reviews| Index: chrome/browser/extensions/extension_system.cc |
| diff --git a/chrome/browser/extensions/extension_system.cc b/chrome/browser/extensions/extension_system.cc |
| index 7be170789dec341d22127d3dfd5a5ef92dcbcb25..08c8d95bc638c32560dfcaca9b0ec971fa65d27f 100644 |
| --- a/chrome/browser/extensions/extension_system.cc |
| +++ b/chrome/browser/extensions/extension_system.cc |
| @@ -73,8 +73,6 @@ ExtensionSystemImpl::Shared::Shared(Profile* profile) |
| } |
| ExtensionSystemImpl::Shared::~Shared() { |
| - if (rules_registry_service_.get()) |
| - rules_registry_service_->Shutdown(); |
| } |
| void ExtensionSystemImpl::Shared::InitPrefs() { |
| @@ -135,9 +133,6 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) { |
| // These services must be registered before the ExtensionService tries to |
| // load any extensions. |
| { |
| - rules_registry_service_.reset(new RulesRegistryService(profile_)); |
| - rules_registry_service_->RegisterDefaultRulesRegistries(); |
| - |
| management_policy_.reset(new ManagementPolicy); |
| RegisterManagementPolicyProviders(); |
| } |
| @@ -237,10 +232,6 @@ EventRouter* ExtensionSystemImpl::Shared::event_router() { |
| return extension_event_router_.get(); |
| } |
| -RulesRegistryService* ExtensionSystemImpl::Shared::rules_registry_service() { |
| - return rules_registry_service_.get(); |
| -} |
| - |
| // |
| // ExtensionSystemImpl |
| // |
| @@ -258,13 +249,15 @@ ExtensionSystemImpl::ExtensionSystemImpl(Profile* profile) |
| } |
| ExtensionSystemImpl::~ExtensionSystemImpl() { |
| + if (rules_registry_service_.get()) |
| + rules_registry_service_->Shutdown(); |
| } |
| void ExtensionSystemImpl::Shutdown() { |
| extension_process_manager_.reset(); |
| } |
| -void ExtensionSystemImpl::Init(bool extensions_enabled) { |
| +void ExtensionSystemImpl::InitForRegularProfile(bool extensions_enabled) { |
| DCHECK(!profile_->IsOffTheRecord()); |
| if (user_script_master() || extension_service()) |
| return; // Already initialized. |
| @@ -286,9 +279,19 @@ void ExtensionSystemImpl::Init(bool extensions_enabled) { |
| usb_device_resource_manager_.reset( |
| new ApiResourceManager<UsbDeviceResource>(BrowserThread::IO)); |
| + rules_registry_service_.reset(new RulesRegistryService(profile_)); |
| + rules_registry_service_->RegisterDefaultRulesRegistries( |
| + profile_->IsOffTheRecord()); |
| + |
| shared_->Init(extensions_enabled); |
| } |
| +void ExtensionSystemImpl::InitForOTRProfile() { |
|
Matt Perry
2012/07/25 21:27:56
I wonder if this should just be done in the constr
battre
2012/07/26 16:38:43
No, RegisterDefaultRulesRegistries calls extension
|
| + rules_registry_service_.reset(new RulesRegistryService(profile_)); |
| + rules_registry_service_->RegisterDefaultRulesRegistries( |
| + profile_->IsOffTheRecord()); |
| +} |
| + |
| ExtensionService* ExtensionSystemImpl::extension_service() { |
| return shared_->extension_service(); |
| } |
| @@ -336,7 +339,7 @@ EventRouter* ExtensionSystemImpl::event_router() { |
| } |
| RulesRegistryService* ExtensionSystemImpl::rules_registry_service() { |
| - return shared_->rules_registry_service(); |
| + return rules_registry_service_.get(); |
| } |
| ApiResourceManager<SerialConnection>* |
| @@ -344,7 +347,7 @@ ExtensionSystemImpl::serial_connection_manager() { |
| return serial_connection_manager_.get(); |
| } |
| -ApiResourceManager<Socket>*ExtensionSystemImpl::socket_manager() { |
| +ApiResourceManager<Socket>* ExtensionSystemImpl::socket_manager() { |
| return socket_manager_.get(); |
| } |