summaryrefslogtreecommitdiffstats
path: root/chromeos/network/network_state_handler.cc
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-17 09:21:00 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-17 09:21:00 +0000
commit106ccd2ccd1ac30217f27541b515c4bb93f10707 (patch)
tree5e1051f37501d9894d47853529a8b564dd8da614 /chromeos/network/network_state_handler.cc
parentecf56301956369d9fa0f341a0001efe9efbc1cbd (diff)
downloadchromium_src-106ccd2ccd1ac30217f27541b515c4bb93f10707.zip
chromium_src-106ccd2ccd1ac30217f27541b515c4bb93f10707.tar.gz
chromium_src-106ccd2ccd1ac30217f27541b515c4bb93f10707.tar.bz2
Provide Shill IP Address to myIpAddress()
On Chrome OS we need to get the IP Address to use for myIpAddress() from Shill since gethostname() returns localhost. BUG=175652 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/238433003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277679 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network/network_state_handler.cc')
-rw-r--r--chromeos/network/network_state_handler.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index aa91883..e4e5f6e 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -60,6 +60,7 @@ NetworkStateHandler::NetworkStateHandler() {
}
NetworkStateHandler::~NetworkStateHandler() {
+ FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, IsShuttingDown());
STLDeleteContainerPointers(network_list_.begin(), network_list_.end());
STLDeleteContainerPointers(device_list_.begin(), device_list_.end());
}
@@ -658,11 +659,19 @@ void NetworkStateHandler::UpdateIPConfigProperties(
if (!network)
return;
network->IPConfigPropertiesChanged(properties);
+ if (network->path() == default_network_path_)
+ NotifyDefaultNetworkChanged(network);
} else if (type == ManagedState::MANAGED_TYPE_DEVICE) {
DeviceState* device = GetModifiableDeviceState(path);
if (!device)
return;
device->IPConfigPropertiesChanged(ip_config_path, properties);
+ if (!default_network_path_.empty()) {
+ const NetworkState* default_network =
+ GetNetworkState(default_network_path_);
+ if (default_network && default_network->device_path() == path)
+ NotifyDefaultNetworkChanged(default_network);
+ }
}
}