• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 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_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
6 #define CHROME_BROWSER_EXTENSIONS_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
7 
8 #include "extensions/browser/management_policy.h"
9 
10 namespace extensions {
11 
12 class Blacklist;
13 class Extension;
14 class ExtensionPrefs;
15 
16 // The standard management policy provider, which takes into account the
17 // extension black/whitelists and admin black/whitelists.
18 class StandardManagementPolicyProvider : public ManagementPolicy::Provider {
19  public:
20   // |prefs| must outlive this.
21   explicit StandardManagementPolicyProvider(ExtensionPrefs* prefs);
22 
23   virtual ~StandardManagementPolicyProvider();
24 
25   // ManagementPolicy::Provider implementation.
26   virtual std::string GetDebugPolicyProviderName() const OVERRIDE;
27   virtual bool UserMayLoad(const Extension* extension,
28                            base::string16* error) const OVERRIDE;
29   virtual bool UserMayModifySettings(const Extension* extension,
30                                      base::string16* error) const OVERRIDE;
31   virtual bool MustRemainEnabled(const Extension* extension,
32                                  base::string16* error) const OVERRIDE;
33 
34  private:
35   ExtensionPrefs* const prefs_;
36 };
37 
38 }  // namespace extensions
39 
40 #endif  // CHROME_BROWSER_EXTENSIONS_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
41