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 struct ExtensionInfo; 14 15 // Loads installed extensions from the prefs. 16 class InstalledLoader { 17 public: 18 explicit InstalledLoader(ExtensionService* extension_service); 19 virtual ~InstalledLoader(); 20 21 // Loads extension from prefs. 22 void Load(const ExtensionInfo& info, bool write_to_prefs); 23 24 // Loads all installed extensions (used by startup and testing code). 25 void LoadAllExtensions(); 26 27 private: 28 // Returns the flags that should be used with Extension::Create() for an 29 // extension that is already installed. 30 int GetCreationFlags(const ExtensionInfo* info); 31 32 ExtensionService* extension_service_; 33 34 ExtensionPrefs* extension_prefs_; 35 }; 36 37 } // namespace extensions 38 39 #endif // CHROME_BROWSER_EXTENSIONS_INSTALLED_LOADER_H_ 40