OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/configuration_policy_provider.h" | 5 #include "chrome/browser/configuration_policy_provider.h" |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
| 8 #include "chrome/common/policy_constants.h" |
8 | 9 |
9 namespace { | 10 namespace { |
10 | 11 |
11 // TODO(avi): Use this mapping to auto-generate MCX manifests and Windows | 12 // TODO(avi): Use this mapping to auto-generate MCX manifests and Windows |
12 // ADM/ADMX files. http://crbug.com/49316 | 13 // ADM/ADMX files. http://crbug.com/49316 |
13 | 14 |
14 struct InternalPolicyValueMapEntry { | 15 struct InternalPolicyValueMapEntry { |
15 ConfigurationPolicyStore::PolicyType policy_type; | 16 ConfigurationPolicyStore::PolicyType policy_type; |
16 Value::ValueType value_type; | 17 Value::ValueType value_type; |
17 const char* name; | 18 const char* name; |
18 }; | 19 }; |
19 | 20 |
20 const InternalPolicyValueMapEntry kPolicyValueMap[] = { | 21 const InternalPolicyValueMapEntry kPolicyValueMap[] = { |
21 { ConfigurationPolicyStore::kPolicyHomePage, | 22 { ConfigurationPolicyStore::kPolicyHomePage, |
22 Value::TYPE_STRING, "HomepageLocation" }, | 23 Value::TYPE_STRING, policy::key::kHomepageLocation }, |
23 { ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage, | 24 { ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage, |
24 Value::TYPE_BOOLEAN, "HomepageIsNewTabPage" }, | 25 Value::TYPE_BOOLEAN, policy::key::kHomepageIsNewTabPage }, |
25 { ConfigurationPolicyStore::kPolicyProxyServerMode, | 26 { ConfigurationPolicyStore::kPolicyProxyServerMode, |
26 Value::TYPE_INTEGER, "ProxyServerMode" }, | 27 Value::TYPE_INTEGER, policy::key::kProxyServerMode }, |
27 { ConfigurationPolicyStore::kPolicyProxyServer, | 28 { ConfigurationPolicyStore::kPolicyProxyServer, |
28 Value::TYPE_STRING, "ProxyServer" }, | 29 Value::TYPE_STRING, policy::key::kProxyServer }, |
29 { ConfigurationPolicyStore::kPolicyProxyPacUrl, | 30 { ConfigurationPolicyStore::kPolicyProxyPacUrl, |
30 Value::TYPE_STRING, "ProxyPacUrl" }, | 31 Value::TYPE_STRING, policy::key::kProxyPacUrl }, |
31 { ConfigurationPolicyStore::kPolicyProxyBypassList, | 32 { ConfigurationPolicyStore::kPolicyProxyBypassList, |
32 Value::TYPE_STRING, "ProxyBypassList" }, | 33 Value::TYPE_STRING, policy::key::kProxyBypassList }, |
33 { ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled, | 34 { ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled, |
34 Value::TYPE_BOOLEAN, "AlternateErrorPagesEnabled" }, | 35 Value::TYPE_BOOLEAN, policy::key::kAlternateErrorPagesEnabled }, |
35 { ConfigurationPolicyStore::kPolicySearchSuggestEnabled, | 36 { ConfigurationPolicyStore::kPolicySearchSuggestEnabled, |
36 Value::TYPE_BOOLEAN, "SearchSuggestEnabled" }, | 37 Value::TYPE_BOOLEAN, policy::key::kSearchSuggestEnabled }, |
37 { ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled, | 38 { ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled, |
38 Value::TYPE_BOOLEAN, "DnsPrefetchingEnabled" }, | 39 Value::TYPE_BOOLEAN, policy::key::kDnsPrefetchingEnabled }, |
39 { ConfigurationPolicyStore::kPolicySafeBrowsingEnabled, | 40 { ConfigurationPolicyStore::kPolicySafeBrowsingEnabled, |
40 Value::TYPE_BOOLEAN, "SafeBrowsingEnabled" }, | 41 Value::TYPE_BOOLEAN, policy::key::kSafeBrowsingEnabled }, |
41 { ConfigurationPolicyStore::kPolicyMetricsReportingEnabled, | 42 { ConfigurationPolicyStore::kPolicyMetricsReportingEnabled, |
42 Value::TYPE_BOOLEAN, "MetricsReportingEnabled" }, | 43 Value::TYPE_BOOLEAN, policy::key::kMetricsReportingEnabled }, |
43 { ConfigurationPolicyStore::kPolicyPasswordManagerEnabled, | 44 { ConfigurationPolicyStore::kPolicyPasswordManagerEnabled, |
44 Value::TYPE_BOOLEAN, "PasswordManagerEnabled" }, | 45 Value::TYPE_BOOLEAN, policy::key::kPasswordManagerEnabled }, |
45 { ConfigurationPolicyStore::kPolicyDisabledPlugins, | 46 { ConfigurationPolicyStore::kPolicyDisabledPlugins, |
46 Value::TYPE_STRING, "DisabledPluginsList" }, | 47 Value::TYPE_STRING, policy::key::kDisabledPluginsList }, |
47 { ConfigurationPolicyStore::kPolicyApplicationLocale, | 48 { ConfigurationPolicyStore::kPolicyApplicationLocale, |
48 Value::TYPE_STRING, "ApplicationLocaleValue" }, | 49 Value::TYPE_STRING, policy::key::kApplicationLocaleValue }, |
49 { ConfigurationPolicyStore::kPolicySyncDisabled, | 50 { ConfigurationPolicyStore::kPolicySyncDisabled, |
50 Value::TYPE_BOOLEAN, "SyncDisabled" }, | 51 Value::TYPE_BOOLEAN, policy::key::kSyncDisabled }, |
51 }; | 52 }; |
52 | 53 |
53 } // namespace | 54 } // namespace |
54 | 55 |
55 /* static */ | 56 /* static */ |
56 const ConfigurationPolicyProvider::PolicyValueMap* | 57 const ConfigurationPolicyProvider::PolicyValueMap* |
57 ConfigurationPolicyProvider::PolicyValueMapping() { | 58 ConfigurationPolicyProvider::PolicyValueMapping() { |
58 static PolicyValueMap* mapping; | 59 static PolicyValueMap* mapping; |
59 if (!mapping) { | 60 if (!mapping) { |
60 mapping = new PolicyValueMap(); | 61 mapping = new PolicyValueMap(); |
61 for (size_t i = 0; i < arraysize(kPolicyValueMap); ++i) { | 62 for (size_t i = 0; i < arraysize(kPolicyValueMap); ++i) { |
62 const InternalPolicyValueMapEntry& internal_entry = kPolicyValueMap[i]; | 63 const InternalPolicyValueMapEntry& internal_entry = kPolicyValueMap[i]; |
63 PolicyValueMapEntry entry; | 64 PolicyValueMapEntry entry; |
64 entry.policy_type = internal_entry.policy_type; | 65 entry.policy_type = internal_entry.policy_type; |
65 entry.value_type = internal_entry.value_type; | 66 entry.value_type = internal_entry.value_type; |
66 entry.name = std::string(internal_entry.name); | 67 entry.name = std::string(internal_entry.name); |
67 mapping->push_back(entry); | 68 mapping->push_back(entry); |
68 } | 69 } |
69 } | 70 } |
70 return mapping; | 71 return mapping; |
71 } | 72 } |
OLD | NEW |