Index: chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
index f28867baa85986654352e70b9f980a4e236de086..9c7556a58a654865bd8244161f8b2aa8036cc8fb 100644 |
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
@@ -689,7 +689,11 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
} |
virtual void ToggleWifi() OVERRIDE { |
+ bool old_wifi_enabled = GetWifiEnabled(); |
network_menu_->ToggleWifi(); |
+ // Use the old state to get the new state because Wi-Fi state is toggled |
+ // asynchronously. |
+ tray_->network_observer()->OnWifiToggled(!old_wifi_enabled); |
} |
virtual void ToggleMobile() OVERRIDE { |