Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: chrome/browser/policy/configuration_policy_handler_list.cc

Issue 9111022: Removed ConfigurationPolicyType and extended PolicyMap. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 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/policy/configuration_policy_handler_list.h" 5 #include "chrome/browser/policy/configuration_policy_handler_list.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/policy/configuration_policy_handler.h" 9 #include "chrome/browser/policy/configuration_policy_handler.h"
10 #include "chrome/browser/policy/policy_error_map.h" 10 #include "chrome/browser/policy/policy_error_map.h"
11 #include "chrome/browser/policy/policy_map.h" 11 #include "chrome/browser/policy/policy_map.h"
12 #include "chrome/browser/prefs/pref_value_map.h" 12 #include "chrome/browser/prefs/pref_value_map.h"
13 #include "chrome/common/pref_names.h" 13 #include "chrome/common/pref_names.h"
14 #include "grit/generated_resources.h" 14 #include "grit/generated_resources.h"
15 #include "policy/policy_constants.h" 15 #include "policy/policy_constants.h"
16 16
17 #if defined(OS_CHROMEOS) 17 #if defined(OS_CHROMEOS)
18 #include "chrome/browser/policy/configuration_policy_handler_chromeos.h" 18 #include "chrome/browser/policy/configuration_policy_handler_chromeos.h"
19 #endif // defined(OS_CHROMEOS) 19 #endif // defined(OS_CHROMEOS)
20 20
21 namespace policy { 21 namespace policy {
22 22
23 namespace { 23 namespace {
24 24
25 // Maps a policy type to a preference path, and to the expected value type. 25 // Maps a policy type to a preference path, and to the expected value type.
26 // This is the entry type of |kSimplePolicyMap| below. 26 // This is the entry type of |kSimplePolicyMap| below.
27 struct PolicyToPreferenceMapEntry { 27 struct PolicyToPreferenceMapEntry {
28 const char* policy_name;
29 const char* preference_path;
28 base::Value::Type value_type; 30 base::Value::Type value_type;
29 ConfigurationPolicyType policy_type;
30 const char* preference_path;
31 }; 31 };
32 32
33 // List of policy types to preference names. This is used for simple policies 33 // List of policy types to preference names. This is used for simple policies
34 // that directly map to a single preference. 34 // that directly map to a single preference.
35 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { 35 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
36 { Value::TYPE_STRING, kPolicyHomepageLocation, prefs::kHomePage }, 36 { key::kHomepageLocation,
37 { Value::TYPE_BOOLEAN, kPolicyHomepageIsNewTabPage, 37 prefs::kHomePage,
38 prefs::kHomePageIsNewTabPage }, 38 Value::TYPE_STRING },
39 { Value::TYPE_INTEGER, kPolicyRestoreOnStartup, 39 { key::kHomepageIsNewTabPage,
40 prefs::kRestoreOnStartup}, 40 prefs::kHomePageIsNewTabPage,
41 { Value::TYPE_LIST, kPolicyRestoreOnStartupURLs, 41 Value::TYPE_BOOLEAN },
42 prefs::kURLsToRestoreOnStartup }, 42 { key::kRestoreOnStartup,
43 { Value::TYPE_BOOLEAN, kPolicyAlternateErrorPagesEnabled, 43 prefs::kRestoreOnStartup,
44 prefs::kAlternateErrorPagesEnabled }, 44 Value::TYPE_INTEGER },
45 { Value::TYPE_BOOLEAN, kPolicySearchSuggestEnabled, 45 { key::kRestoreOnStartupURLs,
46 prefs::kSearchSuggestEnabled }, 46 prefs::kURLsToRestoreOnStartup,
47 { Value::TYPE_BOOLEAN, kPolicyDnsPrefetchingEnabled, 47 Value::TYPE_LIST },
48 prefs::kNetworkPredictionEnabled }, 48 { key::kAlternateErrorPagesEnabled,
49 { Value::TYPE_BOOLEAN, kPolicyDisableSpdy, 49 prefs::kAlternateErrorPagesEnabled,
50 prefs::kDisableSpdy }, 50 Value::TYPE_BOOLEAN },
51 { Value::TYPE_LIST, kPolicyDisabledSchemes, 51 { key::kSearchSuggestEnabled,
52 prefs::kDisabledSchemes }, 52 prefs::kSearchSuggestEnabled,
53 { Value::TYPE_BOOLEAN, kPolicySafeBrowsingEnabled, 53 Value::TYPE_BOOLEAN },
54 prefs::kSafeBrowsingEnabled }, 54 { key::kDnsPrefetchingEnabled,
55 { Value::TYPE_BOOLEAN, kPolicyPasswordManagerEnabled, 55 prefs::kNetworkPredictionEnabled,
56 prefs::kPasswordManagerEnabled }, 56 Value::TYPE_BOOLEAN },
57 { Value::TYPE_BOOLEAN, kPolicyPasswordManagerAllowShowPasswords, 57 { key::kDisableSpdy,
58 prefs::kPasswordManagerAllowShowPasswords }, 58 prefs::kDisableSpdy,
59 { Value::TYPE_BOOLEAN, kPolicyPrintingEnabled, 59 Value::TYPE_BOOLEAN },
60 prefs::kPrintingEnabled }, 60 { key::kDisabledSchemes,
61 { Value::TYPE_BOOLEAN, kPolicyMetricsReportingEnabled, 61 prefs::kDisabledSchemes,
62 prefs::kMetricsReportingEnabled }, 62 Value::TYPE_LIST },
63 { Value::TYPE_STRING, kPolicyApplicationLocaleValue, 63 { key::kSafeBrowsingEnabled,
64 prefs::kApplicationLocale}, 64 prefs::kSafeBrowsingEnabled,
65 { Value::TYPE_LIST, kPolicyExtensionInstallWhitelist, 65 Value::TYPE_BOOLEAN },
66 prefs::kExtensionInstallAllowList}, 66 { key::kPasswordManagerEnabled,
67 { Value::TYPE_LIST, kPolicyExtensionInstallBlacklist, 67 prefs::kPasswordManagerEnabled,
68 prefs::kExtensionInstallDenyList}, 68 Value::TYPE_BOOLEAN },
69 { Value::TYPE_LIST, kPolicyExtensionInstallForcelist, 69 { key::kPasswordManagerAllowShowPasswords,
70 prefs::kExtensionInstallForceList}, 70 prefs::kPasswordManagerAllowShowPasswords,
71 { Value::TYPE_LIST, kPolicyDisabledPlugins, 71 Value::TYPE_BOOLEAN },
72 prefs::kPluginsDisabledPlugins}, 72 { key::kPrintingEnabled,
73 { Value::TYPE_LIST, kPolicyDisabledPluginsExceptions, 73 prefs::kPrintingEnabled,
74 prefs::kPluginsDisabledPluginsExceptions}, 74 Value::TYPE_BOOLEAN },
75 { Value::TYPE_LIST, kPolicyEnabledPlugins, 75 { key::kMetricsReportingEnabled,
76 prefs::kPluginsEnabledPlugins}, 76 prefs::kMetricsReportingEnabled,
77 { Value::TYPE_BOOLEAN, kPolicyShowHomeButton, 77 Value::TYPE_BOOLEAN },
78 prefs::kShowHomeButton }, 78 { key::kApplicationLocaleValue,
79 { Value::TYPE_BOOLEAN, kPolicySavingBrowserHistoryDisabled, 79 prefs::kApplicationLocale,
80 prefs::kSavingBrowserHistoryDisabled }, 80 Value::TYPE_STRING },
81 { Value::TYPE_BOOLEAN, kPolicyClearSiteDataOnExit, 81 { key::kExtensionInstallWhitelist,
82 prefs::kClearSiteDataOnExit }, 82 prefs::kExtensionInstallAllowList,
83 { Value::TYPE_BOOLEAN, kPolicyDeveloperToolsDisabled, 83 Value::TYPE_LIST },
84 prefs::kDevToolsDisabled }, 84 { key::kExtensionInstallBlacklist,
85 { Value::TYPE_BOOLEAN, kPolicyBlockThirdPartyCookies, 85 prefs::kExtensionInstallDenyList,
86 prefs::kBlockThirdPartyCookies }, 86 Value::TYPE_LIST },
87 { Value::TYPE_INTEGER, kPolicyDefaultCookiesSetting, 87 { key::kExtensionInstallForcelist,
88 prefs::kManagedDefaultCookiesSetting }, 88 prefs::kExtensionInstallForceList,
89 { Value::TYPE_INTEGER, kPolicyDefaultImagesSetting, 89 Value::TYPE_LIST },
90 prefs::kManagedDefaultImagesSetting }, 90 { key::kDisabledPlugins,
91 { Value::TYPE_INTEGER, kPolicyDefaultPluginsSetting, 91 prefs::kPluginsDisabledPlugins,
92 prefs::kManagedDefaultPluginsSetting }, 92 Value::TYPE_LIST },
93 { Value::TYPE_INTEGER, kPolicyDefaultPopupsSetting, 93 { key::kDisabledPluginsExceptions,
94 prefs::kManagedDefaultPopupsSetting }, 94 prefs::kPluginsDisabledPluginsExceptions,
95 { Value::TYPE_LIST, kPolicyAutoSelectCertificateForUrls, 95 Value::TYPE_LIST },
96 prefs::kManagedAutoSelectCertificateForUrls}, 96 { key::kEnabledPlugins,
97 { Value::TYPE_LIST, kPolicyCookiesAllowedForUrls, 97 prefs::kPluginsEnabledPlugins,
98 prefs::kManagedCookiesAllowedForUrls }, 98 Value::TYPE_LIST },
99 { Value::TYPE_LIST, kPolicyCookiesBlockedForUrls, 99 { key::kShowHomeButton,
100 prefs::kManagedCookiesBlockedForUrls }, 100 prefs::kShowHomeButton,
101 { Value::TYPE_LIST, kPolicyCookiesSessionOnlyForUrls, 101 Value::TYPE_BOOLEAN },
102 prefs::kManagedCookiesSessionOnlyForUrls }, 102 { key::kSavingBrowserHistoryDisabled,
103 { Value::TYPE_LIST, kPolicyImagesAllowedForUrls, 103 prefs::kSavingBrowserHistoryDisabled,
104 prefs::kManagedImagesAllowedForUrls }, 104 Value::TYPE_BOOLEAN },
105 { Value::TYPE_LIST, kPolicyImagesBlockedForUrls, 105 { key::kClearSiteDataOnExit,
106 prefs::kManagedImagesBlockedForUrls }, 106 prefs::kClearSiteDataOnExit,
107 { Value::TYPE_LIST, kPolicyJavaScriptAllowedForUrls, 107 Value::TYPE_BOOLEAN },
108 prefs::kManagedJavaScriptAllowedForUrls }, 108 { key::kDeveloperToolsDisabled,
109 { Value::TYPE_LIST, kPolicyJavaScriptBlockedForUrls, 109 prefs::kDevToolsDisabled,
110 prefs::kManagedJavaScriptBlockedForUrls }, 110 Value::TYPE_BOOLEAN },
111 { Value::TYPE_LIST, kPolicyPluginsAllowedForUrls, 111 { key::kBlockThirdPartyCookies,
112 prefs::kManagedPluginsAllowedForUrls }, 112 prefs::kBlockThirdPartyCookies,
113 { Value::TYPE_LIST, kPolicyPluginsBlockedForUrls, 113 Value::TYPE_BOOLEAN },
114 prefs::kManagedPluginsBlockedForUrls }, 114 { key::kDefaultCookiesSetting,
115 { Value::TYPE_LIST, kPolicyPopupsAllowedForUrls, 115 prefs::kManagedDefaultCookiesSetting,
116 prefs::kManagedPopupsAllowedForUrls }, 116 Value::TYPE_INTEGER },
117 { Value::TYPE_LIST, kPolicyPopupsBlockedForUrls, 117 { key::kDefaultImagesSetting,
118 prefs::kManagedPopupsBlockedForUrls }, 118 prefs::kManagedDefaultImagesSetting,
119 { Value::TYPE_LIST, kPolicyNotificationsAllowedForUrls, 119 Value::TYPE_INTEGER },
120 prefs::kManagedNotificationsAllowedForUrls }, 120 { key::kDefaultPluginsSetting,
121 { Value::TYPE_LIST, kPolicyNotificationsBlockedForUrls, 121 prefs::kManagedDefaultPluginsSetting,
122 prefs::kManagedNotificationsBlockedForUrls }, 122 Value::TYPE_INTEGER },
123 { Value::TYPE_INTEGER, kPolicyDefaultNotificationsSetting, 123 { key::kDefaultPopupsSetting,
124 prefs::kManagedDefaultNotificationsSetting }, 124 prefs::kManagedDefaultPopupsSetting,
125 { Value::TYPE_INTEGER, kPolicyDefaultGeolocationSetting, 125 Value::TYPE_INTEGER },
126 prefs::kManagedDefaultGeolocationSetting }, 126 { key::kAutoSelectCertificateForUrls,
127 { Value::TYPE_BOOLEAN, kPolicyEnableOriginBoundCerts, 127 prefs::kManagedAutoSelectCertificateForUrls,
128 prefs::kEnableOriginBoundCerts }, 128 Value::TYPE_LIST },
129 { Value::TYPE_STRING, kPolicyAuthSchemes, 129 { key::kCookiesAllowedForUrls,
130 prefs::kAuthSchemes }, 130 prefs::kManagedCookiesAllowedForUrls,
131 { Value::TYPE_BOOLEAN, kPolicyDisableAuthNegotiateCnameLookup, 131 Value::TYPE_LIST },
132 prefs::kDisableAuthNegotiateCnameLookup }, 132 { key::kCookiesBlockedForUrls,
133 { Value::TYPE_BOOLEAN, kPolicyEnableAuthNegotiatePort, 133 prefs::kManagedCookiesBlockedForUrls,
134 prefs::kEnableAuthNegotiatePort }, 134 Value::TYPE_LIST },
135 { Value::TYPE_STRING, kPolicyAuthServerWhitelist, 135 { key::kCookiesSessionOnlyForUrls,
136 prefs::kAuthServerWhitelist }, 136 prefs::kManagedCookiesSessionOnlyForUrls,
137 { Value::TYPE_STRING, kPolicyAuthNegotiateDelegateWhitelist, 137 Value::TYPE_LIST },
138 prefs::kAuthNegotiateDelegateWhitelist }, 138 { key::kImagesAllowedForUrls,
139 { Value::TYPE_STRING, kPolicyGSSAPILibraryName, 139 prefs::kManagedImagesAllowedForUrls,
140 prefs::kGSSAPILibraryName }, 140 Value::TYPE_LIST },
141 { Value::TYPE_BOOLEAN, kPolicyAllowCrossOriginAuthPrompt, 141 { key::kImagesBlockedForUrls,
142 prefs::kAllowCrossOriginAuthPrompt }, 142 prefs::kManagedImagesBlockedForUrls,
143 { Value::TYPE_BOOLEAN, kPolicyDisable3DAPIs, 143 Value::TYPE_LIST },
144 prefs::kDisable3DAPIs }, 144 { key::kJavaScriptAllowedForUrls,
145 { Value::TYPE_BOOLEAN, kPolicyDisablePluginFinder, 145 prefs::kManagedJavaScriptAllowedForUrls,
146 prefs::kDisablePluginFinder }, 146 Value::TYPE_LIST },
147 { Value::TYPE_INTEGER, kPolicyDiskCacheSize, 147 { key::kJavaScriptBlockedForUrls,
148 prefs::kDiskCacheSize }, 148 prefs::kManagedJavaScriptBlockedForUrls,
149 { Value::TYPE_INTEGER, kPolicyMediaCacheSize, 149 Value::TYPE_LIST },
150 prefs::kMediaCacheSize }, 150 { key::kPluginsAllowedForUrls,
151 { Value::TYPE_INTEGER, kPolicyPolicyRefreshRate, 151 prefs::kManagedPluginsAllowedForUrls,
152 prefs::kUserPolicyRefreshRate }, 152 Value::TYPE_LIST },
153 { Value::TYPE_INTEGER, kPolicyDevicePolicyRefreshRate, 153 { key::kPluginsBlockedForUrls,
154 prefs::kDevicePolicyRefreshRate }, 154 prefs::kManagedPluginsBlockedForUrls,
155 { Value::TYPE_BOOLEAN, kPolicyInstantEnabled, prefs::kInstantEnabled }, 155 Value::TYPE_LIST },
156 { Value::TYPE_BOOLEAN, kPolicyDefaultBrowserSettingEnabled, 156 { key::kPopupsAllowedForUrls,
157 prefs::kDefaultBrowserSettingEnabled }, 157 prefs::kManagedPopupsAllowedForUrls,
158 { Value::TYPE_BOOLEAN, kPolicyRemoteAccessHostFirewallTraversal, 158 Value::TYPE_LIST },
159 prefs::kRemoteAccessHostFirewallTraversal }, 159 { key::kPopupsBlockedForUrls,
160 { Value::TYPE_BOOLEAN, kPolicyCloudPrintProxyEnabled, 160 prefs::kManagedPopupsBlockedForUrls,
161 prefs::kCloudPrintProxyEnabled }, 161 Value::TYPE_LIST },
162 { Value::TYPE_BOOLEAN, kPolicyCloudPrintSubmitEnabled, 162 { key::kNotificationsAllowedForUrls,
163 prefs::kCloudPrintSubmitEnabled }, 163 prefs::kManagedNotificationsAllowedForUrls,
164 { Value::TYPE_BOOLEAN, kPolicyTranslateEnabled, prefs::kEnableTranslate }, 164 Value::TYPE_LIST },
165 { Value::TYPE_BOOLEAN, kPolicyAllowOutdatedPlugins, 165 { key::kNotificationsBlockedForUrls,
166 prefs::kPluginsAllowOutdated }, 166 prefs::kManagedNotificationsBlockedForUrls,
167 { Value::TYPE_BOOLEAN, kPolicyAlwaysAuthorizePlugins, 167 Value::TYPE_LIST },
168 prefs::kPluginsAlwaysAuthorize }, 168 { key::kDefaultNotificationsSetting,
169 { Value::TYPE_BOOLEAN, kPolicyBookmarkBarEnabled, 169 prefs::kManagedDefaultNotificationsSetting,
170 prefs::kShowBookmarkBar }, 170 Value::TYPE_INTEGER },
171 { Value::TYPE_BOOLEAN, kPolicyEditBookmarksEnabled, 171 { key::kDefaultGeolocationSetting,
172 prefs::kEditBookmarksEnabled }, 172 prefs::kManagedDefaultGeolocationSetting,
173 { Value::TYPE_BOOLEAN, kPolicyAllowFileSelectionDialogs, 173 Value::TYPE_INTEGER },
174 prefs::kAllowFileSelectionDialogs }, 174 { key::kEnableOriginBoundCerts,
175 { Value::TYPE_BOOLEAN, kPolicyImportBookmarks, 175 prefs::kEnableOriginBoundCerts,
176 prefs::kImportBookmarks}, 176 Value::TYPE_BOOLEAN },
177 { Value::TYPE_BOOLEAN, kPolicyImportHistory, 177 { key::kAuthSchemes,
178 prefs::kImportHistory}, 178 prefs::kAuthSchemes,
179 { Value::TYPE_BOOLEAN, kPolicyImportHomepage, 179 Value::TYPE_STRING },
180 prefs::kImportHomepage}, 180 { key::kDisableAuthNegotiateCnameLookup,
181 { Value::TYPE_BOOLEAN, kPolicyImportSearchEngine, 181 prefs::kDisableAuthNegotiateCnameLookup,
182 prefs::kImportSearchEngine }, 182 Value::TYPE_BOOLEAN },
183 { Value::TYPE_BOOLEAN, kPolicyImportSavedPasswords, 183 { key::kEnableAuthNegotiatePort,
184 prefs::kImportSavedPasswords }, 184 prefs::kEnableAuthNegotiatePort,
185 { Value::TYPE_INTEGER, kPolicyMaxConnectionsPerProxy, 185 Value::TYPE_BOOLEAN },
186 prefs::kMaxConnectionsPerProxy }, 186 { key::kAuthServerWhitelist,
187 { Value::TYPE_BOOLEAN, kPolicyHideWebStorePromo, 187 prefs::kAuthServerWhitelist,
188 prefs::kNTPHideWebStorePromo }, 188 Value::TYPE_STRING },
189 { Value::TYPE_LIST, kPolicyURLBlacklist, 189 { key::kAuthNegotiateDelegateWhitelist,
190 prefs::kUrlBlacklist }, 190 prefs::kAuthNegotiateDelegateWhitelist,
191 { Value::TYPE_LIST, kPolicyURLWhitelist, 191 Value::TYPE_STRING },
192 prefs::kUrlWhitelist }, 192 { key::kGSSAPILibraryName,
193 { Value::TYPE_STRING, kPolicyEnterpriseWebStoreURL, 193 prefs::kGSSAPILibraryName,
194 prefs::kEnterpriseWebStoreURL }, 194 Value::TYPE_STRING },
195 { Value::TYPE_STRING, kPolicyEnterpriseWebStoreName, 195 { key::kAllowCrossOriginAuthPrompt,
196 prefs::kEnterpriseWebStoreName }, 196 prefs::kAllowCrossOriginAuthPrompt,
197 { Value::TYPE_BOOLEAN, kPolicyEnableMemoryInfo, 197 Value::TYPE_BOOLEAN },
198 prefs::kEnableMemoryInfo }, 198 { key::kDisable3DAPIs,
199 prefs::kDisable3DAPIs,
200 Value::TYPE_BOOLEAN },
201 { key::kDisablePluginFinder,
202 prefs::kDisablePluginFinder,
203 Value::TYPE_BOOLEAN },
204 { key::kDiskCacheSize,
205 prefs::kDiskCacheSize,
206 Value::TYPE_INTEGER },
207 { key::kMediaCacheSize,
208 prefs::kMediaCacheSize,
209 Value::TYPE_INTEGER },
210 { key::kPolicyRefreshRate,
211 prefs::kUserPolicyRefreshRate,
212 Value::TYPE_INTEGER },
213 { key::kDevicePolicyRefreshRate,
214 prefs::kDevicePolicyRefreshRate,
215 Value::TYPE_INTEGER },
216 { key::kInstantEnabled,
217 prefs::kInstantEnabled,
218 Value::TYPE_BOOLEAN },
219 { key::kDefaultBrowserSettingEnabled,
220 prefs::kDefaultBrowserSettingEnabled,
221 Value::TYPE_BOOLEAN },
222 { key::kRemoteAccessHostFirewallTraversal,
223 prefs::kRemoteAccessHostFirewallTraversal,
224 Value::TYPE_BOOLEAN },
225 { key::kCloudPrintProxyEnabled,
226 prefs::kCloudPrintProxyEnabled,
227 Value::TYPE_BOOLEAN },
228 { key::kCloudPrintSubmitEnabled,
229 prefs::kCloudPrintSubmitEnabled,
230 Value::TYPE_BOOLEAN },
231 { key::kTranslateEnabled,
232 prefs::kEnableTranslate,
233 Value::TYPE_BOOLEAN },
234 { key::kAllowOutdatedPlugins,
235 prefs::kPluginsAllowOutdated,
236 Value::TYPE_BOOLEAN },
237 { key::kAlwaysAuthorizePlugins,
238 prefs::kPluginsAlwaysAuthorize,
239 Value::TYPE_BOOLEAN },
240 { key::kBookmarkBarEnabled,
241 prefs::kShowBookmarkBar,
242 Value::TYPE_BOOLEAN },
243 { key::kEditBookmarksEnabled,
244 prefs::kEditBookmarksEnabled,
245 Value::TYPE_BOOLEAN },
246 { key::kAllowFileSelectionDialogs,
247 prefs::kAllowFileSelectionDialogs,
248 Value::TYPE_BOOLEAN },
249 { key::kImportBookmarks,
250 prefs::kImportBookmarks,
251 Value::TYPE_BOOLEAN },
252 { key::kImportHistory,
253 prefs::kImportHistory,
254 Value::TYPE_BOOLEAN },
255 { key::kImportHomepage,
256 prefs::kImportHomepage,
257 Value::TYPE_BOOLEAN },
258 { key::kImportSearchEngine,
259 prefs::kImportSearchEngine,
260 Value::TYPE_BOOLEAN },
261 { key::kImportSavedPasswords,
262 prefs::kImportSavedPasswords,
263 Value::TYPE_BOOLEAN },
264 { key::kMaxConnectionsPerProxy,
265 prefs::kMaxConnectionsPerProxy,
266 Value::TYPE_INTEGER },
267 { key::kHideWebStorePromo,
268 prefs::kNTPHideWebStorePromo,
269 Value::TYPE_BOOLEAN },
270 { key::kURLBlacklist,
271 prefs::kUrlBlacklist,
272 Value::TYPE_LIST },
273 { key::kURLWhitelist,
274 prefs::kUrlWhitelist,
275 Value::TYPE_LIST },
276 { key::kEnterpriseWebStoreURL,
277 prefs::kEnterpriseWebStoreURL,
278 Value::TYPE_STRING },
279 { key::kEnterpriseWebStoreName,
280 prefs::kEnterpriseWebStoreName,
281 Value::TYPE_STRING },
282 { key::kEnableMemoryInfo,
283 prefs::kEnableMemoryInfo,
284 Value::TYPE_BOOLEAN },
199 285
200 #if defined(OS_CHROMEOS) 286 #if defined(OS_CHROMEOS)
201 { Value::TYPE_BOOLEAN, kPolicyChromeOsLockOnIdleSuspend, 287 { key::kChromeOsLockOnIdleSuspend,
202 prefs::kEnableScreenLock }, 288 prefs::kEnableScreenLock,
203 { Value::TYPE_STRING, kPolicyChromeOsReleaseChannel, 289 Value::TYPE_BOOLEAN },
204 prefs::kChromeOsReleaseChannel }, 290 { key::kChromeOsReleaseChannel,
291 prefs::kChromeOsReleaseChannel,
292 Value::TYPE_STRING },
205 #endif // defined(OS_CHROMEOS) 293 #endif // defined(OS_CHROMEOS)
206 }; 294 };
207 295
208 } // namespace 296 } // namespace
209 297
210 ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() { 298 ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() {
211 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) { 299 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) {
212 handlers_.push_back( 300 handlers_.push_back(
213 new SimplePolicyHandler(kSimplePolicyMap[i].policy_type, 301 new SimplePolicyHandler(kSimplePolicyMap[i].policy_name,
214 kSimplePolicyMap[i].value_type, 302 kSimplePolicyMap[i].preference_path,
215 kSimplePolicyMap[i].preference_path)); 303 kSimplePolicyMap[i].value_type));
216 } 304 }
217 305
218 handlers_.push_back(new AutofillPolicyHandler()); 306 handlers_.push_back(new AutofillPolicyHandler());
219 handlers_.push_back(new DefaultSearchPolicyHandler()); 307 handlers_.push_back(new DefaultSearchPolicyHandler());
220 handlers_.push_back(new DiskCacheDirPolicyHandler()); 308 handlers_.push_back(new DiskCacheDirPolicyHandler());
221 handlers_.push_back(new FileSelectionDialogsHandler()); 309 handlers_.push_back(new FileSelectionDialogsHandler());
222 handlers_.push_back(new IncognitoModePolicyHandler()); 310 handlers_.push_back(new IncognitoModePolicyHandler());
223 handlers_.push_back(new JavascriptPolicyHandler()); 311 handlers_.push_back(new JavascriptPolicyHandler());
224 handlers_.push_back(new ProxyPolicyHandler()); 312 handlers_.push_back(new ProxyPolicyHandler());
225 handlers_.push_back(new SyncPolicyHandler()); 313 handlers_.push_back(new SyncPolicyHandler());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 } 355 }
268 356
269 void ConfigurationPolicyHandlerList::PrepareForDisplaying( 357 void ConfigurationPolicyHandlerList::PrepareForDisplaying(
270 PolicyMap* policies) const { 358 PolicyMap* policies) const {
271 std::vector<ConfigurationPolicyHandler*>::const_iterator handler; 359 std::vector<ConfigurationPolicyHandler*>::const_iterator handler;
272 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler) 360 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler)
273 (*handler)->PrepareForDisplaying(policies); 361 (*handler)->PrepareForDisplaying(policies);
274 } 362 }
275 363
276 } // namespace policy 364 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698