Index: chrome/browser/automation/testing_automation_provider_chromeos.cc |
diff --git a/chrome/browser/automation/testing_automation_provider_chromeos.cc b/chrome/browser/automation/testing_automation_provider_chromeos.cc |
index 373a20b9c786d6ab129c74536a071ac793669156..2cae4122b7dbf674249e8d025cb7d79720733406 100644 |
--- a/chrome/browser/automation/testing_automation_provider_chromeos.cc |
+++ b/chrome/browser/automation/testing_automation_provider_chromeos.cc |
@@ -68,27 +68,12 @@ DictionaryValue* GetNetworkInfoDict(const chromeos::Network* network) { |
return item; |
} |
-Value* GetProxySetting(const std::string& setting_name) { |
+const Value* GetProxySetting(const std::string& setting_name) { |
chromeos::ProxyCrosSettingsProvider settings_provider; |
std::string setting_path = "cros.session.proxy."; |
setting_path.append(setting_name); |
- if (setting_name == "ignorelist") { |
- Value* value; |
- if (settings_provider.Get(setting_path, &value)) |
- return value; |
- } else { |
- Value* setting; |
- if (settings_provider.Get(setting_path, &setting)) { |
- DictionaryValue* setting_dict = static_cast<DictionaryValue*>(setting); |
- Value* value; |
- bool found = setting_dict->Remove("value", &value); |
- delete setting; |
- if (found) |
- return value; |
- } |
- } |
- return NULL; |
+ return settings_provider.Get(setting_path); |
} |
const char* UpdateStatusToString(chromeos::UpdateStatusOperation status) { |
@@ -528,9 +513,9 @@ void TestingAutomationProvider::GetProxySettings(DictionaryValue* args, |
chromeos::ProxyCrosSettingsProvider settings_provider; |
for (size_t i = 0; i < arraysize(settings); ++i) { |
- Value* setting = GetProxySetting(settings[i]); |
+ const Value* setting = GetProxySetting(settings[i]); |
if (setting) |
- return_value->Set(settings[i], setting); |
+ return_value->Set(settings[i], setting->DeepCopy()); |
} |
AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); |