Home | History | Annotate | Download | only in extensions
      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