diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-17 09:21:00 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-17 09:21:00 +0000 |
commit | 106ccd2ccd1ac30217f27541b515c4bb93f10707 (patch) | |
tree | 5e1051f37501d9894d47853529a8b564dd8da614 /chromeos/network/network_state_handler.cc | |
parent | ecf56301956369d9fa0f341a0001efe9efbc1cbd (diff) | |
download | chromium_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.cc | 9 |
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); + } } } |