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.
5 #include "chrome/browser/extensions/standard_management_policy_provider.h"
7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/extensions/admin_policy.h"
9 #include "chrome/browser/extensions/blacklist.h"
10 #include "chrome/browser/extensions/extension_prefs.h"
11 #include "chrome/common/extensions/extension.h"
12 #include "chrome/common/pref_names.h"
14 namespace extensions {
16 StandardManagementPolicyProvider::StandardManagementPolicyProvider(
17 ExtensionPrefs* prefs)
21 StandardManagementPolicyProvider::~StandardManagementPolicyProvider() {
25 StandardManagementPolicyProvider::GetDebugPolicyProviderName() const {
30 return "admin policy black/white/forcelist, via the ExtensionPrefs";
34 bool StandardManagementPolicyProvider::UserMayLoad(
35 const Extension* extension,
36 string16* error) const {
37 PrefService* pref_service = prefs_->pref_service();
39 const base::ListValue* blacklist =
40 pref_service->GetList(prefs::kExtensionInstallDenyList);
41 const base::ListValue* whitelist =
42 pref_service->GetList(prefs::kExtensionInstallAllowList);
43 const base::DictionaryValue* forcelist =
44 pref_service->GetDictionary(prefs::kExtensionInstallForceList);
45 const base::ListValue* allowed_types = NULL;
46 if (pref_service->HasPrefPath(prefs::kExtensionAllowedTypes))
47 allowed_types = pref_service->GetList(prefs::kExtensionAllowedTypes);
49 return admin_policy::UserMayLoad(
50 blacklist, whitelist, forcelist, allowed_types, extension, error);
53 bool StandardManagementPolicyProvider::UserMayModifySettings(
54 const Extension* extension,
55 string16* error) const {
56 return admin_policy::UserMayModifySettings(extension, error);
59 bool StandardManagementPolicyProvider::MustRemainEnabled(
60 const Extension* extension,
61 string16* error) const {
62 return admin_policy::MustRemainEnabled(extension, error);
65 } // namespace extensions