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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_
6 #define CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_
8 class ExtensionService
;
10 namespace extensions
{
13 class ExtensionRegistry
;
16 // Loads installed extensions from the prefs.
17 class InstalledLoader
{
19 explicit InstalledLoader(ExtensionService
* extension_service
);
20 virtual ~InstalledLoader();
22 // Loads extension from prefs.
23 void Load(const ExtensionInfo
& info
, bool write_to_prefs
);
25 // Loads all installed extensions (used by startup and testing code).
26 void LoadAllExtensions();
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
);
33 // Record metrics related to the loaded extensions.
34 void RecordExtensionsMetrics();
36 ExtensionService
* extension_service_
;
37 ExtensionRegistry
* extension_registry_
;
39 ExtensionPrefs
* extension_prefs_
;
42 } // namespace extensions
44 #endif // CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_