| Index: chrome/browser/chromeos/proxy_cros_settings_parser.cc
|
| diff --git a/chrome/browser/chromeos/proxy_cros_settings_parser.cc b/chrome/browser/chromeos/proxy_cros_settings_parser.cc
|
| index 7ec1bf2b4702aeb02fd37fb6f641175f590f4939..158db4e31260579671ba9369112d801765bb4de9 100644
|
| --- a/chrome/browser/chromeos/proxy_cros_settings_parser.cc
|
| +++ b/chrome/browser/chromeos/proxy_cros_settings_parser.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -286,8 +286,6 @@ void SetProxyPrefValue(Profile* profile,
|
| bool GetProxyPrefValue(Profile* profile,
|
| const std::string& path,
|
| base::Value** out_value) {
|
| - bool found = false;
|
| - bool managed = false;
|
| std::string controlled_by;
|
| base::Value* data = NULL;
|
| chromeos::ProxyConfigServiceImpl* config_service =
|
| @@ -303,19 +301,14 @@ bool GetProxyPrefValue(Profile* profile,
|
| data =
|
| base::Value::CreateStringValue(config.automatic_proxy.pac_url.spec());
|
| }
|
| - found = true;
|
| } else if (path == kProxySingleHttp) {
|
| data = CreateServerHostValue(config.single_proxy);
|
| - found = true;
|
| } else if (path == kProxySingleHttpPort) {
|
| data = CreateServerPortValue(config.single_proxy);
|
| - found = true;
|
| } else if (path == kProxyHttpUrl) {
|
| data = CreateServerHostValue(config.http_proxy);
|
| - found = true;
|
| } else if (path == kProxyHttpsUrl) {
|
| data = CreateServerHostValue(config.https_proxy);
|
| - found = true;
|
| } else if (path == kProxyType) {
|
| if (config.mode ==
|
| chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_AUTO_DETECT ||
|
| @@ -345,54 +338,46 @@ bool GetProxyPrefValue(Profile* profile,
|
| controlled_by = "enableSharedProxiesBannerText";
|
| break;
|
| }
|
| - found = true;
|
| } else if (path == kProxySingle) {
|
| data = base::Value::CreateBooleanValue(config.mode ==
|
| chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY);
|
| - found = true;
|
| } else if (path == kProxyFtpUrl) {
|
| data = CreateServerHostValue(config.ftp_proxy);
|
| - found = true;
|
| } else if (path == kProxySocks) {
|
| data = CreateServerHostValue(config.socks_proxy);
|
| - found = true;
|
| } else if (path == kProxyHttpPort) {
|
| data = CreateServerPortValue(config.http_proxy);
|
| - found = true;
|
| } else if (path == kProxyHttpsPort) {
|
| data = CreateServerPortValue(config.https_proxy);
|
| - found = true;
|
| } else if (path == kProxyFtpPort) {
|
| data = CreateServerPortValue(config.ftp_proxy);
|
| - found = true;
|
| } else if (path == kProxySocksPort) {
|
| data = CreateServerPortValue(config.socks_proxy);
|
| - found = true;
|
| } else if (path == kProxyIgnoreList) {
|
| ListValue* list = new ListValue();
|
| net::ProxyBypassRules::RuleList bypass_rules = config.bypass_rules.rules();
|
| for (size_t x = 0; x < bypass_rules.size(); x++) {
|
| list->Append(base::Value::CreateStringValue(bypass_rules[x]->ToString()));
|
| }
|
| - *out_value = list;
|
| - return true;
|
| - }
|
| - if (found) {
|
| - DictionaryValue* dict = new DictionaryValue;
|
| - if (!data)
|
| - data = base::Value::CreateStringValue("");
|
| - dict->Set("value", data);
|
| - dict->SetBoolean("managed", managed);
|
| - if (path == kProxyType) {
|
| - dict->SetString("controlledBy", controlled_by);
|
| - dict->SetBoolean("disabled", !config.user_modifiable);
|
| - }
|
| - *out_value = dict;
|
| - return true;
|
| + data = list;
|
| } else {
|
| *out_value = NULL;
|
| return false;
|
| }
|
| +
|
| + // Decorate pref value as CoreOptionsHandler::CreateValueForPref() does.
|
| + DictionaryValue* dict = new DictionaryValue;
|
| + if (!data)
|
| + data = base::Value::CreateStringValue("");
|
| + dict->Set("value", data);
|
| + if (path == kProxyType) {
|
| + dict->SetString("controlledBy", controlled_by);
|
| + dict->SetBoolean("disabled", !config.user_modifiable);
|
| + } else {
|
| + dict->SetBoolean("disabled", false);
|
| + }
|
| + *out_value = dict;
|
| + return true;
|
| }
|
|
|
| } // namespace proxy_cros_settings_parser
|
|
|