| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ |
| 7 | 7 |
| 8 #include "base/memory/scoped_vector.h" | 8 #include "base/memory/scoped_vector.h" |
| 9 #include "extensions/browser/extension_system.h" | 9 #include "extensions/browser/extension_system.h" |
| 10 #include "extensions/common/one_shot_event.h" | 10 #include "extensions/common/one_shot_event.h" |
| 11 | 11 |
| 12 class Profile; | 12 class Profile; |
| 13 | 13 |
| 14 namespace extensions { | 14 namespace extensions { |
| 15 | 15 |
| 16 class ContentVerifier; | 16 class ContentVerifier; |
| 17 class DeclarativeUserScriptMaster; | 17 class DeclarativeUserScriptMaster; |
| 18 class ExtensionSystemSharedFactory; | 18 class ExtensionSystemSharedFactory; |
| 19 class ExtensionWarningBadgeService; | 19 class ExtensionWarningBadgeService; |
| 20 class NavigationObserver; | 20 class NavigationObserver; |
| 21 class SharedUserScriptMaster; | 21 class SharedUserScriptMaster; |
| 22 class StandardManagementPolicyProvider; | |
| 23 class StateStoreNotificationObserver; | 22 class StateStoreNotificationObserver; |
| 24 | 23 |
| 25 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. | 24 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. |
| 26 // Implementation details: non-shared services are owned by | 25 // Implementation details: non-shared services are owned by |
| 27 // ExtensionSystemImpl, a KeyedService with separate incognito | 26 // ExtensionSystemImpl, a KeyedService with separate incognito |
| 28 // instances. A private Shared class (also a KeyedService, | 27 // instances. A private Shared class (also a KeyedService, |
| 29 // but with a shared instance for incognito) keeps the common services. | 28 // but with a shared instance for incognito) keeps the common services. |
| 30 class ExtensionSystemImpl : public ExtensionSystem { | 29 class ExtensionSystemImpl : public ExtensionSystem { |
| 31 public: | 30 public: |
| 32 explicit ExtensionSystemImpl(Profile* profile); | 31 explicit ExtensionSystemImpl(Profile* profile); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 scoped_ptr<EventRouter> event_router_; | 124 scoped_ptr<EventRouter> event_router_; |
| 126 scoped_ptr<NavigationObserver> navigation_observer_; | 125 scoped_ptr<NavigationObserver> navigation_observer_; |
| 127 // Shared memory region manager for scripts statically declared in extension | 126 // Shared memory region manager for scripts statically declared in extension |
| 128 // manifests. This region is shared between all extensions. | 127 // manifests. This region is shared between all extensions. |
| 129 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_; | 128 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_; |
| 130 // Shared memory region manager for programmatically declared scripts, one | 129 // Shared memory region manager for programmatically declared scripts, one |
| 131 // per extension. Managers are instantiated the first time the declarative | 130 // per extension. Managers are instantiated the first time the declarative |
| 132 // API is used by an extension to request content scripts. | 131 // API is used by an extension to request content scripts. |
| 133 ScopedVector<DeclarativeUserScriptMaster> declarative_user_script_masters_; | 132 ScopedVector<DeclarativeUserScriptMaster> declarative_user_script_masters_; |
| 134 scoped_ptr<Blacklist> blacklist_; | 133 scoped_ptr<Blacklist> blacklist_; |
| 135 // StandardManagementPolicyProvider depends on Blacklist. | |
| 136 scoped_ptr<StandardManagementPolicyProvider> | |
| 137 standard_management_policy_provider_; | |
| 138 scoped_ptr<RuntimeData> runtime_data_; | 134 scoped_ptr<RuntimeData> runtime_data_; |
| 139 // ExtensionService depends on StateStore, Blacklist and RuntimeData. | 135 // ExtensionService depends on StateStore, Blacklist and RuntimeData. |
| 140 scoped_ptr<ExtensionService> extension_service_; | 136 scoped_ptr<ExtensionService> extension_service_; |
| 141 scoped_ptr<ManagementPolicy> management_policy_; | 137 scoped_ptr<ManagementPolicy> management_policy_; |
| 142 // extension_info_map_ needs to outlive process_manager_. | 138 // extension_info_map_ needs to outlive process_manager_. |
| 143 scoped_refptr<InfoMap> extension_info_map_; | 139 scoped_refptr<InfoMap> extension_info_map_; |
| 144 scoped_ptr<WarningService> warning_service_; | 140 scoped_ptr<WarningService> warning_service_; |
| 145 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; | 141 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; |
| 146 scoped_ptr<ErrorConsole> error_console_; | 142 scoped_ptr<ErrorConsole> error_console_; |
| 147 scoped_ptr<InstallVerifier> install_verifier_; | 143 scoped_ptr<InstallVerifier> install_verifier_; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 167 // extension processes and those require access to the ResourceContext owned | 163 // extension processes and those require access to the ResourceContext owned |
| 168 // by |io_data_|. | 164 // by |io_data_|. |
| 169 scoped_ptr<ProcessManager> process_manager_; | 165 scoped_ptr<ProcessManager> process_manager_; |
| 170 | 166 |
| 171 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); | 167 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); |
| 172 }; | 168 }; |
| 173 | 169 |
| 174 } // namespace extensions | 170 } // namespace extensions |
| 175 | 171 |
| 176 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ | 172 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ |
| OLD | NEW |