summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-20 00:47:33 +0000
committergspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-20 00:47:33 +0000
commiteebd7a557fee31051693649865faadfcedec4db3 (patch)
treea3d6e7836ab7add0000058550e0d9a8c4cc3f478
parent881e921a6d5e9f58495c5f365edd52fe55fc8cdc (diff)
downloadchromium_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.cc6
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, "");
}
}