OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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_pref_store.h" | 5 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1037 } | 1037 } |
1038 | 1038 |
1039 // static | 1039 // static |
1040 ConfigurationPolicyPrefStore* | 1040 ConfigurationPolicyPrefStore* |
1041 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore() { | 1041 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore() { |
1042 return new ConfigurationPolicyPrefStore( | 1042 return new ConfigurationPolicyPrefStore( |
1043 g_browser_process->browser_policy_connector()-> | 1043 g_browser_process->browser_policy_connector()-> |
1044 GetRecommendedCloudProvider()); | 1044 GetRecommendedCloudProvider()); |
1045 } | 1045 } |
1046 | 1046 |
1047 /* static */ | |
1048 const ConfigurationPolicyProvider::PolicyDefinitionList* | |
1049 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { | |
1050 static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = { | |
1051 { kPolicyHomepageLocation, Value::TYPE_STRING, key::kHomepageLocation }, | |
1052 { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN, | |
1053 key::kHomepageIsNewTabPage }, | |
1054 { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup }, | |
1055 { kPolicyRestoreOnStartupURLs, Value::TYPE_LIST, | |
1056 key::kRestoreOnStartupURLs }, | |
1057 { kPolicyDefaultSearchProviderEnabled, Value::TYPE_BOOLEAN, | |
1058 key::kDefaultSearchProviderEnabled }, | |
1059 { kPolicyDefaultSearchProviderName, Value::TYPE_STRING, | |
1060 key::kDefaultSearchProviderName }, | |
1061 { kPolicyDefaultSearchProviderKeyword, Value::TYPE_STRING, | |
1062 key::kDefaultSearchProviderKeyword }, | |
1063 { kPolicyDefaultSearchProviderSearchURL, Value::TYPE_STRING, | |
1064 key::kDefaultSearchProviderSearchURL }, | |
1065 { kPolicyDefaultSearchProviderSuggestURL, Value::TYPE_STRING, | |
1066 key::kDefaultSearchProviderSuggestURL }, | |
1067 { kPolicyDefaultSearchProviderInstantURL, Value::TYPE_STRING, | |
1068 key::kDefaultSearchProviderInstantURL }, | |
1069 { kPolicyDefaultSearchProviderIconURL, Value::TYPE_STRING, | |
1070 key::kDefaultSearchProviderIconURL }, | |
1071 { kPolicyDefaultSearchProviderEncodings, Value::TYPE_LIST, | |
1072 key::kDefaultSearchProviderEncodings }, | |
1073 { kPolicyProxyMode, Value::TYPE_STRING, key::kProxyMode }, | |
1074 { kPolicyProxyServerMode, Value::TYPE_INTEGER, key::kProxyServerMode }, | |
1075 { kPolicyProxyServer, Value::TYPE_STRING, key::kProxyServer }, | |
1076 { kPolicyProxyPacUrl, Value::TYPE_STRING, key::kProxyPacUrl }, | |
1077 { kPolicyProxyBypassList, Value::TYPE_STRING, key::kProxyBypassList }, | |
1078 { kPolicyAlternateErrorPagesEnabled, Value::TYPE_BOOLEAN, | |
1079 key::kAlternateErrorPagesEnabled }, | |
1080 { kPolicySearchSuggestEnabled, Value::TYPE_BOOLEAN, | |
1081 key::kSearchSuggestEnabled }, | |
1082 { kPolicyDnsPrefetchingEnabled, Value::TYPE_BOOLEAN, | |
1083 key::kDnsPrefetchingEnabled }, | |
1084 { kPolicyDisableSpdy, Value::TYPE_BOOLEAN, key::kDisableSpdy }, | |
1085 { kPolicyDisabledSchemes, Value::TYPE_LIST, key::kDisabledSchemes }, | |
1086 { kPolicySafeBrowsingEnabled, Value::TYPE_BOOLEAN, | |
1087 key::kSafeBrowsingEnabled }, | |
1088 { kPolicyMetricsReportingEnabled, Value::TYPE_BOOLEAN, | |
1089 key::kMetricsReportingEnabled }, | |
1090 { kPolicyPasswordManagerEnabled, Value::TYPE_BOOLEAN, | |
1091 key::kPasswordManagerEnabled }, | |
1092 { kPolicyPasswordManagerAllowShowPasswords, Value::TYPE_BOOLEAN, | |
1093 key::kPasswordManagerAllowShowPasswords }, | |
1094 { kPolicyAutoFillEnabled, Value::TYPE_BOOLEAN, key::kAutoFillEnabled }, | |
1095 { kPolicyDisabledPlugins, Value::TYPE_LIST, key::kDisabledPlugins }, | |
1096 { kPolicyDisabledPluginsExceptions, Value::TYPE_LIST, | |
1097 key::kDisabledPluginsExceptions }, | |
1098 { kPolicyEnabledPlugins, Value::TYPE_LIST, key::kEnabledPlugins }, | |
1099 { kPolicyApplicationLocaleValue, Value::TYPE_STRING, | |
1100 key::kApplicationLocaleValue }, | |
1101 { kPolicySyncDisabled, Value::TYPE_BOOLEAN, key::kSyncDisabled }, | |
1102 { kPolicyExtensionInstallWhitelist, Value::TYPE_LIST, | |
1103 key::kExtensionInstallWhitelist }, | |
1104 { kPolicyExtensionInstallBlacklist, Value::TYPE_LIST, | |
1105 key::kExtensionInstallBlacklist }, | |
1106 { kPolicyExtensionInstallForcelist, Value::TYPE_LIST, | |
1107 key::kExtensionInstallForcelist }, | |
1108 { kPolicyShowHomeButton, Value::TYPE_BOOLEAN, key::kShowHomeButton }, | |
1109 { kPolicyPrintingEnabled, Value::TYPE_BOOLEAN, key::kPrintingEnabled }, | |
1110 { kPolicyJavascriptEnabled, Value::TYPE_BOOLEAN, key::kJavascriptEnabled }, | |
1111 { kPolicyIncognitoEnabled, Value::TYPE_BOOLEAN, key::kIncognitoEnabled }, | |
1112 { kPolicyIncognitoModeAvailability, Value::TYPE_INTEGER, | |
1113 key::kIncognitoModeAvailability }, | |
1114 { kPolicySavingBrowserHistoryDisabled, Value::TYPE_BOOLEAN, | |
1115 key::kSavingBrowserHistoryDisabled }, | |
1116 { kPolicyClearSiteDataOnExit, Value::TYPE_BOOLEAN, | |
1117 key::kClearSiteDataOnExit }, | |
1118 { kPolicyDeveloperToolsDisabled, Value::TYPE_BOOLEAN, | |
1119 key::kDeveloperToolsDisabled }, | |
1120 { kPolicyBlockThirdPartyCookies, Value::TYPE_BOOLEAN, | |
1121 key::kBlockThirdPartyCookies }, | |
1122 { kPolicyDefaultCookiesSetting, Value::TYPE_INTEGER, | |
1123 key::kDefaultCookiesSetting }, | |
1124 { kPolicyDefaultImagesSetting, Value::TYPE_INTEGER, | |
1125 key::kDefaultImagesSetting }, | |
1126 { kPolicyDefaultJavaScriptSetting, Value::TYPE_INTEGER, | |
1127 key::kDefaultJavaScriptSetting }, | |
1128 { kPolicyDefaultPluginsSetting, Value::TYPE_INTEGER, | |
1129 key::kDefaultPluginsSetting }, | |
1130 { kPolicyDefaultPopupsSetting, Value::TYPE_INTEGER, | |
1131 key::kDefaultPopupsSetting }, | |
1132 { kPolicyDefaultNotificationsSetting, Value::TYPE_INTEGER, | |
1133 key::kDefaultNotificationsSetting }, | |
1134 { kPolicyDefaultGeolocationSetting, Value::TYPE_INTEGER, | |
1135 key::kDefaultGeolocationSetting }, | |
1136 { kPolicyAutoSelectCertificateForUrls, Value::TYPE_LIST, | |
1137 key::kAutoSelectCertificateForUrls}, | |
1138 { kPolicyCookiesAllowedForUrls, Value::TYPE_LIST, | |
1139 key::kCookiesAllowedForUrls }, | |
1140 { kPolicyCookiesBlockedForUrls, Value::TYPE_LIST, | |
1141 key::kCookiesBlockedForUrls }, | |
1142 { kPolicyCookiesSessionOnlyForUrls, Value::TYPE_LIST, | |
1143 key::kCookiesSessionOnlyForUrls }, | |
1144 { kPolicyImagesAllowedForUrls, Value::TYPE_LIST, | |
1145 key::kImagesAllowedForUrls }, | |
1146 { kPolicyImagesBlockedForUrls, Value::TYPE_LIST, | |
1147 key::kImagesBlockedForUrls }, | |
1148 { kPolicyJavaScriptAllowedForUrls, Value::TYPE_LIST, | |
1149 key::kJavaScriptAllowedForUrls }, | |
1150 { kPolicyJavaScriptBlockedForUrls, Value::TYPE_LIST, | |
1151 key::kJavaScriptBlockedForUrls }, | |
1152 { kPolicyPluginsAllowedForUrls, Value::TYPE_LIST, | |
1153 key::kPluginsAllowedForUrls }, | |
1154 { kPolicyPluginsBlockedForUrls, Value::TYPE_LIST, | |
1155 key::kPluginsBlockedForUrls }, | |
1156 { kPolicyPopupsAllowedForUrls, Value::TYPE_LIST, | |
1157 key::kPopupsAllowedForUrls }, | |
1158 { kPolicyPopupsBlockedForUrls, Value::TYPE_LIST, | |
1159 key::kPopupsBlockedForUrls }, | |
1160 { kPolicyNotificationsAllowedForUrls, Value::TYPE_LIST, | |
1161 key::kNotificationsAllowedForUrls }, | |
1162 { kPolicyNotificationsBlockedForUrls, Value::TYPE_LIST, | |
1163 key::kNotificationsBlockedForUrls }, | |
1164 { kPolicyAuthSchemes, Value::TYPE_STRING, key::kAuthSchemes }, | |
1165 { kPolicyDisableAuthNegotiateCnameLookup, Value::TYPE_BOOLEAN, | |
1166 key::kDisableAuthNegotiateCnameLookup }, | |
1167 { kPolicyEnableAuthNegotiatePort, Value::TYPE_BOOLEAN, | |
1168 key::kEnableAuthNegotiatePort }, | |
1169 { kPolicyAuthServerWhitelist, Value::TYPE_STRING, | |
1170 key::kAuthServerWhitelist }, | |
1171 { kPolicyAuthNegotiateDelegateWhitelist, Value::TYPE_STRING, | |
1172 key::kAuthNegotiateDelegateWhitelist }, | |
1173 { kPolicyGSSAPILibraryName, Value::TYPE_STRING, | |
1174 key::kGSSAPILibraryName }, | |
1175 { kPolicyAllowCrossOriginAuthPrompt, Value::TYPE_BOOLEAN, | |
1176 key::kAllowCrossOriginAuthPrompt }, | |
1177 { kPolicyDisable3DAPIs, Value::TYPE_BOOLEAN, | |
1178 key::kDisable3DAPIs }, | |
1179 { kPolicyDisablePluginFinder, Value::TYPE_BOOLEAN, | |
1180 key::kDisablePluginFinder }, | |
1181 { kPolicyPolicyRefreshRate, Value::TYPE_INTEGER, | |
1182 key::kPolicyRefreshRate }, | |
1183 { kPolicyDevicePolicyRefreshRate, Value::TYPE_INTEGER, | |
1184 key::kDevicePolicyRefreshRate }, | |
1185 { kPolicyInstantEnabled, Value::TYPE_BOOLEAN, key::kInstantEnabled }, | |
1186 { kPolicyDefaultBrowserSettingEnabled, Value::TYPE_BOOLEAN, | |
1187 key::kDefaultBrowserSettingEnabled }, | |
1188 { kPolicyRemoteAccessClientFirewallTraversal, Value::TYPE_BOOLEAN, | |
1189 key::kRemoteAccessClientFirewallTraversal }, | |
1190 { kPolicyRemoteAccessHostFirewallTraversal, Value::TYPE_BOOLEAN, | |
1191 key::kRemoteAccessHostFirewallTraversal }, | |
1192 { kPolicyCloudPrintProxyEnabled, Value::TYPE_BOOLEAN, | |
1193 key::kCloudPrintProxyEnabled }, | |
1194 { kPolicyDownloadDirectory, Value::TYPE_STRING, | |
1195 key::kDownloadDirectory }, | |
1196 { kPolicyTranslateEnabled, Value::TYPE_BOOLEAN, key::kTranslateEnabled }, | |
1197 { kPolicyAllowOutdatedPlugins, Value::TYPE_BOOLEAN, | |
1198 key::kAllowOutdatedPlugins }, | |
1199 { kPolicyAlwaysAuthorizePlugins, Value::TYPE_BOOLEAN, | |
1200 key::kAlwaysAuthorizePlugins }, | |
1201 { kPolicyBookmarkBarEnabled, Value::TYPE_BOOLEAN, | |
1202 key::kBookmarkBarEnabled }, | |
1203 { kPolicyEditBookmarksEnabled, Value::TYPE_BOOLEAN, | |
1204 key::kEditBookmarksEnabled }, | |
1205 { kPolicyAllowFileSelectionDialogs, Value::TYPE_BOOLEAN, | |
1206 key::kAllowFileSelectionDialogs }, | |
1207 { kPolicyDiskCacheDir, Value::TYPE_STRING, | |
1208 key::kDiskCacheDir }, | |
1209 { kPolicyImportBookmarks, Value::TYPE_BOOLEAN, | |
1210 key::kImportBookmarks }, | |
1211 { kPolicyImportHistory, Value::TYPE_BOOLEAN, | |
1212 key::kImportHistory }, | |
1213 { kPolicyImportHomepage, Value::TYPE_BOOLEAN, | |
1214 key::kImportHomepage }, | |
1215 { kPolicyImportSearchEngine, Value::TYPE_BOOLEAN, | |
1216 key::kImportSearchEngine }, | |
1217 { kPolicyImportSavedPasswords, Value::TYPE_BOOLEAN, | |
1218 key::kImportSavedPasswords }, | |
1219 { kPolicyMaxConnectionsPerProxy, Value::TYPE_INTEGER, | |
1220 key::kMaxConnectionsPerProxy }, | |
1221 { kPolicyHideWebStorePromo, Value::TYPE_BOOLEAN, | |
1222 key::kHideWebStorePromo }, | |
1223 { kPolicyURLBlacklist, Value::TYPE_LIST, | |
1224 key::kURLBlacklist }, | |
1225 { kPolicyURLWhitelist, Value::TYPE_LIST, | |
1226 key::kURLWhitelist }, | |
1227 | |
1228 #if defined(OS_CHROMEOS) | |
1229 { kPolicyChromeOsLockOnIdleSuspend, Value::TYPE_BOOLEAN, | |
1230 key::kChromeOsLockOnIdleSuspend }, | |
1231 { kPolicyChromeOsReleaseChannel, Value::TYPE_STRING, | |
1232 key::kChromeOsReleaseChannel }, | |
1233 #endif | |
1234 }; | |
1235 | |
1236 static ConfigurationPolicyProvider::PolicyDefinitionList policy_list = { | |
1237 entries, | |
1238 entries + arraysize(entries), | |
1239 }; | |
1240 return &policy_list; | |
1241 } | |
1242 | |
1243 bool | 1047 bool |
1244 ConfigurationPolicyPrefStore::IsProxyPolicy(ConfigurationPolicyType policy) { | 1048 ConfigurationPolicyPrefStore::IsProxyPolicy(ConfigurationPolicyType policy) { |
1245 return policy == kPolicyProxyMode || | 1049 return policy == kPolicyProxyMode || |
1246 policy == kPolicyProxyServerMode || | 1050 policy == kPolicyProxyServerMode || |
1247 policy == kPolicyProxyServer || | 1051 policy == kPolicyProxyServer || |
1248 policy == kPolicyProxyPacUrl || | 1052 policy == kPolicyProxyPacUrl || |
1249 policy == kPolicyProxyBypassList; | 1053 policy == kPolicyProxyBypassList; |
1250 } | 1054 } |
1251 | 1055 |
1252 void ConfigurationPolicyPrefStore::Refresh() { | 1056 void ConfigurationPolicyPrefStore::Refresh() { |
(...skipping 18 matching lines...) Expand all Loading... |
1271 // Update the initialization flag. | 1075 // Update the initialization flag. |
1272 if (!initialization_complete_ && | 1076 if (!initialization_complete_ && |
1273 provider_->IsInitializationComplete()) { | 1077 provider_->IsInitializationComplete()) { |
1274 initialization_complete_ = true; | 1078 initialization_complete_ = true; |
1275 FOR_EACH_OBSERVER(PrefStore::Observer, observers_, | 1079 FOR_EACH_OBSERVER(PrefStore::Observer, observers_, |
1276 OnInitializationCompleted(true)); | 1080 OnInitializationCompleted(true)); |
1277 } | 1081 } |
1278 } | 1082 } |
1279 | 1083 |
1280 } // namespace policy | 1084 } // namespace policy |
OLD | NEW |