| 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 "components/policy/core/browser/proxy_policy_handler.h" | 5 #include "components/policy/core/browser/proxy_policy_handler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 // If there's a server mode, convert it into a mode. | 248 // If there's a server mode, convert it into a mode. |
| 249 // When both are specified, the mode takes precedence. | 249 // When both are specified, the mode takes precedence. |
| 250 if (mode) { | 250 if (mode) { |
| 251 if (server_mode) { | 251 if (server_mode) { |
| 252 errors->AddError(key::kProxySettings, | 252 errors->AddError(key::kProxySettings, |
| 253 key::kProxyServerMode, | 253 key::kProxyServerMode, |
| 254 IDS_POLICY_OVERRIDDEN, | 254 IDS_POLICY_OVERRIDDEN, |
| 255 key::kProxyMode); | 255 key::kProxyMode); |
| 256 } | 256 } |
| 257 if (!mode->GetAsString(mode_value)) { | 257 if (!mode->GetAsString(mode_value)) { |
| 258 errors->AddError(key::kProxySettings, | 258 errors->AddError(key::kProxySettings, key::kProxyMode, |
| 259 key::kProxyMode, | |
| 260 IDS_POLICY_TYPE_ERROR, | 259 IDS_POLICY_TYPE_ERROR, |
| 261 ValueTypeToString(base::Value::TYPE_BOOLEAN)); | 260 base::Value::GetTypeName(base::Value::TYPE_BOOLEAN)); |
| 262 return false; | 261 return false; |
| 263 } | 262 } |
| 264 | 263 |
| 265 ProxyPrefs::ProxyMode mode; | 264 ProxyPrefs::ProxyMode mode; |
| 266 if (!ProxyPrefs::StringToProxyMode(*mode_value, &mode)) { | 265 if (!ProxyPrefs::StringToProxyMode(*mode_value, &mode)) { |
| 267 errors->AddError(key::kProxySettings, | 266 errors->AddError(key::kProxySettings, |
| 268 key::kProxyMode, | 267 key::kProxyMode, |
| 269 IDS_POLICY_INVALID_PROXY_MODE_ERROR); | 268 IDS_POLICY_INVALID_PROXY_MODE_ERROR); |
| 270 return false; | 269 return false; |
| 271 } | 270 } |
| 272 | 271 |
| 273 if (mode == ProxyPrefs::MODE_PAC_SCRIPT && !pac_url) { | 272 if (mode == ProxyPrefs::MODE_PAC_SCRIPT && !pac_url) { |
| 274 errors->AddError(key::kProxySettings, | 273 errors->AddError(key::kProxySettings, |
| 275 key::kProxyPacUrl, | 274 key::kProxyPacUrl, |
| 276 IDS_POLICY_NOT_SPECIFIED_ERROR); | 275 IDS_POLICY_NOT_SPECIFIED_ERROR); |
| 277 return false; | 276 return false; |
| 278 } else if (mode == ProxyPrefs::MODE_FIXED_SERVERS && !server) { | 277 } |
| 278 if (mode == ProxyPrefs::MODE_FIXED_SERVERS && !server) { |
| 279 errors->AddError(key::kProxySettings, | 279 errors->AddError(key::kProxySettings, |
| 280 key::kProxyServer, | 280 key::kProxyServer, |
| 281 IDS_POLICY_NOT_SPECIFIED_ERROR); | 281 IDS_POLICY_NOT_SPECIFIED_ERROR); |
| 282 return false; | 282 return false; |
| 283 } | 283 } |
| 284 } else if (server_mode) { | 284 } else if (server_mode) { |
| 285 int server_mode_value; | 285 int server_mode_value; |
| 286 if (!server_mode->GetAsInteger(&server_mode_value)) { | 286 if (!server_mode->GetAsInteger(&server_mode_value)) { |
| 287 errors->AddError(key::kProxySettings, | 287 errors->AddError(key::kProxySettings, key::kProxyServerMode, |
| 288 key::kProxyServerMode, | |
| 289 IDS_POLICY_TYPE_ERROR, | 288 IDS_POLICY_TYPE_ERROR, |
| 290 ValueTypeToString(base::Value::TYPE_INTEGER)); | 289 base::Value::GetTypeName(base::Value::TYPE_INTEGER)); |
| 291 return false; | 290 return false; |
| 292 } | 291 } |
| 293 | 292 |
| 294 switch (server_mode_value) { | 293 switch (server_mode_value) { |
| 295 case PROXY_SERVER_MODE: | 294 case PROXY_SERVER_MODE: |
| 296 *mode_value = ProxyPrefs::kDirectProxyModeName; | 295 *mode_value = ProxyPrefs::kDirectProxyModeName; |
| 297 break; | 296 break; |
| 298 case PROXY_AUTO_DETECT_PROXY_SERVER_MODE: | 297 case PROXY_AUTO_DETECT_PROXY_SERVER_MODE: |
| 299 *mode_value = ProxyPrefs::kAutoDetectProxyModeName; | 298 *mode_value = ProxyPrefs::kAutoDetectProxyModeName; |
| 300 break; | 299 break; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 312 if (!server && !pac_url) { | 311 if (!server && !pac_url) { |
| 313 int message_id = IDS_POLICY_PROXY_NEITHER_SPECIFIED_ERROR; | 312 int message_id = IDS_POLICY_PROXY_NEITHER_SPECIFIED_ERROR; |
| 314 errors->AddError(key::kProxySettings, | 313 errors->AddError(key::kProxySettings, |
| 315 key::kProxyServer, | 314 key::kProxyServer, |
| 316 message_id); | 315 message_id); |
| 317 errors->AddError(key::kProxySettings, | 316 errors->AddError(key::kProxySettings, |
| 318 key::kProxyPacUrl, | 317 key::kProxyPacUrl, |
| 319 message_id); | 318 message_id); |
| 320 return false; | 319 return false; |
| 321 } | 320 } |
| 322 if (pac_url) | 321 *mode_value = pac_url ? ProxyPrefs::kPacScriptProxyModeName |
| 323 *mode_value = ProxyPrefs::kPacScriptProxyModeName; | 322 : ProxyPrefs::kFixedServersProxyModeName; |
| 324 else | |
| 325 *mode_value = ProxyPrefs::kFixedServersProxyModeName; | |
| 326 break; | 323 break; |
| 327 case PROXY_USE_SYSTEM_PROXY_SERVER_MODE: | 324 case PROXY_USE_SYSTEM_PROXY_SERVER_MODE: |
| 328 *mode_value = ProxyPrefs::kSystemProxyModeName; | 325 *mode_value = ProxyPrefs::kSystemProxyModeName; |
| 329 break; | 326 break; |
| 330 default: | 327 default: |
| 331 errors->AddError(key::kProxySettings, | 328 errors->AddError(key::kProxySettings, |
| 332 key::kProxyServerMode, | 329 key::kProxyServerMode, |
| 333 IDS_POLICY_OUT_OF_RANGE_ERROR, | 330 IDS_POLICY_OUT_OF_RANGE_ERROR, |
| 334 base::IntToString(server_mode_value)); | 331 base::IntToString(server_mode_value)); |
| 335 return false; | 332 return false; |
| 336 } | 333 } |
| 337 } | 334 } |
| 338 return true; | 335 return true; |
| 339 } | 336 } |
| 340 | 337 |
| 341 } // namespace policy | 338 } // namespace policy |
| OLD | NEW |