Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 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.h" | 5 #include "chrome/browser/policy/configuration_policy_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
| 13 #include "base/string16.h" | 13 #include "base/string16.h" |
| 14 #include "base/string_number_conversions.h" | 14 #include "base/string_number_conversions.h" |
| 15 #include "base/string_util.h" | 15 #include "base/string_util.h" |
| 16 #include "chrome/browser/download/download_util.h" | 16 #include "chrome/browser/download/download_util.h" |
| 17 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 17 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
| 18 #include "chrome/browser/policy/policy_error_map.h" | 18 #include "chrome/browser/policy/policy_error_map.h" |
| 19 #include "chrome/browser/policy/policy_map.h" | 19 #include "chrome/browser/policy/policy_map.h" |
| 20 #include "chrome/browser/policy/policy_path_parser.h" | 20 #include "chrome/browser/policy/policy_path_parser.h" |
| 21 #include "chrome/browser/prefs/pref_value_map.h" | 21 #include "chrome/browser/prefs/pref_value_map.h" |
| 22 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 22 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
| 23 #include "chrome/browser/prefs/proxy_prefs.h" | 23 #include "chrome/browser/prefs/proxy_prefs.h" |
| 24 #include "chrome/browser/prefs/session_startup_pref.h" | 24 #include "chrome/browser/prefs/session_startup_pref.h" |
| 25 #include "chrome/browser/search_engines/search_terms_data.h" | 25 #include "chrome/browser/search_engines/search_terms_data.h" |
| 26 #include "chrome/browser/search_engines/template_url.h" | 26 #include "chrome/browser/search_engines/template_url.h" |
| 27 #include "chrome/common/chrome_notification_types.h" | 27 #include "chrome/common/chrome_notification_types.h" |
| 28 #include "chrome/common/content_settings.h" | |
| 29 #include "chrome/common/extensions/extension.h" | 28 #include "chrome/common/extensions/extension.h" |
| 30 #include "chrome/common/pref_names.h" | 29 #include "chrome/common/pref_names.h" |
| 31 #include "content/public/browser/notification_service.h" | 30 #include "content/public/browser/notification_service.h" |
| 32 #include "grit/generated_resources.h" | 31 #include "grit/generated_resources.h" |
| 33 #include "policy/policy_constants.h" | 32 #include "policy/policy_constants.h" |
| 34 | 33 |
| 35 namespace policy { | 34 namespace policy { |
| 36 | 35 |
| 37 namespace { | 36 namespace { |
| 38 | 37 |
| (...skipping 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1089 setting = CONTENT_SETTING_BLOCK; | 1088 setting = CONTENT_SETTING_BLOCK; |
| 1090 } | 1089 } |
| 1091 } | 1090 } |
| 1092 | 1091 |
| 1093 if (setting != CONTENT_SETTING_DEFAULT) { | 1092 if (setting != CONTENT_SETTING_DEFAULT) { |
| 1094 prefs->SetValue(prefs::kManagedDefaultJavaScriptSetting, | 1093 prefs->SetValue(prefs::kManagedDefaultJavaScriptSetting, |
| 1095 Value::CreateIntegerValue(setting)); | 1094 Value::CreateIntegerValue(setting)); |
| 1096 } | 1095 } |
| 1097 } | 1096 } |
| 1098 | 1097 |
| 1098 // ClearSiteDataOnExitPolicyHandler implementation ----------------------------- | |
| 1099 | |
| 1100 ClearSiteDataOnExitPolicyHandler::ClearSiteDataOnExitPolicyHandler() | |
| 1101 : TypeCheckingPolicyHandler(key::kClearSiteDataOnExit, | |
| 1102 Value::TYPE_BOOLEAN) { | |
| 1103 } | |
| 1104 | |
| 1105 ClearSiteDataOnExitPolicyHandler::~ClearSiteDataOnExitPolicyHandler() { | |
| 1106 } | |
| 1107 | |
| 1108 bool ClearSiteDataOnExitPolicyHandler::CheckPolicySettings( | |
| 1109 const PolicyMap& policies, | |
| 1110 PolicyErrorMap* errors) { | |
| 1111 ContentSetting content_setting = CONTENT_SETTING_DEFAULT; | |
| 1112 if (ClearSiteDataEnabled(policies) && | |
| 1113 GetContentSetting(policies, &content_setting) && | |
| 1114 content_setting == CONTENT_SETTING_ALLOW) { | |
| 1115 errors->AddError(key::kDefaultCookiesSetting, IDS_POLICY_OVERRIDDEN, | |
|
pastarmovj
2012/06/18 15:42:16
Split the two params on separate lines.
Mattias Nissler (ping if slow)
2012/06/18 16:28:52
Not required by the style guide, but the rest of t
| |
| 1116 policy_name()); | |
| 1117 } | |
| 1118 | |
| 1119 return TypeCheckingPolicyHandler::CheckPolicySettings(policies, errors); | |
| 1120 } | |
| 1121 | |
| 1122 void ClearSiteDataOnExitPolicyHandler::ApplyPolicySettings( | |
| 1123 const PolicyMap& policies, | |
| 1124 PrefValueMap* prefs) { | |
| 1125 if (ClearSiteDataEnabled(policies)) { | |
| 1126 ContentSetting content_setting = CONTENT_SETTING_DEFAULT; | |
| 1127 if (!GetContentSetting(policies, &content_setting) || | |
| 1128 content_setting == CONTENT_SETTING_ALLOW) { | |
| 1129 prefs->SetValue( | |
| 1130 prefs::kManagedDefaultCookiesSetting, | |
| 1131 Value::CreateIntegerValue(CONTENT_SETTING_SESSION_ONLY)); | |
| 1132 } | |
| 1133 } | |
| 1134 } | |
| 1135 | |
| 1136 bool ClearSiteDataOnExitPolicyHandler::ClearSiteDataEnabled( | |
| 1137 const PolicyMap& policies) { | |
| 1138 const base::Value* value = NULL; | |
| 1139 PolicyErrorMap errors; | |
| 1140 bool clear_site_data = false; | |
| 1141 | |
| 1142 return (CheckAndGetValue(policies, &errors, &value) && | |
| 1143 value && | |
| 1144 value->GetAsBoolean(&clear_site_data) && | |
| 1145 clear_site_data); | |
| 1146 } | |
| 1147 | |
| 1148 // static | |
| 1149 bool ClearSiteDataOnExitPolicyHandler::GetContentSetting( | |
| 1150 const PolicyMap& policies, | |
| 1151 ContentSetting* content_setting) { | |
| 1152 const base::Value* value = policies.GetValue(key::kDefaultCookiesSetting); | |
| 1153 int setting = CONTENT_SETTING_DEFAULT; | |
| 1154 if (value && value->GetAsInteger(&setting)) { | |
| 1155 *content_setting = static_cast<ContentSetting>(setting); | |
| 1156 return true; | |
| 1157 } | |
| 1158 | |
| 1159 return false; | |
| 1160 } | |
| 1161 | |
| 1099 // RestoreOnStartupPolicyHandler implementation -------------------------------- | 1162 // RestoreOnStartupPolicyHandler implementation -------------------------------- |
| 1100 | 1163 |
| 1101 RestoreOnStartupPolicyHandler::RestoreOnStartupPolicyHandler() | 1164 RestoreOnStartupPolicyHandler::RestoreOnStartupPolicyHandler() |
| 1102 : TypeCheckingPolicyHandler(key::kRestoreOnStartup, | 1165 : TypeCheckingPolicyHandler(key::kRestoreOnStartup, |
| 1103 Value::TYPE_INTEGER) { | 1166 Value::TYPE_INTEGER) { |
| 1104 } | 1167 } |
| 1105 | 1168 |
| 1106 RestoreOnStartupPolicyHandler::~RestoreOnStartupPolicyHandler() { | 1169 RestoreOnStartupPolicyHandler::~RestoreOnStartupPolicyHandler() { |
| 1107 } | 1170 } |
| 1108 | 1171 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1204 errors->AddError(policy_name(), | 1267 errors->AddError(policy_name(), |
| 1205 IDS_POLICY_OUT_OF_RANGE_ERROR, | 1268 IDS_POLICY_OUT_OF_RANGE_ERROR, |
| 1206 base::IntToString(restore_value)); | 1269 base::IntToString(restore_value)); |
| 1207 } | 1270 } |
| 1208 } | 1271 } |
| 1209 } | 1272 } |
| 1210 return true; | 1273 return true; |
| 1211 } | 1274 } |
| 1212 | 1275 |
| 1213 } // namespace policy | 1276 } // namespace policy |
| OLD | NEW |