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. 4 5 #ifndef CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ 7 8 class ExtensionService; 9 10 namespace extensions { 11 12 class ExtensionPrefs; 13 class ExtensionRegistry; 14 struct ExtensionInfo; 15 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 33 ExtensionService* extension_service_; 34 ExtensionRegistry* extension_registry_; 35 36 ExtensionPrefs* extension_prefs_; 37 }; 38 39 } // namespace extensions 40 41 #endif // CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ 42