summaryrefslogtreecommitdiffstats
path: root/chromeos/network/network_state_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/network/network_state_handler.cc')
-rw-r--r--chromeos/network/network_state_handler.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index 0186204..d8e0432 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -376,8 +376,7 @@ void NetworkStateHandler::UpdateManagedStateProperties(
// Signal connection state changed after all properties have been updated.
if (network->connection_state() != prev_connection_state)
OnNetworkConnectionStateChanged(network);
- FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_,
- NetworkPropertiesUpdated(network));
+ NetworkPropertiesUpdated(network);
}
network_event_log::AddEntry(
kLogModule, "PropertiesReceived",
@@ -397,8 +396,7 @@ void NetworkStateHandler::UpdateNetworkServiceProperty(
if (network->connection_state() != prev_connection_state)
OnNetworkConnectionStateChanged(network);
- FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_,
- NetworkPropertiesUpdated(network));
+ NetworkPropertiesUpdated(network);
std::string detail = network->name() + "." + key;
std::string vstr = ValueAsString(value);
@@ -416,9 +414,7 @@ void NetworkStateHandler::UpdateNetworkServiceIPAddress(
std::string detail = network->name() + ".IPAddress = " + ip_address;
network_event_log::AddEntry(kLogModule, "NetworkIPChanged", detail);
network->set_ip_address(ip_address);
- FOR_EACH_OBSERVER(
- NetworkStateHandlerObserver, observers_,
- NetworkPropertiesUpdated(network));
+ NetworkPropertiesUpdated(network);
}
void NetworkStateHandler::UpdateDeviceProperty(const std::string& device_path,
@@ -545,4 +541,12 @@ void NetworkStateHandler::OnDefaultNetworkChanged() {
DefaultNetworkChanged(default_network));
}
+void NetworkStateHandler::NetworkPropertiesUpdated(
+ const NetworkState* network) {
+ if (network->path() == connecting_network_ && !network->IsConnectingState())
+ connecting_network_.clear();
+ FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_,
+ NetworkPropertiesUpdated(network));
+}
+
} // namespace chromeos