[email protected] | 4575961 | 2012-07-10 17:21:23 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. | ||||
4 | |||||
5 | #ifndef CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ | ||||
6 | #define CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ | ||||
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 7 | |
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 8 | class ExtensionService; |
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 9 | |
10 | namespace extensions { | ||||
11 | |||||
[email protected] | 4575961 | 2012-07-10 17:21:23 | [diff] [blame] | 12 | class ExtensionPrefs; |
[email protected] | 284ffac | 2014-02-12 01:08:58 | [diff] [blame] | 13 | class ExtensionRegistry; |
[email protected] | 1c321ee | 2012-05-21 03:02:34 | [diff] [blame] | 14 | struct ExtensionInfo; |
15 | |||||
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 16 | // Loads installed extensions from the prefs. |
17 | class InstalledLoader { | ||||
18 | public: | ||||
19 | explicit InstalledLoader(ExtensionService* extension_service); | ||||
20 | virtual ~InstalledLoader(); | ||||
21 | |||||
22 | // Loads extension from prefs. | ||||
23 | void Load(const ExtensionInfo& info, bool write_to_prefs); | ||||
24 | |||||
25 | // Loads all installed extensions (used by startup and testing code). | ||||
26 | void LoadAllExtensions(); | ||||
27 | |||||
28 | private: | ||||
29 | // Returns the flags that should be used with Extension::Create() for an | ||||
30 | // extension that is already installed. | ||||
31 | int GetCreationFlags(const ExtensionInfo* info); | ||||
32 | |||||
rkaplow | a8fd8d3 | 2015-02-25 21:27:56 | [diff] [blame^] | 33 | // Record metrics related to the loaded extensions. |
34 | void RecordExtensionsMetrics(); | ||||
35 | |||||
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 36 | ExtensionService* extension_service_; |
[email protected] | 284ffac | 2014-02-12 01:08:58 | [diff] [blame] | 37 | ExtensionRegistry* extension_registry_; |
[email protected] | d8c8f25f | 2011-11-02 18:18:01 | [diff] [blame] | 38 | |
39 | ExtensionPrefs* extension_prefs_; | ||||
40 | }; | ||||
41 | |||||
42 | } // namespace extensions | ||||
43 | |||||
44 | #endif // CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ |