Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 30 class EventRouter; | 30 class EventRouter; |
| 31 class Extension; | 31 class Extension; |
| 32 class ExtensionPrefs; | 32 class ExtensionPrefs; |
| 33 class ExtensionSystemSharedFactory; | 33 class ExtensionSystemSharedFactory; |
| 34 class ExtensionWarningBadgeService; | 34 class ExtensionWarningBadgeService; |
| 35 class ExtensionWarningService; | 35 class ExtensionWarningService; |
| 36 class LazyBackgroundTaskQueue; | 36 class LazyBackgroundTaskQueue; |
| 37 class ManagementPolicy; | 37 class ManagementPolicy; |
| 38 class MessageService; | 38 class MessageService; |
| 39 class NavigationObserver; | 39 class NavigationObserver; |
| 40 class PlatformAppRedirector; | |
| 40 class RulesRegistryService; | 41 class RulesRegistryService; |
| 41 class ShellWindowGeometryCache; | 42 class ShellWindowGeometryCache; |
| 42 class StandardManagementPolicyProvider; | 43 class StandardManagementPolicyProvider; |
| 43 class StateStore; | 44 class StateStore; |
| 44 class UserScriptMaster; | 45 class UserScriptMaster; |
| 45 | 46 |
| 46 // The ExtensionSystem manages the creation and destruction of services | 47 // The ExtensionSystem manages the creation and destruction of services |
| 47 // related to extensions. Most objects are shared between normal | 48 // related to extensions. Most objects are shared between normal |
| 48 // and incognito Profiles, except as called out in comments. | 49 // and incognito Profiles, except as called out in comments. |
| 49 // This interface supports using TestExtensionSystem for TestingProfiles | 50 // This interface supports using TestExtensionSystem for TestingProfiles |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 122 // The UsbDeviceResource ResourceManager is created at startup. | 123 // The UsbDeviceResource ResourceManager is created at startup. |
| 123 virtual ApiResourceManager<UsbDeviceResource>* | 124 virtual ApiResourceManager<UsbDeviceResource>* |
| 124 usb_device_resource_manager() = 0; | 125 usb_device_resource_manager() = 0; |
| 125 | 126 |
| 126 // The ExtensionWarningService is created at startup. | 127 // The ExtensionWarningService is created at startup. |
| 127 virtual ExtensionWarningService* warning_service() = 0; | 128 virtual ExtensionWarningService* warning_service() = 0; |
| 128 | 129 |
| 129 // The blacklist is created at startup. | 130 // The blacklist is created at startup. |
| 130 virtual Blacklist* blacklist() = 0; | 131 virtual Blacklist* blacklist() = 0; |
| 131 | 132 |
| 133 // The PlatformAppRedirector is created at startup. | |
| 134 virtual PlatformAppRedirector* platform_app_redirector() = 0; | |
| 135 | |
| 132 // Called by the ExtensionService that lives in this system. Gives the | 136 // Called by the ExtensionService that lives in this system. Gives the |
| 133 // info map a chance to react to the load event before the EXTENSION_LOADED | 137 // info map a chance to react to the load event before the EXTENSION_LOADED |
| 134 // notification has fired. The purpose for handling this event first is to | 138 // notification has fired. The purpose for handling this event first is to |
| 135 // avoid race conditions by making sure URLRequestContexts learn about new | 139 // avoid race conditions by making sure URLRequestContexts learn about new |
| 136 // extensions before anything else needs them to know. | 140 // extensions before anything else needs them to know. |
| 137 virtual void RegisterExtensionWithRequestContexts( | 141 virtual void RegisterExtensionWithRequestContexts( |
| 138 const Extension* extension) {} | 142 const Extension* extension) {} |
| 139 | 143 |
| 140 // Called by the ExtensionService that lives in this system. Lets the | 144 // Called by the ExtensionService that lives in this system. Lets the |
| 141 // info map clean up its RequestContexts once all the listeners to the | 145 // info map clean up its RequestContexts once all the listeners to the |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 178 virtual EventRouter* event_router() OVERRIDE; // shared | 182 virtual EventRouter* event_router() OVERRIDE; // shared |
| 179 virtual RulesRegistryService* rules_registry_service() | 183 virtual RulesRegistryService* rules_registry_service() |
| 180 OVERRIDE; // shared | 184 OVERRIDE; // shared |
| 181 virtual ApiResourceManager<SerialConnection>* serial_connection_manager() | 185 virtual ApiResourceManager<SerialConnection>* serial_connection_manager() |
| 182 OVERRIDE; | 186 OVERRIDE; |
| 183 virtual ApiResourceManager<Socket>* socket_manager() OVERRIDE; | 187 virtual ApiResourceManager<Socket>* socket_manager() OVERRIDE; |
| 184 virtual ApiResourceManager<UsbDeviceResource>* usb_device_resource_manager() | 188 virtual ApiResourceManager<UsbDeviceResource>* usb_device_resource_manager() |
| 185 OVERRIDE; | 189 OVERRIDE; |
| 186 virtual ExtensionWarningService* warning_service() OVERRIDE; | 190 virtual ExtensionWarningService* warning_service() OVERRIDE; |
| 187 virtual Blacklist* blacklist() OVERRIDE; // shared | 191 virtual Blacklist* blacklist() OVERRIDE; // shared |
| 192 virtual PlatformAppRedirector* platform_app_redirector() OVERRIDE; | |
|
not at google - send to devlin
2013/08/29 17:35:56
// shared
I'm pretty sure this doesn't need to be
sergeygs
2013/08/30 00:39:44
Done.
| |
| 188 | 193 |
| 189 virtual void RegisterExtensionWithRequestContexts( | 194 virtual void RegisterExtensionWithRequestContexts( |
| 190 const Extension* extension) OVERRIDE; | 195 const Extension* extension) OVERRIDE; |
| 191 | 196 |
| 192 virtual void UnregisterExtensionWithRequestContexts( | 197 virtual void UnregisterExtensionWithRequestContexts( |
| 193 const std::string& extension_id, | 198 const std::string& extension_id, |
| 194 const extension_misc::UnloadedExtensionReason reason) OVERRIDE; | 199 const extension_misc::UnloadedExtensionReason reason) OVERRIDE; |
| 195 | 200 |
| 196 private: | 201 private: |
| 197 friend class ExtensionSystemSharedFactory; | 202 friend class ExtensionSystemSharedFactory; |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 219 ShellWindowGeometryCache* shell_window_geometry_cache(); | 224 ShellWindowGeometryCache* shell_window_geometry_cache(); |
| 220 ExtensionService* extension_service(); | 225 ExtensionService* extension_service(); |
| 221 ManagementPolicy* management_policy(); | 226 ManagementPolicy* management_policy(); |
| 222 UserScriptMaster* user_script_master(); | 227 UserScriptMaster* user_script_master(); |
| 223 Blacklist* blacklist(); | 228 Blacklist* blacklist(); |
| 224 ExtensionInfoMap* info_map(); | 229 ExtensionInfoMap* info_map(); |
| 225 LazyBackgroundTaskQueue* lazy_background_task_queue(); | 230 LazyBackgroundTaskQueue* lazy_background_task_queue(); |
| 226 MessageService* message_service(); | 231 MessageService* message_service(); |
| 227 EventRouter* event_router(); | 232 EventRouter* event_router(); |
| 228 ExtensionWarningService* warning_service(); | 233 ExtensionWarningService* warning_service(); |
| 234 PlatformAppRedirector* platform_app_redirector(); | |
| 229 | 235 |
| 230 private: | 236 private: |
| 231 Profile* profile_; | 237 Profile* profile_; |
| 232 | 238 |
| 233 // The services that are shared between normal and incognito profiles. | 239 // The services that are shared between normal and incognito profiles. |
| 234 | 240 |
| 235 base::DefaultClock clock_; | 241 base::DefaultClock clock_; |
| 236 scoped_ptr<StateStore> state_store_; | 242 scoped_ptr<StateStore> state_store_; |
| 237 scoped_ptr<StateStore> rules_store_; | 243 scoped_ptr<StateStore> rules_store_; |
| 238 scoped_ptr<ExtensionPrefs> extension_prefs_; | 244 scoped_ptr<ExtensionPrefs> extension_prefs_; |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 250 // StandardManagementPolicyProvider depends on ExtensionPrefs and Blacklist. | 256 // StandardManagementPolicyProvider depends on ExtensionPrefs and Blacklist. |
| 251 scoped_ptr<StandardManagementPolicyProvider> | 257 scoped_ptr<StandardManagementPolicyProvider> |
| 252 standard_management_policy_provider_; | 258 standard_management_policy_provider_; |
| 253 // ExtensionService depends on ExtensionPrefs, StateStore, and Blacklist. | 259 // ExtensionService depends on ExtensionPrefs, StateStore, and Blacklist. |
| 254 scoped_ptr<ExtensionService> extension_service_; | 260 scoped_ptr<ExtensionService> extension_service_; |
| 255 scoped_ptr<ManagementPolicy> management_policy_; | 261 scoped_ptr<ManagementPolicy> management_policy_; |
| 256 // extension_info_map_ needs to outlive extension_process_manager_. | 262 // extension_info_map_ needs to outlive extension_process_manager_. |
| 257 scoped_refptr<ExtensionInfoMap> extension_info_map_; | 263 scoped_refptr<ExtensionInfoMap> extension_info_map_; |
| 258 scoped_ptr<ExtensionWarningService> extension_warning_service_; | 264 scoped_ptr<ExtensionWarningService> extension_warning_service_; |
| 259 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; | 265 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; |
| 266 scoped_ptr<PlatformAppRedirector> platform_app_redirector_; | |
| 260 }; | 267 }; |
| 261 | 268 |
| 262 Profile* profile_; | 269 Profile* profile_; |
| 263 | 270 |
| 264 Shared* shared_; | 271 Shared* shared_; |
| 265 | 272 |
| 266 // |extension_process_manager_| must be destroyed before the Profile's | 273 // |extension_process_manager_| must be destroyed before the Profile's |
| 267 // |io_data_|. While |extension_process_manager_| still lives, we handle | 274 // |io_data_|. While |extension_process_manager_| still lives, we handle |
| 268 // incoming resource requests from extension processes and those require | 275 // incoming resource requests from extension processes and those require |
| 269 // access to the ResourceContext owned by |io_data_|. | 276 // access to the ResourceContext owned by |io_data_|. |
| 270 scoped_ptr<ExtensionProcessManager> extension_process_manager_; | 277 scoped_ptr<ExtensionProcessManager> extension_process_manager_; |
| 271 scoped_ptr<AlarmManager> alarm_manager_; | 278 scoped_ptr<AlarmManager> alarm_manager_; |
| 272 scoped_ptr<ApiResourceManager<SerialConnection> > serial_connection_manager_; | 279 scoped_ptr<ApiResourceManager<SerialConnection> > serial_connection_manager_; |
| 273 scoped_ptr<ApiResourceManager<Socket> > socket_manager_; | 280 scoped_ptr<ApiResourceManager<Socket> > socket_manager_; |
| 274 scoped_ptr<ApiResourceManager< | 281 scoped_ptr<ApiResourceManager< |
| 275 UsbDeviceResource> > usb_device_resource_manager_; | 282 UsbDeviceResource> > usb_device_resource_manager_; |
| 276 scoped_ptr<RulesRegistryService> rules_registry_service_; | 283 scoped_ptr<RulesRegistryService> rules_registry_service_; |
| 277 | 284 |
| 278 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); | 285 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); |
| 279 }; | 286 }; |
| 280 | 287 |
| 281 } // namespace extensions | 288 } // namespace extensions |
| 282 | 289 |
| 283 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ | 290 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ |
| OLD | NEW |