| Index: chromeos/network/network_state_handler.cc
|
| diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
|
| index 8ef955f9f2cf0bf6cd0977b32817803059625e4b..db733487c17cf43782c65bb820bf20b9d188989c 100644
|
| --- a/chromeos/network/network_state_handler.cc
|
| +++ b/chromeos/network/network_state_handler.cc
|
| @@ -294,6 +294,29 @@ void NetworkStateHandler::ConnectToBestWifiNetwork() {
|
| shill_property_handler_->AsWeakPtr()));
|
| }
|
|
|
| +bool NetworkStateHandler::RequestUpdateForNetwork(
|
| + const std::string& service_path) {
|
| + NetworkState* network = GetModifiableNetworkState(service_path);
|
| + if (!network)
|
| + return false; // Only request an update for known networks.
|
| + network->set_update_requested(true);
|
| + NET_LOG_EVENT("RequestUpdate", service_path);
|
| + shill_property_handler_->RequestProperties(
|
| + ManagedState::MANAGED_TYPE_NETWORK, service_path);
|
| + return true;
|
| +}
|
| +
|
| +void NetworkStateHandler::RequestUpdateForAllNetworks() {
|
| + NET_LOG_EVENT("RequestUpdateForAllNetworks", "");
|
| + for (ManagedStateList::iterator iter = network_list_.begin();
|
| + iter != network_list_.end(); ++iter) {
|
| + ManagedState* network = *iter;
|
| + network->set_update_requested(true);
|
| + shill_property_handler_->RequestProperties(
|
| + ManagedState::MANAGED_TYPE_NETWORK, network->path());
|
| + }
|
| +}
|
| +
|
| void NetworkStateHandler::SetConnectingNetwork(
|
| const std::string& service_path) {
|
| connecting_network_ = service_path;
|
| @@ -395,7 +418,7 @@ void NetworkStateHandler::UpdateManagedStateProperties(
|
| managed->InitialPropertiesReceived();
|
| NET_LOG_DEBUG("PropertiesReceived", GetManagedStateLogName(managed));
|
| // Notify observers.
|
| - if (network_property_updated) {
|
| + if (network_property_updated || managed->update_requested()) {
|
| NetworkState* network = managed->AsNetworkState();
|
| DCHECK(network);
|
| // Signal connection state changed after all properties have been updated.
|
| @@ -403,6 +426,7 @@ void NetworkStateHandler::UpdateManagedStateProperties(
|
| OnNetworkConnectionStateChanged(network);
|
| NetworkPropertiesUpdated(network);
|
| }
|
| + managed->set_update_requested(false);
|
| }
|
|
|
| void NetworkStateHandler::UpdateNetworkServiceProperty(
|
|
|