| Index: chromeos/network/managed_network_configuration_handler_impl.cc
|
| diff --git a/chromeos/network/managed_network_configuration_handler_impl.cc b/chromeos/network/managed_network_configuration_handler_impl.cc
|
| index 9411f4b1b983b942dca6ab51c0756b8b6bb1c260..a92be669fc77424d8ecba71f2cc903c385080fc7 100644
|
| --- a/chromeos/network/managed_network_configuration_handler_impl.cc
|
| +++ b/chromeos/network/managed_network_configuration_handler_impl.cc
|
| @@ -226,7 +226,7 @@ void ManagedNetworkConfigurationHandlerImpl::SetProperties(
|
| const std::string& service_path,
|
| const base::DictionaryValue& user_settings,
|
| const base::Closure& callback,
|
| - const network_handler::ErrorCallback& error_callback) const {
|
| + const network_handler::ErrorCallback& error_callback) {
|
| const NetworkState* state =
|
| network_state_handler_->GetNetworkStateFromServicePath(
|
| service_path, true /* configured_only */);
|
| @@ -305,6 +305,33 @@ void ManagedNetworkConfigurationHandlerImpl::SetProperties(
|
| network_policy,
|
| validated_user_settings.get()));
|
|
|
| + // 'Carrier' needs to be handled specially if set.
|
| + base::DictionaryValue* cellular = nullptr;
|
| + if (validated_user_settings->GetDictionaryWithoutPathExpansion(
|
| + ::onc::network_config::kCellular, &cellular)) {
|
| + std::string carrier;
|
| + if (cellular->GetStringWithoutPathExpansion(::onc::cellular::kCarrier,
|
| + &carrier)) {
|
| + network_device_handler_->SetCarrier(
|
| + state->device_path(), carrier,
|
| + base::Bind(
|
| + &ManagedNetworkConfigurationHandlerImpl::SetShillProperties,
|
| + weak_ptr_factory_.GetWeakPtr(), service_path,
|
| + base::Passed(&shill_dictionary), callback, error_callback),
|
| + error_callback);
|
| + return;
|
| + }
|
| + }
|
| +
|
| + SetShillProperties(service_path, shill_dictionary.Pass(), callback,
|
| + error_callback);
|
| +}
|
| +
|
| +void ManagedNetworkConfigurationHandlerImpl::SetShillProperties(
|
| + const std::string& service_path,
|
| + scoped_ptr<base::DictionaryValue> shill_dictionary,
|
| + const base::Closure& callback,
|
| + const network_handler::ErrorCallback& error_callback) {
|
| network_configuration_handler_->SetShillProperties(
|
| service_path, *shill_dictionary,
|
| NetworkConfigurationObserver::SOURCE_USER_ACTION, callback,
|
|
|