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