Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| index c13a8f55b574b795d2dc09c387af84a2527b13bd..27e379d6c69e288dedd296c5ef636976e5e6f887 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| @@ -105,7 +105,8 @@ class NetworkStateInformer |
| // Removes observer's callback. |
| void RemoveObserver(const std::string& callback); |
| - // Sends current network state, network name and reason using the callback. |
| + // Sends current network state, network name, reason and last network type |
| + // using the callback. |
| void SendState(const std::string& callback, const std::string& reason); |
| // NetworkLibrary::NetworkManagerObserver implementation: |
| @@ -125,6 +126,7 @@ class NetworkStateInformer |
| content::NotificationRegistrar registrar_; |
| base::hash_set<std::string> observers_; |
| std::string active_network_; |
| + ConnectionType last_network_type_; |
| std::string network_name_; |
| State state_; |
| WebUI* web_ui_; |
| @@ -132,7 +134,8 @@ class NetworkStateInformer |
| // NetworkStateInformer implementation ----------------------------------------- |
| -NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) : web_ui_(web_ui) { |
| +NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) |
| + : last_network_type_(TYPE_WIFI), web_ui_(web_ui) { |
|
whywhat
2011/11/29 07:58:06
Initialize each member on its own line, please.
I'
altimofeev
2011/11/29 17:10:46
Done.
|
| NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); |
| UpdateState(cros); |
| cros->AddNetworkManagerObserver(this); |
| @@ -159,8 +162,9 @@ void NetworkStateInformer::SendState(const std::string& callback, |
| base::FundamentalValue state_value(state_); |
| base::StringValue network_value(network_name_); |
| base::StringValue reason_value(reason); |
| - web_ui_->CallJavascriptFunction(callback, state_value, |
| - network_value, reason_value); |
| + base::FundamentalValue last_network_value(last_network_type_); |
| + web_ui_->CallJavascriptFunction(callback, state_value, network_value, |
| + reason_value, last_network_value); |
| } |
| void NetworkStateInformer::OnNetworkManagerChanged(NetworkLibrary* cros) { |
| @@ -178,6 +182,9 @@ void NetworkStateInformer::Observe( |
| } |
| bool NetworkStateInformer::UpdateState(NetworkLibrary* cros) { |
| + if (cros->active_network()) |
| + last_network_type_ = cros->active_network()->type(); |
| + |
| State new_state; |
| std::string new_active_network; |
| if (!cros->Connected()) { |