Index: chromeos/network/onc/onc_normalizer.cc |
diff --git a/chromeos/network/onc/onc_normalizer.cc b/chromeos/network/onc/onc_normalizer.cc |
index abe93e0a9bb96235b71234c19e269bf8cdb122c6..558dccf05b0736058b6cd4b13b8deaced8bf2f98 100644 |
--- a/chromeos/network/onc/onc_normalizer.cc |
+++ b/chromeos/network/onc/onc_normalizer.cc |
@@ -157,8 +157,6 @@ void Normalizer::NormalizeNetworkConfiguration(base::DictionaryValue* network) { |
network->RemoveWithoutPathExpansion(::onc::network_config::kStaticIPConfig, |
NULL); |
network->RemoveWithoutPathExpansion(::onc::network_config::kName, NULL); |
- network->RemoveWithoutPathExpansion(::onc::network_config::kNameServers, |
- NULL); |
network->RemoveWithoutPathExpansion(::onc::network_config::kProxySettings, |
NULL); |
network->RemoveWithoutPathExpansion(::onc::network_config::kSearchDomains, |
@@ -177,6 +175,17 @@ void Normalizer::NormalizeNetworkConfiguration(base::DictionaryValue* network) { |
RemoveEntryUnless(network, |
::onc::network_config::kWiFi, |
type == ::onc::network_type::kWiFi); |
+ |
+ std::string ip_address_config_type, name_servers_config_type; |
+ network->GetStringWithoutPathExpansion( |
+ ::onc::network_config::kIPAddressConfigType, &ip_address_config_type); |
+ network->GetStringWithoutPathExpansion( |
+ ::onc::network_config::kNameServersConfigType, &name_servers_config_type); |
+ RemoveEntryUnless( |
+ network, ::onc::network_config::kStaticIPConfig, |
+ (ip_address_config_type == ::onc::network_config::kIPConfigTypeStatic) || |
+ (name_servers_config_type == |
+ ::onc::network_config::kIPConfigTypeStatic)); |
} |
void Normalizer::NormalizeOpenVPN(base::DictionaryValue* openvpn) { |