OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/system/chromeos/network/network_connect.h" | 5 #include "ash/system/chromeos/network/network_connect.h" |
6 | 6 |
7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/system/chromeos/network/network_state_notifier.h" | 8 #include "ash/system/chromeos/network/network_state_notifier.h" |
9 #include "ash/system/system_notifier.h" | 9 #include "ash/system/system_notifier.h" |
10 #include "ash/system/tray/system_tray_delegate.h" | 10 #include "ash/system/tray/system_tray_delegate.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 scoped_ptr<base::DictionaryValue> error_data) { | 68 scoped_ptr<base::DictionaryValue> error_data) { |
69 NET_LOG_ERROR("Connect Failed: " + error_name, service_path); | 69 NET_LOG_ERROR("Connect Failed: " + error_name, service_path); |
70 | 70 |
71 if (!ash::Shell::HasInstance()) | 71 if (!ash::Shell::HasInstance()) |
72 return; | 72 return; |
73 | 73 |
74 // If a new connect attempt canceled this connect, no need to notify the user. | 74 // If a new connect attempt canceled this connect, no need to notify the user. |
75 if (error_name == NetworkConnectionHandler::kErrorConnectCanceled) | 75 if (error_name == NetworkConnectionHandler::kErrorConnectCanceled) |
76 return; | 76 return; |
77 | 77 |
78 if (error_name == NetworkConnectionHandler::kErrorPassphraseRequired || | 78 if (error_name == flimflam::kErrorBadPassphrase || |
| 79 error_name == NetworkConnectionHandler::kErrorPassphraseRequired || |
79 error_name == NetworkConnectionHandler::kErrorConfigurationRequired || | 80 error_name == NetworkConnectionHandler::kErrorConfigurationRequired || |
80 error_name == NetworkConnectionHandler::kErrorAuthenticationRequired) { | 81 error_name == NetworkConnectionHandler::kErrorAuthenticationRequired) { |
81 ash::Shell::GetInstance()->system_tray_delegate()->ConfigureNetwork( | 82 ash::Shell::GetInstance()->system_tray_delegate()->ConfigureNetwork( |
82 service_path); | 83 service_path); |
83 return; | 84 return; |
84 } | 85 } |
85 | 86 |
86 if (error_name == NetworkConnectionHandler::kErrorCertificateRequired) { | 87 if (error_name == NetworkConnectionHandler::kErrorCertificateRequired) { |
87 ash::Shell::GetInstance()->system_tray_delegate()->EnrollOrConfigureNetwork( | 88 ash::Shell::GetInstance()->system_tray_delegate()->EnrollOrConfigureNetwork( |
88 service_path, owning_window); | 89 service_path, owning_window); |
89 return; | 90 return; |
90 } | 91 } |
91 | 92 |
92 if (error_name == NetworkConnectionHandler::kErrorActivationRequired) { | 93 if (error_name == NetworkConnectionHandler::kErrorActivationRequired) { |
93 network_connect::ActivateCellular(service_path); | 94 network_connect::ActivateCellular(service_path); |
94 return; | 95 return; |
95 } | 96 } |
96 | 97 |
97 if (error_name == NetworkConnectionHandler::kErrorConnected || | 98 if (error_name == NetworkConnectionHandler::kErrorConnected || |
98 error_name == NetworkConnectionHandler::kErrorConnecting) { | 99 error_name == NetworkConnectionHandler::kErrorConnecting) { |
99 network_connect::ShowNetworkSettings(service_path); | 100 network_connect::ShowNetworkSettings(service_path); |
100 return; | 101 return; |
101 } | 102 } |
102 | 103 |
103 // ConnectFailed or unknown error; show a notification. | 104 // ConnectFailed or unknown error; show a notification. |
104 ShowErrorNotification(error_name, service_path); | 105 ShowErrorNotification(error_name, service_path); |
105 | 106 |
106 // Show a configure dialog for ConnectFailed errors. | 107 // Show a configure dialog for ConnectFailed errors. |
107 if (error_name != NetworkConnectionHandler::kErrorConnectFailed) | 108 if (error_name != flimflam::kErrorConnectFailed) |
108 return; | 109 return; |
109 | 110 |
110 // If Shill reports an InProgress error, don't try to configure the network. | 111 // If Shill reports an InProgress error, don't try to configure the network. |
111 std::string dbus_error_name; | 112 std::string dbus_error_name; |
112 error_data.get()->GetString( | 113 error_data.get()->GetString( |
113 chromeos::network_handler::kDbusErrorName, &dbus_error_name); | 114 chromeos::network_handler::kDbusErrorName, &dbus_error_name); |
114 if (dbus_error_name == kErrorInProgress) | 115 if (dbus_error_name == kErrorInProgress) |
115 return; | 116 return; |
116 | 117 |
117 ash::Shell::GetInstance()->system_tray_delegate()->ConfigureNetwork( | 118 ash::Shell::GetInstance()->system_tray_delegate()->ConfigureNetwork( |
(...skipping 22 matching lines...) Expand all Loading... |
140 network_connect::kNetworkConnectNotificationId, false /* not by user */); | 141 network_connect::kNetworkConnectNotificationId, false /* not by user */); |
141 | 142 |
142 NetworkHandler::Get()->network_connection_handler()->ConnectToNetwork( | 143 NetworkHandler::Get()->network_connection_handler()->ConnectToNetwork( |
143 service_path, | 144 service_path, |
144 base::Bind(&OnConnectSucceeded, service_path), | 145 base::Bind(&OnConnectSucceeded, service_path), |
145 base::Bind(&OnConnectFailed, service_path, owning_window), | 146 base::Bind(&OnConnectFailed, service_path, owning_window), |
146 check_error_state); | 147 check_error_state); |
147 } | 148 } |
148 | 149 |
149 void OnActivateFailed(const std::string& service_path, | 150 void OnActivateFailed(const std::string& service_path, |
150 const std::string& error_name, | 151 const std::string& error_name, |
151 scoped_ptr<base::DictionaryValue> error_data) { | 152 scoped_ptr<base::DictionaryValue> error_data) { |
152 NET_LOG_ERROR("Unable to activate network", service_path); | 153 NET_LOG_ERROR("Unable to activate network", service_path); |
153 ShowErrorNotification( | 154 ShowErrorNotification(network_connect::kErrorActivateFailed, service_path); |
154 NetworkConnectionHandler::kErrorActivateFailed, service_path); | |
155 } | 155 } |
156 | 156 |
157 void OnActivateSucceeded(const std::string& service_path) { | 157 void OnActivateSucceeded(const std::string& service_path) { |
158 NET_LOG_USER("Activation Succeeded", service_path); | 158 NET_LOG_USER("Activation Succeeded", service_path); |
159 } | 159 } |
160 | 160 |
161 void OnConfigureFailed(const std::string& error_name, | 161 void OnConfigureFailed(const std::string& error_name, |
162 scoped_ptr<base::DictionaryValue> error_data) { | 162 scoped_ptr<base::DictionaryValue> error_data) { |
163 NET_LOG_ERROR("Unable to configure network", ""); | 163 NET_LOG_ERROR("Unable to configure network", ""); |
164 ShowErrorNotification(NetworkConnectionHandler::kErrorConfigureFailed, ""); | 164 ShowErrorNotification(NetworkConnectionHandler::kErrorConfigureFailed, ""); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 | 254 |
255 } // namespace | 255 } // namespace |
256 | 256 |
257 namespace network_connect { | 257 namespace network_connect { |
258 | 258 |
259 const char kNetworkConnectNotificationId[] = | 259 const char kNetworkConnectNotificationId[] = |
260 "chrome://settings/internet/connect"; | 260 "chrome://settings/internet/connect"; |
261 const char kNetworkActivateNotificationId[] = | 261 const char kNetworkActivateNotificationId[] = |
262 "chrome://settings/internet/activate"; | 262 "chrome://settings/internet/activate"; |
263 | 263 |
| 264 const char kErrorActivateFailed[] = "activate-failed"; |
| 265 |
264 void ConnectToNetwork(const std::string& service_path, | 266 void ConnectToNetwork(const std::string& service_path, |
265 gfx::NativeWindow owning_window) { | 267 gfx::NativeWindow owning_window) { |
266 NET_LOG_USER("ConnectToNetwork", service_path); | 268 NET_LOG_USER("ConnectToNetwork", service_path); |
267 const NetworkState* network = | 269 const NetworkState* network = |
268 NetworkHandler::Get()->network_state_handler()-> | 270 NetworkHandler::Get()->network_state_handler()-> |
269 GetNetworkState(service_path); | 271 GetNetworkState(service_path); |
270 if (network && !network->error().empty()) { | 272 if (network && !network->error().empty()) { |
271 NET_LOG_USER("Configure: " + network->error(), service_path); | 273 NET_LOG_USER("Configure: " + network->error(), service_path); |
272 // If the network is in an error state, show the configuration UI directly | 274 // If the network is in an error state, show the configuration UI directly |
273 // to avoid a spurious notification. | 275 // to avoid a spurious notification. |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 | 503 |
502 void ShowNetworkSettings(const std::string& service_path) { | 504 void ShowNetworkSettings(const std::string& service_path) { |
503 if (!ash::Shell::HasInstance()) | 505 if (!ash::Shell::HasInstance()) |
504 return; | 506 return; |
505 ash::Shell::GetInstance()->system_tray_delegate()->ShowNetworkSettings( | 507 ash::Shell::GetInstance()->system_tray_delegate()->ShowNetworkSettings( |
506 service_path); | 508 service_path); |
507 } | 509 } |
508 | 510 |
509 } // network_connect | 511 } // network_connect |
510 } // ash | 512 } // ash |
OLD | NEW |