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(); |
} |