diff options
author | gspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-20 00:47:33 +0000 |
---|---|---|
committer | gspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-20 00:47:33 +0000 |
commit | eebd7a557fee31051693649865faadfcedec4db3 (patch) | |
tree | a3d6e7836ab7add0000058550e0d9a8c4cc3f478 | |
parent | 881e921a6d5e9f58495c5f365edd52fe55fc8cdc (diff) | |
download | chromium_src-eebd7a557fee31051693649865faadfcedec4db3.zip chromium_src-eebd7a557fee31051693649865faadfcedec4db3.tar.gz chromium_src-eebd7a557fee31051693649865faadfcedec4db3.tar.bz2 |
This fixes a subtle bug in updating the network state
When we lose the active network, we need to go ahead and process
state changes one last time to keep the state machine correct.
BUG=chromium:161395
Review URL: https://chromiumcodereview.appspot.com/11308062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168667 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/net/network_change_notifier_chromeos.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc b/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc index 793b760..2c219fa 100644 --- a/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc +++ b/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc @@ -140,6 +140,12 @@ void NetworkChangeNotifierChromeos::UpdateNetworkState( base::Bind(&NetworkChangeNotifierChromeos::UpdateNetworkStateCallback, weak_factory_.GetWeakPtr(), lib)); + } else { + // If we don't have a network, then we can't fetch ipconfigs, but we still + // need to process state updates when we lose a network (i.e. when + // has_active_network_ is still set, but we don't have one anymore). + NetworkIPConfigVector empty_ipconfigs; + UpdateNetworkStateCallback(lib, empty_ipconfigs, ""); } } |