| Index: chromeos/network/network_state.cc
|
| diff --git a/chromeos/network/network_state.cc b/chromeos/network/network_state.cc
|
| index 6c022bff17820ad8e68c3eca75d949aa4211e7d0..df5f8255289ee11f48187d12f987d3ef728cbd7c 100644
|
| --- a/chromeos/network/network_state.cc
|
| +++ b/chromeos/network/network_state.cc
|
| @@ -90,7 +90,14 @@ bool NetworkState::PropertyChanged(const std::string& key,
|
| if (key == shill::kSignalStrengthProperty) {
|
| return GetIntegerValue(key, value, &signal_strength_);
|
| } else if (key == shill::kStateProperty) {
|
| - return GetStringValue(key, value, &connection_state_);
|
| + std::string saved_state = connection_state_;
|
| + if (GetStringValue(key, value, &connection_state_)) {
|
| + if (connection_state_ != saved_state)
|
| + last_connection_state_ = saved_state;
|
| + return true;
|
| + } else {
|
| + return false;
|
| + }
|
| } else if (key == shill::kVisibleProperty) {
|
| return GetBooleanValue(key, value, &visible_);
|
| } else if (key == shill::kConnectableProperty) {
|
| @@ -350,6 +357,11 @@ bool NetworkState::IsConnectingState() const {
|
| return visible() && StateIsConnecting(connection_state_);
|
| }
|
|
|
| +bool NetworkState::IsReconnecting() const {
|
| + return visible() && StateIsConnecting(connection_state_) &&
|
| + StateIsConnected(last_connection_state_);
|
| +}
|
| +
|
| bool NetworkState::IsInProfile() const {
|
| // kTypeEthernetEap is always saved. We need this check because it does
|
| // not show up in the visible list, but its properties may not be available
|
|
|