OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ | 5 #ifndef EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ |
6 #define EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ | 6 #define EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 22 matching lines...) Expand all Loading... |
33 namespace extensions { | 33 namespace extensions { |
34 | 34 |
35 class ApiActivityMonitor; | 35 class ApiActivityMonitor; |
36 class AppSorting; | 36 class AppSorting; |
37 class Extension; | 37 class Extension; |
38 class ExtensionHostDelegate; | 38 class ExtensionHostDelegate; |
39 class ExtensionPrefsObserver; | 39 class ExtensionPrefsObserver; |
40 class ExtensionSystem; | 40 class ExtensionSystem; |
41 class ExtensionSystemProvider; | 41 class ExtensionSystemProvider; |
42 class InfoMap; | 42 class InfoMap; |
| 43 class RuntimeAPIDelegate; |
43 | 44 |
44 // Interface to allow the extensions module to make browser-process-specific | 45 // Interface to allow the extensions module to make browser-process-specific |
45 // queries of the embedder. Should be Set() once in the browser process. | 46 // queries of the embedder. Should be Set() once in the browser process. |
46 // | 47 // |
47 // NOTE: Methods that do not require knowledge of browser concepts should be | 48 // NOTE: Methods that do not require knowledge of browser concepts should be |
48 // added in ExtensionsClient (extensions/common/extensions_client.h) even if | 49 // added in ExtensionsClient (extensions/common/extensions_client.h) even if |
49 // they are only used in the browser process. | 50 // they are only used in the browser process. |
50 class ExtensionsBrowserClient { | 51 class ExtensionsBrowserClient { |
51 public: | 52 public: |
52 virtual ~ExtensionsBrowserClient() {} | 53 virtual ~ExtensionsBrowserClient() {} |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 content::BrowserContext* context) = 0; | 160 content::BrowserContext* context) = 0; |
160 | 161 |
161 // Returns the factory that provides an ExtensionSystem to be returned from | 162 // Returns the factory that provides an ExtensionSystem to be returned from |
162 // ExtensionSystem::Get. | 163 // ExtensionSystem::Get. |
163 virtual ExtensionSystemProvider* GetExtensionSystemFactory() = 0; | 164 virtual ExtensionSystemProvider* GetExtensionSystemFactory() = 0; |
164 | 165 |
165 // Registers extension functions not belonging to the core extensions APIs. | 166 // Registers extension functions not belonging to the core extensions APIs. |
166 virtual void RegisterExtensionFunctions( | 167 virtual void RegisterExtensionFunctions( |
167 ExtensionFunctionRegistry* registry) const = 0; | 168 ExtensionFunctionRegistry* registry) const = 0; |
168 | 169 |
| 170 // Creates a RuntimeAPIDelegate responsible for handling extensions |
| 171 // management-related events such as update and installation on behalf of the |
| 172 // core runtime API implementation. |
| 173 virtual scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate( |
| 174 content::BrowserContext* context) const = 0; |
| 175 |
169 // Returns the single instance of |this|. | 176 // Returns the single instance of |this|. |
170 static ExtensionsBrowserClient* Get(); | 177 static ExtensionsBrowserClient* Get(); |
171 | 178 |
172 // Initialize the single instance. | 179 // Initialize the single instance. |
173 static void Set(ExtensionsBrowserClient* client); | 180 static void Set(ExtensionsBrowserClient* client); |
174 }; | 181 }; |
175 | 182 |
176 } // namespace extensions | 183 } // namespace extensions |
177 | 184 |
178 #endif // EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ | 185 #endif // EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ |
OLD | NEW |