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

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

Issue 7972013: ConfigurationPolicyPrefStore refactoring to surface error messages. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: . Created 9 years, 2 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
(Empty)
1 // Copyright (c) 2011 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 #include "chrome/browser/policy/configuration_policy_handler_list.h"
6
7 #include "base/stl_util.h"
8 #include "chrome/browser/policy/configuration_policy_handler.h"
9 #include "chrome/common/pref_names.h"
10
11 namespace policy {
12
13 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
14 { Value::TYPE_STRING, kPolicyHomepageLocation, prefs::kHomePage },
15 { Value::TYPE_BOOLEAN, kPolicyHomepageIsNewTabPage,
16 prefs::kHomePageIsNewTabPage },
17 { Value::TYPE_INTEGER, kPolicyRestoreOnStartup,
18 prefs::kRestoreOnStartup},
19 { Value::TYPE_LIST, kPolicyRestoreOnStartupURLs,
20 prefs::kURLsToRestoreOnStartup },
21 { Value::TYPE_BOOLEAN, kPolicyAlternateErrorPagesEnabled,
22 prefs::kAlternateErrorPagesEnabled },
23 { Value::TYPE_BOOLEAN, kPolicySearchSuggestEnabled,
24 prefs::kSearchSuggestEnabled },
25 { Value::TYPE_BOOLEAN, kPolicyDnsPrefetchingEnabled,
26 prefs::kNetworkPredictionEnabled },
27 { Value::TYPE_BOOLEAN, kPolicyDisableSpdy,
28 prefs::kDisableSpdy },
29 { Value::TYPE_LIST, kPolicyDisabledSchemes,
30 prefs::kDisabledSchemes },
31 { Value::TYPE_BOOLEAN, kPolicySafeBrowsingEnabled,
32 prefs::kSafeBrowsingEnabled },
33 { Value::TYPE_BOOLEAN, kPolicyPasswordManagerEnabled,
34 prefs::kPasswordManagerEnabled },
35 { Value::TYPE_BOOLEAN, kPolicyPasswordManagerAllowShowPasswords,
36 prefs::kPasswordManagerAllowShowPasswords },
37 { Value::TYPE_BOOLEAN, kPolicyPrintingEnabled,
38 prefs::kPrintingEnabled },
39 { Value::TYPE_BOOLEAN, kPolicyMetricsReportingEnabled,
40 prefs::kMetricsReportingEnabled },
41 { Value::TYPE_STRING, kPolicyApplicationLocaleValue,
42 prefs::kApplicationLocale},
43 { Value::TYPE_LIST, kPolicyExtensionInstallWhitelist,
44 prefs::kExtensionInstallAllowList},
45 { Value::TYPE_LIST, kPolicyExtensionInstallBlacklist,
46 prefs::kExtensionInstallDenyList},
47 { Value::TYPE_LIST, kPolicyExtensionInstallForcelist,
48 prefs::kExtensionInstallForceList},
49 { Value::TYPE_LIST, kPolicyDisabledPlugins,
50 prefs::kPluginsDisabledPlugins},
51 { Value::TYPE_LIST, kPolicyDisabledPluginsExceptions,
52 prefs::kPluginsDisabledPluginsExceptions},
53 { Value::TYPE_LIST, kPolicyEnabledPlugins,
54 prefs::kPluginsEnabledPlugins},
55 { Value::TYPE_BOOLEAN, kPolicyShowHomeButton,
56 prefs::kShowHomeButton },
57 { Value::TYPE_BOOLEAN, kPolicyJavascriptEnabled,
58 prefs::kWebKitJavascriptEnabled },
59 { Value::TYPE_BOOLEAN, kPolicySavingBrowserHistoryDisabled,
60 prefs::kSavingBrowserHistoryDisabled },
61 { Value::TYPE_BOOLEAN, kPolicyClearSiteDataOnExit,
62 prefs::kClearSiteDataOnExit },
63 { Value::TYPE_BOOLEAN, kPolicyDeveloperToolsDisabled,
64 prefs::kDevToolsDisabled },
65 { Value::TYPE_BOOLEAN, kPolicyBlockThirdPartyCookies,
66 prefs::kBlockThirdPartyCookies },
67 { Value::TYPE_INTEGER, kPolicyDefaultCookiesSetting,
68 prefs::kManagedDefaultCookiesSetting },
69 { Value::TYPE_INTEGER, kPolicyDefaultImagesSetting,
70 prefs::kManagedDefaultImagesSetting },
71 { Value::TYPE_INTEGER, kPolicyDefaultJavaScriptSetting,
72 prefs::kManagedDefaultJavaScriptSetting },
73 { Value::TYPE_INTEGER, kPolicyDefaultPluginsSetting,
74 prefs::kManagedDefaultPluginsSetting },
75 { Value::TYPE_INTEGER, kPolicyDefaultPopupsSetting,
76 prefs::kManagedDefaultPopupsSetting },
77 { Value::TYPE_LIST, kPolicyAutoSelectCertificateForUrls,
78 prefs::kManagedAutoSelectCertificateForUrls},
79 { Value::TYPE_LIST, kPolicyCookiesAllowedForUrls,
80 prefs::kManagedCookiesAllowedForUrls },
81 { Value::TYPE_LIST, kPolicyCookiesBlockedForUrls,
82 prefs::kManagedCookiesBlockedForUrls },
83 { Value::TYPE_LIST, kPolicyCookiesSessionOnlyForUrls,
84 prefs::kManagedCookiesSessionOnlyForUrls },
85 { Value::TYPE_LIST, kPolicyImagesAllowedForUrls,
86 prefs::kManagedImagesAllowedForUrls },
87 { Value::TYPE_LIST, kPolicyImagesBlockedForUrls,
88 prefs::kManagedImagesBlockedForUrls },
89 { Value::TYPE_LIST, kPolicyJavaScriptAllowedForUrls,
90 prefs::kManagedJavaScriptAllowedForUrls },
91 { Value::TYPE_LIST, kPolicyJavaScriptBlockedForUrls,
92 prefs::kManagedJavaScriptBlockedForUrls },
93 { Value::TYPE_LIST, kPolicyPluginsAllowedForUrls,
94 prefs::kManagedPluginsAllowedForUrls },
95 { Value::TYPE_LIST, kPolicyPluginsBlockedForUrls,
96 prefs::kManagedPluginsBlockedForUrls },
97 { Value::TYPE_LIST, kPolicyPopupsAllowedForUrls,
98 prefs::kManagedPopupsAllowedForUrls },
99 { Value::TYPE_LIST, kPolicyPopupsBlockedForUrls,
100 prefs::kManagedPopupsBlockedForUrls },
101 { Value::TYPE_LIST, kPolicyNotificationsAllowedForUrls,
102 prefs::kManagedNotificationsAllowedForUrls },
103 { Value::TYPE_LIST, kPolicyNotificationsBlockedForUrls,
104 prefs::kManagedNotificationsBlockedForUrls },
105 { Value::TYPE_INTEGER, kPolicyDefaultNotificationsSetting,
106 prefs::kManagedDefaultNotificationsSetting },
107 { Value::TYPE_INTEGER, kPolicyDefaultGeolocationSetting,
108 prefs::kManagedDefaultGeolocationSetting },
109 { Value::TYPE_STRING, kPolicyAuthSchemes,
110 prefs::kAuthSchemes },
111 { Value::TYPE_BOOLEAN, kPolicyDisableAuthNegotiateCnameLookup,
112 prefs::kDisableAuthNegotiateCnameLookup },
113 { Value::TYPE_BOOLEAN, kPolicyEnableAuthNegotiatePort,
114 prefs::kEnableAuthNegotiatePort },
115 { Value::TYPE_STRING, kPolicyAuthServerWhitelist,
116 prefs::kAuthServerWhitelist },
117 { Value::TYPE_STRING, kPolicyAuthNegotiateDelegateWhitelist,
118 prefs::kAuthNegotiateDelegateWhitelist },
119 { Value::TYPE_STRING, kPolicyGSSAPILibraryName,
120 prefs::kGSSAPILibraryName },
121 { Value::TYPE_BOOLEAN, kPolicyAllowCrossOriginAuthPrompt,
122 prefs::kAllowCrossOriginAuthPrompt },
123 { Value::TYPE_BOOLEAN, kPolicyDisable3DAPIs,
124 prefs::kDisable3DAPIs },
125 { Value::TYPE_BOOLEAN, kPolicyDisablePluginFinder,
126 prefs::kDisablePluginFinder },
127 { Value::TYPE_INTEGER, kPolicyPolicyRefreshRate,
128 prefs::kUserPolicyRefreshRate },
129 { Value::TYPE_INTEGER, kPolicyDevicePolicyRefreshRate,
130 prefs::kDevicePolicyRefreshRate },
131 { Value::TYPE_BOOLEAN, kPolicyInstantEnabled, prefs::kInstantEnabled },
132 { Value::TYPE_BOOLEAN, kPolicyDefaultBrowserSettingEnabled,
133 prefs::kDefaultBrowserSettingEnabled },
134 { Value::TYPE_BOOLEAN, kPolicyRemoteAccessClientFirewallTraversal,
135 prefs::kRemoteAccessClientFirewallTraversal },
136 { Value::TYPE_BOOLEAN, kPolicyRemoteAccessHostFirewallTraversal,
137 prefs::kRemoteAccessHostFirewallTraversal },
138 { Value::TYPE_BOOLEAN, kPolicyCloudPrintProxyEnabled,
139 prefs::kCloudPrintProxyEnabled },
140 { Value::TYPE_BOOLEAN, kPolicyTranslateEnabled, prefs::kEnableTranslate },
141 { Value::TYPE_BOOLEAN, kPolicyAllowOutdatedPlugins,
142 prefs::kPluginsAllowOutdated },
143 { Value::TYPE_BOOLEAN, kPolicyAlwaysAuthorizePlugins,
144 prefs::kPluginsAlwaysAuthorize },
145 { Value::TYPE_BOOLEAN, kPolicyEditBookmarksEnabled,
146 prefs::kEditBookmarksEnabled },
147 { Value::TYPE_BOOLEAN, kPolicyAllowFileSelectionDialogs,
148 prefs::kAllowFileSelectionDialogs },
149 { Value::TYPE_BOOLEAN, kPolicyImportBookmarks,
150 prefs::kImportBookmarks},
151 { Value::TYPE_BOOLEAN, kPolicyImportHistory,
152 prefs::kImportHistory},
153 { Value::TYPE_BOOLEAN, kPolicyImportHomepage,
154 prefs::kImportHomepage},
155 { Value::TYPE_BOOLEAN, kPolicyImportSearchEngine,
156 prefs::kImportSearchEngine },
157 { Value::TYPE_BOOLEAN, kPolicyImportSavedPasswords,
158 prefs::kImportSavedPasswords },
159 { Value::TYPE_INTEGER, kPolicyMaxConnectionsPerProxy,
160 prefs::kMaxConnectionsPerProxy },
161 { Value::TYPE_BOOLEAN, kPolicyHideWebStorePromo,
162 prefs::kNTPHideWebStorePromo },
163 { Value::TYPE_LIST, kPolicyURLBlacklist,
164 prefs::kUrlBlacklist },
165 { Value::TYPE_LIST, kPolicyURLWhitelist,
166 prefs::kUrlWhitelist },
167
168 #if defined(OS_CHROMEOS)
169 { Value::TYPE_BOOLEAN, kPolicyChromeOsLockOnIdleSuspend,
170 prefs::kEnableScreenLock },
171 { Value::TYPE_STRING, kPolicyChromeOsReleaseChannel,
172 prefs::kChromeOsReleaseChannel },
173 #endif
174 };
175
176 void MakeConfigurationPolicyHandlers(HandlerList* handlers) {
177 unsigned int i = 0;
178 for ( ; i < arraysize(kSimplePolicyMap); ++i) {
179 handlers->push_back(
180 new SimplePolicyHandler(kSimplePolicyMap[i].policy_type,
181 kSimplePolicyMap[i].value_type,
182 kSimplePolicyMap[i].preference_path));
183 }
184 handlers->push_back(new SyncPolicyHandler());
185 handlers->push_back(new AutofillPolicyHandler());
186
187 #if !defined(OS_CHROMEOS)
188 handlers->push_back(new DownloadDirPolicyHandler());
189 #endif // !defined(OS_CHROME0S)
190
191 handlers->push_back(new DiskCacheDirPolicyHandler());
192 handlers->push_back(new FileSelectionDialogsHandler());
193 handlers->push_back(new BookmarksPolicyHandler());
194 handlers->push_back(new ProxyPolicyHandler());
195 handlers->push_back(new IncognitoModePolicyHandler());
196 handlers->push_back(new DefaultSearchPolicyHandler());
197 }
198
199 void DeleteConfigurationPolicyHandlers(HandlerList* handlers) {
200 STLDeleteContainerPointers(handlers->begin(), handlers->end());
201 handlers->clear();
202 }
203
204 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698