| 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 static ExtensionSystem* Get(Profile* profile); | 59 static ExtensionSystem* Get(Profile* profile); |
| 60 | 60 |
| 61 // Returns the same instance as Get() above. | 61 // Returns the same instance as Get() above. |
| 62 static ExtensionSystem* GetForBrowserContext( | 62 static ExtensionSystem* GetForBrowserContext( |
| 63 content::BrowserContext* profile); | 63 content::BrowserContext* profile); |
| 64 | 64 |
| 65 // BrowserContextKeyedService implementation. | 65 // BrowserContextKeyedService implementation. |
| 66 virtual void Shutdown() OVERRIDE {} | 66 virtual void Shutdown() OVERRIDE {} |
| 67 | 67 |
| 68 // Initializes extensions machinery. | 68 // Initializes extensions machinery. |
| 69 // Component extensions are always enabled, external and user extensions | 69 // Component extensions are always enabled, external and user extensions are |
| 70 // are controlled by |extensions_enabled|. If |defer_background_creation| is | 70 // controlled by |extensions_enabled|. |
| 71 // true, then creation of background extension RenderViews will be deferred | 71 virtual void InitForRegularProfile(bool extensions_enabled) = 0; |
| 72 // until extensions::ProcessManager::DeferBackgroundHostCreation is called | |
| 73 // with |defer| set to false. | |
| 74 virtual void InitForRegularProfile(bool extensions_enabled, | |
| 75 bool defer_background_creation) = 0; | |
| 76 | 72 |
| 77 // The ExtensionService is created at startup. | 73 // The ExtensionService is created at startup. |
| 78 virtual ExtensionService* extension_service() = 0; | 74 virtual ExtensionService* extension_service() = 0; |
| 79 | 75 |
| 80 // The class controlling whether users are permitted to perform certain | 76 // The class controlling whether users are permitted to perform certain |
| 81 // actions on extensions (install, uninstall, disable, etc.). | 77 // actions on extensions (install, uninstall, disable, etc.). |
| 82 // The ManagementPolicy is created at startup. | 78 // The ManagementPolicy is created at startup. |
| 83 virtual ManagementPolicy* management_policy() = 0; | 79 virtual ManagementPolicy* management_policy() = 0; |
| 84 | 80 |
| 85 // The UserScriptMaster is created at startup. | 81 // The UserScriptMaster is created at startup. |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 // instances. A private Shared class (also a BrowserContextKeyedService, | 136 // instances. A private Shared class (also a BrowserContextKeyedService, |
| 141 // but with a shared instance for incognito) keeps the common services. | 137 // but with a shared instance for incognito) keeps the common services. |
| 142 class ExtensionSystemImpl : public ExtensionSystem { | 138 class ExtensionSystemImpl : public ExtensionSystem { |
| 143 public: | 139 public: |
| 144 explicit ExtensionSystemImpl(Profile* profile); | 140 explicit ExtensionSystemImpl(Profile* profile); |
| 145 virtual ~ExtensionSystemImpl(); | 141 virtual ~ExtensionSystemImpl(); |
| 146 | 142 |
| 147 // BrowserContextKeyedService implementation. | 143 // BrowserContextKeyedService implementation. |
| 148 virtual void Shutdown() OVERRIDE; | 144 virtual void Shutdown() OVERRIDE; |
| 149 | 145 |
| 150 virtual void InitForRegularProfile(bool extensions_enabled, | 146 virtual void InitForRegularProfile(bool extensions_enabled) OVERRIDE; |
| 151 bool defer_background_creation) OVERRIDE; | |
| 152 | 147 |
| 153 virtual ExtensionService* extension_service() OVERRIDE; // shared | 148 virtual ExtensionService* extension_service() OVERRIDE; // shared |
| 154 virtual ManagementPolicy* management_policy() OVERRIDE; // shared | 149 virtual ManagementPolicy* management_policy() OVERRIDE; // shared |
| 155 virtual UserScriptMaster* user_script_master() OVERRIDE; // shared | 150 virtual UserScriptMaster* user_script_master() OVERRIDE; // shared |
| 156 virtual ProcessManager* process_manager() OVERRIDE; | 151 virtual ProcessManager* process_manager() OVERRIDE; |
| 157 virtual StateStore* state_store() OVERRIDE; // shared | 152 virtual StateStore* state_store() OVERRIDE; // shared |
| 158 virtual StateStore* rules_store() OVERRIDE; // shared | 153 virtual StateStore* rules_store() OVERRIDE; // shared |
| 159 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() | 154 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() |
| 160 OVERRIDE; // shared | 155 OVERRIDE; // shared |
| 161 virtual InfoMap* info_map() OVERRIDE; // shared | 156 virtual InfoMap* info_map() OVERRIDE; // shared |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 // extension processes and those require access to the ResourceContext owned | 246 // extension processes and those require access to the ResourceContext owned |
| 252 // by |io_data_|. | 247 // by |io_data_|. |
| 253 scoped_ptr<ProcessManager> process_manager_; | 248 scoped_ptr<ProcessManager> process_manager_; |
| 254 | 249 |
| 255 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); | 250 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); |
| 256 }; | 251 }; |
| 257 | 252 |
| 258 } // namespace extensions | 253 } // namespace extensions |
| 259 | 254 |
| 260 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ | 255 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ |
| OLD | NEW |