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

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

Powered by Google App Engine
This is Rietveld 408576698