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 |