OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_factory.h" | 5 #include "chrome/browser/policy/configuration_policy_handler_list_factory.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/prefs/pref_value_map.h" | 10 #include "base/prefs/pref_value_map.h" |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 #include "chrome/browser/plugins/enable_npapi_plugins_policy_handler.h" | 66 #include "chrome/browser/plugins/enable_npapi_plugins_policy_handler.h" |
67 #endif | 67 #endif |
68 | 68 |
69 namespace policy { | 69 namespace policy { |
70 | 70 |
71 namespace { | 71 namespace { |
72 | 72 |
73 // List of policy types to preference names. This is used for simple policies | 73 // List of policy types to preference names. This is used for simple policies |
74 // that directly map to a single preference. | 74 // that directly map to a single preference. |
75 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { | 75 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { |
76 { key::kHomepageLocation, | 76 {key::kHomepageLocation, prefs::kHomePage, base::Value::TYPE_STRING}, |
77 prefs::kHomePage, | 77 {key::kHomepageIsNewTabPage, |
78 base::Value::TYPE_STRING }, | 78 prefs::kHomePageIsNewTabPage, |
79 { key::kHomepageIsNewTabPage, | 79 base::Value::TYPE_BOOLEAN}, |
80 prefs::kHomePageIsNewTabPage, | 80 {key::kRestoreOnStartupURLs, |
81 base::Value::TYPE_BOOLEAN }, | 81 prefs::kURLsToRestoreOnStartup, |
82 { key::kRestoreOnStartupURLs, | 82 base::Value::TYPE_LIST}, |
83 prefs::kURLsToRestoreOnStartup, | 83 {key::kAlternateErrorPagesEnabled, |
84 base::Value::TYPE_LIST }, | 84 prefs::kAlternateErrorPagesEnabled, |
85 { key::kAlternateErrorPagesEnabled, | 85 base::Value::TYPE_BOOLEAN}, |
86 prefs::kAlternateErrorPagesEnabled, | 86 {key::kSearchSuggestEnabled, |
87 base::Value::TYPE_BOOLEAN }, | 87 prefs::kSearchSuggestEnabled, |
88 { key::kSearchSuggestEnabled, | 88 base::Value::TYPE_BOOLEAN}, |
89 prefs::kSearchSuggestEnabled, | 89 {key::kBuiltInDnsClientEnabled, |
90 base::Value::TYPE_BOOLEAN }, | 90 prefs::kBuiltInDnsClientEnabled, |
91 { key::kBuiltInDnsClientEnabled, | 91 base::Value::TYPE_BOOLEAN}, |
92 prefs::kBuiltInDnsClientEnabled, | 92 {key::kWPADQuickCheckEnabled, |
93 base::Value::TYPE_BOOLEAN }, | 93 prefs::kQuickCheckEnabled, |
94 { key::kWPADQuickCheckEnabled, | 94 base::Value::TYPE_BOOLEAN}, |
95 prefs::kQuickCheckEnabled, | 95 {key::kDisableSpdy, prefs::kDisableSpdy, base::Value::TYPE_BOOLEAN}, |
96 base::Value::TYPE_BOOLEAN }, | 96 {key::kSafeBrowsingEnabled, |
97 { key::kDisableSpdy, | 97 prefs::kSafeBrowsingEnabled, |
98 prefs::kDisableSpdy, | 98 base::Value::TYPE_BOOLEAN}, |
99 base::Value::TYPE_BOOLEAN }, | 99 {key::kForceGoogleSafeSearch, |
100 { key::kSafeBrowsingEnabled, | 100 prefs::kForceGoogleSafeSearch, |
101 prefs::kSafeBrowsingEnabled, | 101 base::Value::TYPE_BOOLEAN}, |
102 base::Value::TYPE_BOOLEAN }, | 102 {key::kForceYouTubeSafetyMode, |
103 { key::kForceGoogleSafeSearch, | 103 prefs::kForceYouTubeSafetyMode, |
104 prefs::kForceGoogleSafeSearch, | 104 base::Value::TYPE_BOOLEAN}, |
105 base::Value::TYPE_BOOLEAN }, | 105 {key::kPasswordManagerEnabled, |
106 { key::kForceYouTubeSafetyMode, | 106 password_manager::prefs::kPasswordManagerSavingEnabled, |
107 prefs::kForceYouTubeSafetyMode, | 107 base::Value::TYPE_BOOLEAN}, |
108 base::Value::TYPE_BOOLEAN }, | 108 {key::kPasswordManagerAllowShowPasswords, |
109 { key::kPasswordManagerEnabled, | 109 password_manager::prefs::kPasswordManagerAllowShowPasswords, |
110 password_manager::prefs::kPasswordManagerSavingEnabled, | 110 base::Value::TYPE_BOOLEAN}, |
111 base::Value::TYPE_BOOLEAN }, | 111 {key::kPrintingEnabled, prefs::kPrintingEnabled, base::Value::TYPE_BOOLEAN}, |
112 { key::kPasswordManagerAllowShowPasswords, | 112 {key::kDisablePrintPreview, |
113 password_manager::prefs::kPasswordManagerAllowShowPasswords, | 113 prefs::kPrintPreviewDisabled, |
114 base::Value::TYPE_BOOLEAN }, | 114 base::Value::TYPE_BOOLEAN}, |
115 { key::kPrintingEnabled, | 115 {key::kMetricsReportingEnabled, |
116 prefs::kPrintingEnabled, | 116 prefs::kMetricsReportingEnabled, |
117 base::Value::TYPE_BOOLEAN }, | 117 base::Value::TYPE_BOOLEAN}, |
118 { key::kDisablePrintPreview, | 118 {key::kApplicationLocaleValue, |
119 prefs::kPrintPreviewDisabled, | 119 prefs::kApplicationLocale, |
120 base::Value::TYPE_BOOLEAN }, | 120 base::Value::TYPE_STRING}, |
121 { key::kMetricsReportingEnabled, | 121 {key::kDisabledPlugins, |
122 prefs::kMetricsReportingEnabled, | 122 prefs::kPluginsDisabledPlugins, |
123 base::Value::TYPE_BOOLEAN }, | 123 base::Value::TYPE_LIST}, |
124 { key::kApplicationLocaleValue, | 124 {key::kDisabledPluginsExceptions, |
125 prefs::kApplicationLocale, | 125 prefs::kPluginsDisabledPluginsExceptions, |
126 base::Value::TYPE_STRING }, | 126 base::Value::TYPE_LIST}, |
127 { key::kDisabledPlugins, | 127 {key::kEnabledPlugins, |
128 prefs::kPluginsDisabledPlugins, | 128 prefs::kPluginsEnabledPlugins, |
129 base::Value::TYPE_LIST }, | 129 base::Value::TYPE_LIST}, |
130 { key::kDisabledPluginsExceptions, | 130 {key::kShowHomeButton, prefs::kShowHomeButton, base::Value::TYPE_BOOLEAN}, |
131 prefs::kPluginsDisabledPluginsExceptions, | 131 {key::kSavingBrowserHistoryDisabled, |
132 base::Value::TYPE_LIST }, | 132 prefs::kSavingBrowserHistoryDisabled, |
133 { key::kEnabledPlugins, | 133 base::Value::TYPE_BOOLEAN}, |
134 prefs::kPluginsEnabledPlugins, | 134 {key::kAllowDeletingBrowserHistory, |
135 base::Value::TYPE_LIST }, | 135 prefs::kAllowDeletingBrowserHistory, |
136 { key::kShowHomeButton, | 136 base::Value::TYPE_BOOLEAN}, |
137 prefs::kShowHomeButton, | 137 {key::kDeveloperToolsDisabled, |
138 base::Value::TYPE_BOOLEAN }, | 138 prefs::kDevToolsDisabled, |
139 { key::kSavingBrowserHistoryDisabled, | 139 base::Value::TYPE_BOOLEAN}, |
140 prefs::kSavingBrowserHistoryDisabled, | 140 {key::kBlockThirdPartyCookies, |
141 base::Value::TYPE_BOOLEAN }, | 141 prefs::kBlockThirdPartyCookies, |
142 { key::kAllowDeletingBrowserHistory, | 142 base::Value::TYPE_BOOLEAN}, |
143 prefs::kAllowDeletingBrowserHistory, | 143 {key::kDefaultCookiesSetting, |
144 base::Value::TYPE_BOOLEAN }, | 144 prefs::kManagedDefaultCookiesSetting, |
145 { key::kDeveloperToolsDisabled, | 145 base::Value::TYPE_INTEGER}, |
146 prefs::kDevToolsDisabled, | 146 {key::kDefaultImagesSetting, |
147 base::Value::TYPE_BOOLEAN }, | 147 prefs::kManagedDefaultImagesSetting, |
148 { key::kBlockThirdPartyCookies, | 148 base::Value::TYPE_INTEGER}, |
149 prefs::kBlockThirdPartyCookies, | 149 {key::kDefaultPluginsSetting, |
150 base::Value::TYPE_BOOLEAN }, | 150 prefs::kManagedDefaultPluginsSetting, |
151 { key::kDefaultCookiesSetting, | 151 base::Value::TYPE_INTEGER}, |
152 prefs::kManagedDefaultCookiesSetting, | 152 {key::kDefaultPopupsSetting, |
153 base::Value::TYPE_INTEGER }, | 153 prefs::kManagedDefaultPopupsSetting, |
154 { key::kDefaultImagesSetting, | 154 base::Value::TYPE_INTEGER}, |
155 prefs::kManagedDefaultImagesSetting, | 155 {key::kAutoSelectCertificateForUrls, |
156 base::Value::TYPE_INTEGER }, | 156 prefs::kManagedAutoSelectCertificateForUrls, |
157 { key::kDefaultPluginsSetting, | 157 base::Value::TYPE_LIST}, |
158 prefs::kManagedDefaultPluginsSetting, | 158 {key::kCookiesAllowedForUrls, |
159 base::Value::TYPE_INTEGER }, | 159 prefs::kManagedCookiesAllowedForUrls, |
160 { key::kDefaultPopupsSetting, | 160 base::Value::TYPE_LIST}, |
161 prefs::kManagedDefaultPopupsSetting, | 161 {key::kCookiesBlockedForUrls, |
162 base::Value::TYPE_INTEGER }, | 162 prefs::kManagedCookiesBlockedForUrls, |
163 { key::kAutoSelectCertificateForUrls, | 163 base::Value::TYPE_LIST}, |
164 prefs::kManagedAutoSelectCertificateForUrls, | 164 {key::kCookiesSessionOnlyForUrls, |
165 base::Value::TYPE_LIST }, | 165 prefs::kManagedCookiesSessionOnlyForUrls, |
166 { key::kCookiesAllowedForUrls, | 166 base::Value::TYPE_LIST}, |
167 prefs::kManagedCookiesAllowedForUrls, | 167 {key::kImagesAllowedForUrls, |
168 base::Value::TYPE_LIST }, | 168 prefs::kManagedImagesAllowedForUrls, |
169 { key::kCookiesBlockedForUrls, | 169 base::Value::TYPE_LIST}, |
170 prefs::kManagedCookiesBlockedForUrls, | 170 {key::kImagesBlockedForUrls, |
171 base::Value::TYPE_LIST }, | 171 prefs::kManagedImagesBlockedForUrls, |
172 { key::kCookiesSessionOnlyForUrls, | 172 base::Value::TYPE_LIST}, |
173 prefs::kManagedCookiesSessionOnlyForUrls, | 173 {key::kJavaScriptAllowedForUrls, |
174 base::Value::TYPE_LIST }, | 174 prefs::kManagedJavaScriptAllowedForUrls, |
175 { key::kImagesAllowedForUrls, | 175 base::Value::TYPE_LIST}, |
176 prefs::kManagedImagesAllowedForUrls, | 176 {key::kJavaScriptBlockedForUrls, |
177 base::Value::TYPE_LIST }, | 177 prefs::kManagedJavaScriptBlockedForUrls, |
178 { key::kImagesBlockedForUrls, | 178 base::Value::TYPE_LIST}, |
179 prefs::kManagedImagesBlockedForUrls, | 179 {key::kPluginsAllowedForUrls, |
180 base::Value::TYPE_LIST }, | 180 prefs::kManagedPluginsAllowedForUrls, |
181 { key::kJavaScriptAllowedForUrls, | 181 base::Value::TYPE_LIST}, |
182 prefs::kManagedJavaScriptAllowedForUrls, | 182 {key::kPluginsBlockedForUrls, |
183 base::Value::TYPE_LIST }, | 183 prefs::kManagedPluginsBlockedForUrls, |
184 { key::kJavaScriptBlockedForUrls, | 184 base::Value::TYPE_LIST}, |
185 prefs::kManagedJavaScriptBlockedForUrls, | 185 {key::kPopupsAllowedForUrls, |
186 base::Value::TYPE_LIST }, | 186 prefs::kManagedPopupsAllowedForUrls, |
187 { key::kPluginsAllowedForUrls, | 187 base::Value::TYPE_LIST}, |
188 prefs::kManagedPluginsAllowedForUrls, | 188 {key::kPopupsBlockedForUrls, |
189 base::Value::TYPE_LIST }, | 189 prefs::kManagedPopupsBlockedForUrls, |
190 { key::kPluginsBlockedForUrls, | 190 base::Value::TYPE_LIST}, |
191 prefs::kManagedPluginsBlockedForUrls, | 191 {key::kNotificationsAllowedForUrls, |
192 base::Value::TYPE_LIST }, | 192 prefs::kManagedNotificationsAllowedForUrls, |
193 { key::kPopupsAllowedForUrls, | 193 base::Value::TYPE_LIST}, |
194 prefs::kManagedPopupsAllowedForUrls, | 194 {key::kNotificationsBlockedForUrls, |
195 base::Value::TYPE_LIST }, | 195 prefs::kManagedNotificationsBlockedForUrls, |
196 { key::kPopupsBlockedForUrls, | 196 base::Value::TYPE_LIST}, |
197 prefs::kManagedPopupsBlockedForUrls, | 197 {key::kDefaultNotificationsSetting, |
198 base::Value::TYPE_LIST }, | 198 prefs::kManagedDefaultNotificationsSetting, |
199 { key::kNotificationsAllowedForUrls, | 199 base::Value::TYPE_INTEGER}, |
200 prefs::kManagedNotificationsAllowedForUrls, | 200 {key::kDefaultGeolocationSetting, |
201 base::Value::TYPE_LIST }, | 201 prefs::kManagedDefaultGeolocationSetting, |
202 { key::kNotificationsBlockedForUrls, | 202 base::Value::TYPE_INTEGER}, |
203 prefs::kManagedNotificationsBlockedForUrls, | 203 {key::kSigninAllowed, prefs::kSigninAllowed, base::Value::TYPE_BOOLEAN}, |
204 base::Value::TYPE_LIST }, | 204 {key::kDisableSSLRecordSplitting, |
205 { key::kDefaultNotificationsSetting, | 205 prefs::kDisableSSLRecordSplitting, |
206 prefs::kManagedDefaultNotificationsSetting, | 206 base::Value::TYPE_BOOLEAN}, |
207 base::Value::TYPE_INTEGER }, | 207 {key::kEnableOnlineRevocationChecks, |
208 { key::kDefaultGeolocationSetting, | 208 prefs::kCertRevocationCheckingEnabled, |
209 prefs::kManagedDefaultGeolocationSetting, | 209 base::Value::TYPE_BOOLEAN}, |
210 base::Value::TYPE_INTEGER }, | 210 {key::kRequireOnlineRevocationChecksForLocalAnchors, |
211 { key::kSigninAllowed, | 211 prefs::kCertRevocationCheckingRequiredLocalAnchors, |
212 prefs::kSigninAllowed, | 212 base::Value::TYPE_BOOLEAN}, |
213 base::Value::TYPE_BOOLEAN }, | 213 {key::kAuthSchemes, prefs::kAuthSchemes, base::Value::TYPE_STRING}, |
214 { key::kDisableSSLRecordSplitting, | 214 {key::kDisableAuthNegotiateCnameLookup, |
215 prefs::kDisableSSLRecordSplitting, | 215 prefs::kDisableAuthNegotiateCnameLookup, |
216 base::Value::TYPE_BOOLEAN }, | 216 base::Value::TYPE_BOOLEAN}, |
217 { key::kEnableOnlineRevocationChecks, | 217 {key::kEnableAuthNegotiatePort, |
218 prefs::kCertRevocationCheckingEnabled, | 218 prefs::kEnableAuthNegotiatePort, |
219 base::Value::TYPE_BOOLEAN }, | 219 base::Value::TYPE_BOOLEAN}, |
220 { key::kRequireOnlineRevocationChecksForLocalAnchors, | 220 {key::kAuthServerWhitelist, |
221 prefs::kCertRevocationCheckingRequiredLocalAnchors, | 221 prefs::kAuthServerWhitelist, |
222 base::Value::TYPE_BOOLEAN }, | 222 base::Value::TYPE_STRING}, |
223 { key::kAuthSchemes, | 223 {key::kAuthNegotiateDelegateWhitelist, |
224 prefs::kAuthSchemes, | 224 prefs::kAuthNegotiateDelegateWhitelist, |
225 base::Value::TYPE_STRING }, | 225 base::Value::TYPE_STRING}, |
226 { key::kDisableAuthNegotiateCnameLookup, | 226 {key::kGSSAPILibraryName, |
227 prefs::kDisableAuthNegotiateCnameLookup, | 227 prefs::kGSSAPILibraryName, |
228 base::Value::TYPE_BOOLEAN }, | 228 base::Value::TYPE_STRING}, |
229 { key::kEnableAuthNegotiatePort, | 229 {key::kAuthAndroidNegotiateAccountType, |
230 prefs::kEnableAuthNegotiatePort, | 230 prefs::kAuthAndroidNegotiateAccountType, |
231 base::Value::TYPE_BOOLEAN }, | 231 base::Value::TYPE_STRING}, |
232 { key::kAuthServerWhitelist, | 232 {key::kAllowCrossOriginAuthPrompt, |
233 prefs::kAuthServerWhitelist, | 233 prefs::kAllowCrossOriginAuthPrompt, |
234 base::Value::TYPE_STRING }, | 234 base::Value::TYPE_BOOLEAN}, |
235 { key::kAuthNegotiateDelegateWhitelist, | 235 {key::kDisable3DAPIs, prefs::kDisable3DAPIs, base::Value::TYPE_BOOLEAN}, |
236 prefs::kAuthNegotiateDelegateWhitelist, | 236 {key::kDisablePluginFinder, |
237 base::Value::TYPE_STRING }, | 237 prefs::kDisablePluginFinder, |
238 { key::kGSSAPILibraryName, | 238 base::Value::TYPE_BOOLEAN}, |
239 prefs::kGSSAPILibraryName, | 239 {key::kDiskCacheSize, prefs::kDiskCacheSize, base::Value::TYPE_INTEGER}, |
240 base::Value::TYPE_STRING }, | 240 {key::kMediaCacheSize, prefs::kMediaCacheSize, base::Value::TYPE_INTEGER}, |
241 { key::kAllowCrossOriginAuthPrompt, | 241 {key::kPolicyRefreshRate, |
242 prefs::kAllowCrossOriginAuthPrompt, | 242 policy_prefs::kUserPolicyRefreshRate, |
243 base::Value::TYPE_BOOLEAN }, | 243 base::Value::TYPE_INTEGER}, |
244 { key::kDisable3DAPIs, | 244 {key::kDevicePolicyRefreshRate, |
245 prefs::kDisable3DAPIs, | 245 prefs::kDevicePolicyRefreshRate, |
246 base::Value::TYPE_BOOLEAN }, | 246 base::Value::TYPE_INTEGER}, |
247 { key::kDisablePluginFinder, | 247 {key::kDefaultBrowserSettingEnabled, |
248 prefs::kDisablePluginFinder, | 248 prefs::kDefaultBrowserSettingEnabled, |
249 base::Value::TYPE_BOOLEAN }, | 249 base::Value::TYPE_BOOLEAN}, |
250 { key::kDiskCacheSize, | 250 {key::kCloudPrintProxyEnabled, |
251 prefs::kDiskCacheSize, | 251 prefs::kCloudPrintProxyEnabled, |
252 base::Value::TYPE_INTEGER }, | 252 base::Value::TYPE_BOOLEAN}, |
253 { key::kMediaCacheSize, | 253 {key::kCloudPrintSubmitEnabled, |
254 prefs::kMediaCacheSize, | 254 prefs::kCloudPrintSubmitEnabled, |
255 base::Value::TYPE_INTEGER }, | 255 base::Value::TYPE_BOOLEAN}, |
256 { key::kPolicyRefreshRate, | 256 {key::kTranslateEnabled, |
257 policy_prefs::kUserPolicyRefreshRate, | 257 prefs::kEnableTranslate, |
258 base::Value::TYPE_INTEGER }, | 258 base::Value::TYPE_BOOLEAN}, |
259 { key::kDevicePolicyRefreshRate, | 259 {key::kAllowOutdatedPlugins, |
260 prefs::kDevicePolicyRefreshRate, | 260 prefs::kPluginsAllowOutdated, |
261 base::Value::TYPE_INTEGER }, | 261 base::Value::TYPE_BOOLEAN}, |
262 { key::kDefaultBrowserSettingEnabled, | 262 {key::kAlwaysAuthorizePlugins, |
263 prefs::kDefaultBrowserSettingEnabled, | 263 prefs::kPluginsAlwaysAuthorize, |
264 base::Value::TYPE_BOOLEAN }, | 264 base::Value::TYPE_BOOLEAN}, |
265 { key::kCloudPrintProxyEnabled, | 265 {key::kBookmarkBarEnabled, |
266 prefs::kCloudPrintProxyEnabled, | 266 bookmarks::prefs::kShowBookmarkBar, |
267 base::Value::TYPE_BOOLEAN }, | 267 base::Value::TYPE_BOOLEAN}, |
268 { key::kCloudPrintSubmitEnabled, | 268 {key::kEditBookmarksEnabled, |
269 prefs::kCloudPrintSubmitEnabled, | 269 bookmarks::prefs::kEditBookmarksEnabled, |
270 base::Value::TYPE_BOOLEAN }, | 270 base::Value::TYPE_BOOLEAN}, |
271 { key::kTranslateEnabled, | 271 {key::kShowAppsShortcutInBookmarkBar, |
272 prefs::kEnableTranslate, | 272 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, |
273 base::Value::TYPE_BOOLEAN }, | 273 base::Value::TYPE_BOOLEAN}, |
274 { key::kAllowOutdatedPlugins, | 274 {key::kAllowFileSelectionDialogs, |
275 prefs::kPluginsAllowOutdated, | 275 prefs::kAllowFileSelectionDialogs, |
276 base::Value::TYPE_BOOLEAN }, | 276 base::Value::TYPE_BOOLEAN}, |
277 { key::kAlwaysAuthorizePlugins, | 277 {key::kImportBookmarks, prefs::kImportBookmarks, base::Value::TYPE_BOOLEAN}, |
278 prefs::kPluginsAlwaysAuthorize, | 278 {key::kImportHistory, prefs::kImportHistory, base::Value::TYPE_BOOLEAN}, |
279 base::Value::TYPE_BOOLEAN }, | 279 {key::kImportHomepage, prefs::kImportHomepage, base::Value::TYPE_BOOLEAN}, |
280 { key::kBookmarkBarEnabled, | 280 {key::kImportSearchEngine, |
281 bookmarks::prefs::kShowBookmarkBar, | 281 prefs::kImportSearchEngine, |
282 base::Value::TYPE_BOOLEAN }, | 282 base::Value::TYPE_BOOLEAN}, |
283 { key::kEditBookmarksEnabled, | 283 {key::kImportSavedPasswords, |
284 bookmarks::prefs::kEditBookmarksEnabled, | 284 prefs::kImportSavedPasswords, |
285 base::Value::TYPE_BOOLEAN }, | 285 base::Value::TYPE_BOOLEAN}, |
286 { key::kShowAppsShortcutInBookmarkBar, | 286 {key::kImportAutofillFormData, |
287 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, | 287 prefs::kImportAutofillFormData, |
288 base::Value::TYPE_BOOLEAN }, | 288 base::Value::TYPE_BOOLEAN}, |
289 { key::kAllowFileSelectionDialogs, | 289 {key::kMaxConnectionsPerProxy, |
290 prefs::kAllowFileSelectionDialogs, | 290 prefs::kMaxConnectionsPerProxy, |
291 base::Value::TYPE_BOOLEAN }, | 291 base::Value::TYPE_INTEGER}, |
292 { key::kImportBookmarks, | 292 {key::kURLWhitelist, policy_prefs::kUrlWhitelist, base::Value::TYPE_LIST}, |
293 prefs::kImportBookmarks, | 293 {key::kRestrictSigninToPattern, |
294 base::Value::TYPE_BOOLEAN }, | 294 prefs::kGoogleServicesUsernamePattern, |
295 { key::kImportHistory, | 295 base::Value::TYPE_STRING}, |
296 prefs::kImportHistory, | 296 {key::kDefaultMediaStreamSetting, |
297 base::Value::TYPE_BOOLEAN }, | 297 prefs::kManagedDefaultMediaStreamSetting, |
298 { key::kImportHomepage, | 298 base::Value::TYPE_INTEGER}, |
299 prefs::kImportHomepage, | 299 {key::kDisableSafeBrowsingProceedAnyway, |
300 base::Value::TYPE_BOOLEAN }, | 300 prefs::kSafeBrowsingProceedAnywayDisabled, |
301 { key::kImportSearchEngine, | 301 base::Value::TYPE_BOOLEAN}, |
302 prefs::kImportSearchEngine, | 302 {key::kSafeBrowsingExtendedReportingOptInAllowed, |
303 base::Value::TYPE_BOOLEAN }, | 303 prefs::kSafeBrowsingExtendedReportingOptInAllowed, |
304 { key::kImportSavedPasswords, | 304 base::Value::TYPE_BOOLEAN}, |
305 prefs::kImportSavedPasswords, | 305 {key::kSSLErrorOverrideAllowed, |
306 base::Value::TYPE_BOOLEAN }, | 306 prefs::kSSLErrorOverrideAllowed, |
307 { key::kImportAutofillFormData, | 307 base::Value::TYPE_BOOLEAN}, |
308 prefs::kImportAutofillFormData, | |
309 base::Value::TYPE_BOOLEAN }, | |
310 { key::kMaxConnectionsPerProxy, | |
311 prefs::kMaxConnectionsPerProxy, | |
312 base::Value::TYPE_INTEGER }, | |
313 { key::kURLWhitelist, | |
314 policy_prefs::kUrlWhitelist, | |
315 base::Value::TYPE_LIST }, | |
316 { key::kRestrictSigninToPattern, | |
317 prefs::kGoogleServicesUsernamePattern, | |
318 base::Value::TYPE_STRING }, | |
319 { key::kDefaultMediaStreamSetting, | |
320 prefs::kManagedDefaultMediaStreamSetting, | |
321 base::Value::TYPE_INTEGER }, | |
322 { key::kDisableSafeBrowsingProceedAnyway, | |
323 prefs::kSafeBrowsingProceedAnywayDisabled, | |
324 base::Value::TYPE_BOOLEAN }, | |
325 { key::kSafeBrowsingExtendedReportingOptInAllowed, | |
326 prefs::kSafeBrowsingExtendedReportingOptInAllowed, | |
327 base::Value::TYPE_BOOLEAN }, | |
328 { key::kSSLErrorOverrideAllowed, | |
329 prefs::kSSLErrorOverrideAllowed, | |
330 base::Value::TYPE_BOOLEAN }, | |
331 | 308 |
332 #if defined(ENABLE_SPELLCHECK) | 309 #if defined(ENABLE_SPELLCHECK) |
333 { key::kSpellCheckServiceEnabled, | 310 {key::kSpellCheckServiceEnabled, |
334 prefs::kSpellCheckUseSpellingService, | 311 prefs::kSpellCheckUseSpellingService, |
335 base::Value::TYPE_BOOLEAN }, | 312 base::Value::TYPE_BOOLEAN}, |
336 #endif // defined(ENABLE_SPELLCHECK) | 313 #endif // defined(ENABLE_SPELLCHECK) |
337 | 314 |
338 { key::kDisableScreenshots, | 315 {key::kDisableScreenshots, |
339 prefs::kDisableScreenshots, | 316 prefs::kDisableScreenshots, |
340 base::Value::TYPE_BOOLEAN }, | 317 base::Value::TYPE_BOOLEAN}, |
341 { key::kAudioCaptureAllowed, | 318 {key::kAudioCaptureAllowed, |
342 prefs::kAudioCaptureAllowed, | 319 prefs::kAudioCaptureAllowed, |
343 base::Value::TYPE_BOOLEAN }, | 320 base::Value::TYPE_BOOLEAN}, |
344 { key::kVideoCaptureAllowed, | 321 {key::kVideoCaptureAllowed, |
345 prefs::kVideoCaptureAllowed, | 322 prefs::kVideoCaptureAllowed, |
346 base::Value::TYPE_BOOLEAN }, | 323 base::Value::TYPE_BOOLEAN}, |
347 { key::kAudioCaptureAllowedUrls, | 324 {key::kAudioCaptureAllowedUrls, |
348 prefs::kAudioCaptureAllowedUrls, | 325 prefs::kAudioCaptureAllowedUrls, |
349 base::Value::TYPE_LIST }, | 326 base::Value::TYPE_LIST}, |
350 { key::kVideoCaptureAllowedUrls, | 327 {key::kVideoCaptureAllowedUrls, |
351 prefs::kVideoCaptureAllowedUrls, | 328 prefs::kVideoCaptureAllowedUrls, |
352 base::Value::TYPE_LIST }, | 329 base::Value::TYPE_LIST}, |
353 { key::kHideWebStoreIcon, | 330 {key::kHideWebStoreIcon, |
354 prefs::kHideWebStoreIcon, | 331 prefs::kHideWebStoreIcon, |
355 base::Value::TYPE_BOOLEAN }, | 332 base::Value::TYPE_BOOLEAN}, |
356 { key::kVariationsRestrictParameter, | 333 {key::kVariationsRestrictParameter, |
357 prefs::kVariationsRestrictParameter, | 334 prefs::kVariationsRestrictParameter, |
358 base::Value::TYPE_STRING }, | 335 base::Value::TYPE_STRING}, |
359 { key::kSupervisedUserCreationEnabled, | 336 {key::kSupervisedUserCreationEnabled, |
360 prefs::kSupervisedUserCreationAllowed, | 337 prefs::kSupervisedUserCreationAllowed, |
361 base::Value::TYPE_BOOLEAN }, | 338 base::Value::TYPE_BOOLEAN}, |
362 { key::kForceEphemeralProfiles, | 339 {key::kForceEphemeralProfiles, |
363 prefs::kForceEphemeralProfiles, | 340 prefs::kForceEphemeralProfiles, |
364 base::Value::TYPE_BOOLEAN }, | 341 base::Value::TYPE_BOOLEAN}, |
365 { key::kSSLVersionMin, | 342 {key::kSSLVersionMin, prefs::kSSLVersionMin, base::Value::TYPE_STRING}, |
366 prefs::kSSLVersionMin, | 343 {key::kSSLVersionFallbackMin, |
367 base::Value::TYPE_STRING }, | 344 prefs::kSSLVersionFallbackMin, |
368 { key::kSSLVersionFallbackMin, | 345 base::Value::TYPE_STRING}, |
369 prefs::kSSLVersionFallbackMin, | |
370 base::Value::TYPE_STRING }, | |
371 | 346 |
372 #if !defined(OS_MACOSX) && !defined(OS_IOS) | 347 #if !defined(OS_MACOSX) && !defined(OS_IOS) |
373 { key::kFullscreenAllowed, | 348 {key::kFullscreenAllowed, |
374 prefs::kFullscreenAllowed, | 349 prefs::kFullscreenAllowed, |
375 base::Value::TYPE_BOOLEAN }, | 350 base::Value::TYPE_BOOLEAN}, |
376 #if defined(ENABLE_EXTENSIONS) | 351 #if defined(ENABLE_EXTENSIONS) |
377 { key::kFullscreenAllowed, | 352 {key::kFullscreenAllowed, |
378 extensions::pref_names::kAppFullscreenAllowed, | 353 extensions::pref_names::kAppFullscreenAllowed, |
379 base::Value::TYPE_BOOLEAN }, | 354 base::Value::TYPE_BOOLEAN}, |
380 #endif // defined(ENABLE_EXTENSIONS) | 355 #endif // defined(ENABLE_EXTENSIONS) |
381 #endif // !defined(OS_MACOSX) && !defined(OS_IOS) | 356 #endif // !defined(OS_MACOSX) && !defined(OS_IOS) |
382 | 357 |
383 #if defined(OS_CHROMEOS) | 358 #if defined(OS_CHROMEOS) |
384 { key::kChromeOsLockOnIdleSuspend, | 359 {key::kChromeOsLockOnIdleSuspend, |
385 prefs::kEnableAutoScreenLock, | 360 prefs::kEnableAutoScreenLock, |
386 base::Value::TYPE_BOOLEAN }, | 361 base::Value::TYPE_BOOLEAN}, |
387 { key::kChromeOsReleaseChannel, | 362 {key::kChromeOsReleaseChannel, |
388 prefs::kChromeOsReleaseChannel, | 363 prefs::kChromeOsReleaseChannel, |
389 base::Value::TYPE_STRING }, | 364 base::Value::TYPE_STRING}, |
390 { key::kDriveDisabled, | 365 {key::kDriveDisabled, prefs::kDisableDrive, base::Value::TYPE_BOOLEAN}, |
391 prefs::kDisableDrive, | 366 {key::kDriveDisabledOverCellular, |
392 base::Value::TYPE_BOOLEAN }, | 367 prefs::kDisableDriveOverCellular, |
393 { key::kDriveDisabledOverCellular, | 368 base::Value::TYPE_BOOLEAN}, |
394 prefs::kDisableDriveOverCellular, | 369 {key::kExternalStorageDisabled, |
395 base::Value::TYPE_BOOLEAN }, | 370 prefs::kExternalStorageDisabled, |
396 { key::kExternalStorageDisabled, | 371 base::Value::TYPE_BOOLEAN}, |
397 prefs::kExternalStorageDisabled, | 372 {key::kAudioOutputAllowed, |
398 base::Value::TYPE_BOOLEAN }, | 373 chromeos::prefs::kAudioOutputAllowed, |
399 { key::kAudioOutputAllowed, | 374 base::Value::TYPE_BOOLEAN}, |
400 chromeos::prefs::kAudioOutputAllowed, | 375 {key::kShowLogoutButtonInTray, |
401 base::Value::TYPE_BOOLEAN }, | 376 prefs::kShowLogoutButtonInTray, |
402 { key::kShowLogoutButtonInTray, | 377 base::Value::TYPE_BOOLEAN}, |
403 prefs::kShowLogoutButtonInTray, | 378 {key::kShelfAutoHideBehavior, |
404 base::Value::TYPE_BOOLEAN }, | 379 prefs::kShelfAutoHideBehaviorLocal, |
405 { key::kShelfAutoHideBehavior, | 380 base::Value::TYPE_STRING}, |
406 prefs::kShelfAutoHideBehaviorLocal, | 381 {key::kSessionLengthLimit, |
407 base::Value::TYPE_STRING }, | 382 prefs::kSessionLengthLimit, |
408 { key::kSessionLengthLimit, | 383 base::Value::TYPE_INTEGER}, |
409 prefs::kSessionLengthLimit, | 384 {key::kWaitForInitialUserActivity, |
410 base::Value::TYPE_INTEGER }, | 385 prefs::kSessionWaitForInitialUserActivity, |
411 { key::kWaitForInitialUserActivity, | 386 base::Value::TYPE_BOOLEAN}, |
412 prefs::kSessionWaitForInitialUserActivity, | 387 {key::kPowerManagementUsesAudioActivity, |
413 base::Value::TYPE_BOOLEAN }, | 388 prefs::kPowerUseAudioActivity, |
414 { key::kPowerManagementUsesAudioActivity, | 389 base::Value::TYPE_BOOLEAN}, |
415 prefs::kPowerUseAudioActivity, | 390 {key::kPowerManagementUsesVideoActivity, |
416 base::Value::TYPE_BOOLEAN }, | 391 prefs::kPowerUseVideoActivity, |
417 { key::kPowerManagementUsesVideoActivity, | 392 base::Value::TYPE_BOOLEAN}, |
418 prefs::kPowerUseVideoActivity, | 393 {key::kAllowScreenWakeLocks, |
419 base::Value::TYPE_BOOLEAN }, | 394 prefs::kPowerAllowScreenWakeLocks, |
420 { key::kAllowScreenWakeLocks, | 395 base::Value::TYPE_BOOLEAN}, |
421 prefs::kPowerAllowScreenWakeLocks, | 396 {key::kWaitForInitialUserActivity, |
422 base::Value::TYPE_BOOLEAN }, | 397 prefs::kPowerWaitForInitialUserActivity, |
423 { key::kWaitForInitialUserActivity, | 398 base::Value::TYPE_BOOLEAN}, |
424 prefs::kPowerWaitForInitialUserActivity, | 399 {key::kTermsOfServiceURL, |
425 base::Value::TYPE_BOOLEAN }, | 400 prefs::kTermsOfServiceURL, |
426 { key::kTermsOfServiceURL, | 401 base::Value::TYPE_STRING}, |
427 prefs::kTermsOfServiceURL, | 402 {key::kShowAccessibilityOptionsInSystemTrayMenu, |
428 base::Value::TYPE_STRING }, | 403 prefs::kShouldAlwaysShowAccessibilityMenu, |
429 { key::kShowAccessibilityOptionsInSystemTrayMenu, | 404 base::Value::TYPE_BOOLEAN}, |
430 prefs::kShouldAlwaysShowAccessibilityMenu, | 405 {key::kLargeCursorEnabled, |
431 base::Value::TYPE_BOOLEAN }, | 406 prefs::kAccessibilityLargeCursorEnabled, |
432 { key::kLargeCursorEnabled, | 407 base::Value::TYPE_BOOLEAN}, |
433 prefs::kAccessibilityLargeCursorEnabled, | 408 {key::kSpokenFeedbackEnabled, |
434 base::Value::TYPE_BOOLEAN }, | 409 prefs::kAccessibilitySpokenFeedbackEnabled, |
435 { key::kSpokenFeedbackEnabled, | 410 base::Value::TYPE_BOOLEAN}, |
436 prefs::kAccessibilitySpokenFeedbackEnabled, | 411 {key::kHighContrastEnabled, |
437 base::Value::TYPE_BOOLEAN }, | 412 prefs::kAccessibilityHighContrastEnabled, |
438 { key::kHighContrastEnabled, | 413 base::Value::TYPE_BOOLEAN}, |
439 prefs::kAccessibilityHighContrastEnabled, | 414 {key::kVirtualKeyboardEnabled, |
440 base::Value::TYPE_BOOLEAN }, | 415 prefs::kAccessibilityVirtualKeyboardEnabled, |
441 { key::kVirtualKeyboardEnabled, | 416 base::Value::TYPE_BOOLEAN}, |
442 prefs::kAccessibilityVirtualKeyboardEnabled, | 417 {key::kDeviceLoginScreenDefaultLargeCursorEnabled, |
443 base::Value::TYPE_BOOLEAN }, | 418 NULL, |
444 { key::kDeviceLoginScreenDefaultLargeCursorEnabled, | 419 base::Value::TYPE_BOOLEAN}, |
445 NULL, | 420 {key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, |
446 base::Value::TYPE_BOOLEAN }, | 421 NULL, |
447 { key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, | 422 base::Value::TYPE_BOOLEAN}, |
448 NULL, | 423 {key::kDeviceLoginScreenDefaultHighContrastEnabled, |
449 base::Value::TYPE_BOOLEAN }, | 424 NULL, |
450 { key::kDeviceLoginScreenDefaultHighContrastEnabled, | 425 base::Value::TYPE_BOOLEAN}, |
451 NULL, | 426 {key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled, |
452 base::Value::TYPE_BOOLEAN }, | 427 NULL, |
453 { key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled, | 428 base::Value::TYPE_BOOLEAN}, |
454 NULL, | 429 {key::kRebootAfterUpdate, |
455 base::Value::TYPE_BOOLEAN }, | 430 prefs::kRebootAfterUpdate, |
456 { key::kRebootAfterUpdate, | 431 base::Value::TYPE_BOOLEAN}, |
457 prefs::kRebootAfterUpdate, | 432 {key::kAttestationEnabledForUser, |
458 base::Value::TYPE_BOOLEAN }, | 433 prefs::kAttestationEnabled, |
459 { key::kAttestationEnabledForUser, | 434 base::Value::TYPE_BOOLEAN}, |
460 prefs::kAttestationEnabled, | 435 {key::kChromeOsMultiProfileUserBehavior, |
461 base::Value::TYPE_BOOLEAN }, | 436 prefs::kMultiProfileUserBehavior, |
462 { key::kChromeOsMultiProfileUserBehavior, | 437 base::Value::TYPE_STRING}, |
463 prefs::kMultiProfileUserBehavior, | 438 {key::kKeyboardDefaultToFunctionKeys, |
464 base::Value::TYPE_STRING }, | 439 prefs::kLanguageSendFunctionKeys, |
465 { key::kKeyboardDefaultToFunctionKeys, | 440 base::Value::TYPE_BOOLEAN}, |
466 prefs::kLanguageSendFunctionKeys, | 441 {key::kTouchVirtualKeyboardEnabled, |
467 base::Value::TYPE_BOOLEAN }, | 442 prefs::kTouchVirtualKeyboardEnabled, |
468 { key::kTouchVirtualKeyboardEnabled, | 443 base::Value::TYPE_BOOLEAN}, |
469 prefs::kTouchVirtualKeyboardEnabled, | 444 {key::kEasyUnlockAllowed, |
470 base::Value::TYPE_BOOLEAN }, | 445 prefs::kEasyUnlockAllowed, |
471 { key::kEasyUnlockAllowed, | 446 base::Value::TYPE_BOOLEAN}, |
472 prefs::kEasyUnlockAllowed, | 447 {key::kCaptivePortalAuthenticationIgnoresProxy, |
473 base::Value::TYPE_BOOLEAN }, | 448 prefs::kCaptivePortalAuthenticationIgnoresProxy, |
474 { key::kCaptivePortalAuthenticationIgnoresProxy, | 449 base::Value::TYPE_BOOLEAN}, |
475 prefs::kCaptivePortalAuthenticationIgnoresProxy, | 450 {key::kForceMaximizeOnFirstRun, |
476 base::Value::TYPE_BOOLEAN }, | 451 prefs::kForceMaximizeOnFirstRun, |
477 { key::kForceMaximizeOnFirstRun, | 452 base::Value::TYPE_BOOLEAN}, |
478 prefs::kForceMaximizeOnFirstRun, | |
479 base::Value::TYPE_BOOLEAN }, | |
480 #endif // defined(OS_CHROMEOS) | 453 #endif // defined(OS_CHROMEOS) |
481 | 454 |
482 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 455 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
483 { key::kBackgroundModeEnabled, | 456 {key::kBackgroundModeEnabled, |
484 prefs::kBackgroundModeEnabled, | 457 prefs::kBackgroundModeEnabled, |
485 base::Value::TYPE_BOOLEAN }, | 458 base::Value::TYPE_BOOLEAN}, |
486 #endif // !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 459 #endif // !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
487 | 460 |
488 #if defined(OS_ANDROID) | 461 #if defined(OS_ANDROID) |
489 { key::kDataCompressionProxyEnabled, | 462 {key::kDataCompressionProxyEnabled, |
490 data_reduction_proxy::prefs::kDataReductionProxyEnabled, | 463 data_reduction_proxy::prefs::kDataReductionProxyEnabled, |
491 base::Value::TYPE_BOOLEAN }, | 464 base::Value::TYPE_BOOLEAN}, |
492 #endif // defined(OS_ANDROID) | 465 #endif // defined(OS_ANDROID) |
493 | 466 |
494 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 467 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
495 { key::kNativeMessagingUserLevelHosts, | 468 {key::kNativeMessagingUserLevelHosts, |
496 extensions::pref_names::kNativeMessagingUserLevelHosts, | 469 extensions::pref_names::kNativeMessagingUserLevelHosts, |
497 base::Value::TYPE_BOOLEAN }, | 470 base::Value::TYPE_BOOLEAN}, |
498 { key::kBrowserGuestModeEnabled, | 471 {key::kBrowserGuestModeEnabled, |
499 prefs::kBrowserGuestModeEnabled, | 472 prefs::kBrowserGuestModeEnabled, |
500 base::Value::TYPE_BOOLEAN }, | 473 base::Value::TYPE_BOOLEAN}, |
501 { key::kBrowserAddPersonEnabled, | 474 {key::kBrowserAddPersonEnabled, |
502 prefs::kBrowserAddPersonEnabled, | 475 prefs::kBrowserAddPersonEnabled, |
503 base::Value::TYPE_BOOLEAN }, | 476 base::Value::TYPE_BOOLEAN}, |
504 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 477 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
505 }; | 478 }; |
506 | 479 |
507 class ForceSafeSearchPolicyHandler : public TypeCheckingPolicyHandler { | 480 class ForceSafeSearchPolicyHandler : public TypeCheckingPolicyHandler { |
508 public: | 481 public: |
509 ForceSafeSearchPolicyHandler() | 482 ForceSafeSearchPolicyHandler() |
510 : TypeCheckingPolicyHandler(key::kForceSafeSearch, | 483 : TypeCheckingPolicyHandler(key::kForceSafeSearch, |
511 base::Value::TYPE_BOOLEAN) {} | 484 base::Value::TYPE_BOOLEAN) {} |
512 ~ForceSafeSearchPolicyHandler() override {} | 485 ~ForceSafeSearchPolicyHandler() override {} |
513 | 486 |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler( | 758 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler( |
786 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT, | 759 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT, |
787 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, | 760 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, |
788 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); | 761 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); |
789 #endif // defined(OS_CHROMEOS) | 762 #endif // defined(OS_CHROMEOS) |
790 | 763 |
791 return handlers.Pass(); | 764 return handlers.Pass(); |
792 } | 765 } |
793 | 766 |
794 } // namespace policy | 767 } // namespace policy |
OLD | NEW |