diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-30 16:00:46 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-30 16:00:46 +0000 |
commit | 34bfccf69ddfe4285162a10361c04680e037c6a2 (patch) | |
tree | 7e1bf5f96704ba0e7306b6a606d1b2a74cd3abec /ash | |
parent | 1f03a75fe0b9e3722c2ba201ff1e27b5ccfc5af7 (diff) | |
download | chromium_src-34bfccf69ddfe4285162a10361c04680e037c6a2.zip chromium_src-34bfccf69ddfe4285162a10361c04680e037c6a2.tar.gz chromium_src-34bfccf69ddfe4285162a10361c04680e037c6a2.tar.bz2 |
Differentiate between 'connect-failed' and 'bad-passphrase'
Now that all connection requests are going through
NetworkConnectionHandler we can start to improve the connect flow
logic.
'connect-failed' can indicate a lot of things; we shouldn't assume that
configuration is required when that Error state is set.
BUG=278559
R=pneubeck@chromium.org
Review URL: https://codereview.chromium.org/22867045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220596 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/system/chromeos/network/network_connect.cc | 12 | ||||
-rw-r--r-- | ash/system/chromeos/network/network_connect.h | 2 | ||||
-rw-r--r-- | ash/system/chromeos/network/network_state_notifier.cc | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/ash/system/chromeos/network/network_connect.cc b/ash/system/chromeos/network/network_connect.cc index 0e53569..3002856 100644 --- a/ash/system/chromeos/network/network_connect.cc +++ b/ash/system/chromeos/network/network_connect.cc @@ -75,7 +75,8 @@ void OnConnectFailed(const std::string& service_path, if (error_name == NetworkConnectionHandler::kErrorConnectCanceled) return; - if (error_name == NetworkConnectionHandler::kErrorPassphraseRequired || + if (error_name == flimflam::kErrorBadPassphrase || + error_name == NetworkConnectionHandler::kErrorPassphraseRequired || error_name == NetworkConnectionHandler::kErrorConfigurationRequired || error_name == NetworkConnectionHandler::kErrorAuthenticationRequired) { ash::Shell::GetInstance()->system_tray_delegate()->ConfigureNetwork( @@ -104,7 +105,7 @@ void OnConnectFailed(const std::string& service_path, ShowErrorNotification(error_name, service_path); // Show a configure dialog for ConnectFailed errors. - if (error_name != NetworkConnectionHandler::kErrorConnectFailed) + if (error_name != flimflam::kErrorConnectFailed) return; // If Shill reports an InProgress error, don't try to configure the network. @@ -147,11 +148,10 @@ void CallConnectToNetwork(const std::string& service_path, } void OnActivateFailed(const std::string& service_path, - const std::string& error_name, + const std::string& error_name, scoped_ptr<base::DictionaryValue> error_data) { NET_LOG_ERROR("Unable to activate network", service_path); - ShowErrorNotification( - NetworkConnectionHandler::kErrorActivateFailed, service_path); + ShowErrorNotification(network_connect::kErrorActivateFailed, service_path); } void OnActivateSucceeded(const std::string& service_path) { @@ -261,6 +261,8 @@ const char kNetworkConnectNotificationId[] = const char kNetworkActivateNotificationId[] = "chrome://settings/internet/activate"; +const char kErrorActivateFailed[] = "activate-failed"; + void ConnectToNetwork(const std::string& service_path, gfx::NativeWindow owning_window) { NET_LOG_USER("ConnectToNetwork", service_path); diff --git a/ash/system/chromeos/network/network_connect.h b/ash/system/chromeos/network/network_connect.h index eb7df2e..7868d23 100644 --- a/ash/system/chromeos/network/network_connect.h +++ b/ash/system/chromeos/network/network_connect.h @@ -21,6 +21,8 @@ namespace network_connect { ASH_EXPORT extern const char kNetworkConnectNotificationId[]; ASH_EXPORT extern const char kNetworkActivateNotificationId[]; +ASH_EXPORT extern const char kErrorActivateFailed[]; + // Requests a network connection and handles any errors and notifications. // |owning_window| is used to parent any UI on failure (e.g. for certificate // enrollment). If NULL, the default window will be used. diff --git a/ash/system/chromeos/network/network_state_notifier.cc b/ash/system/chromeos/network/network_state_notifier.cc index 1baa151..08fd96f 100644 --- a/ash/system/chromeos/network/network_state_notifier.cc +++ b/ash/system/chromeos/network/network_state_notifier.cc @@ -43,7 +43,7 @@ string16 GetConnectErrorString(const std::string& error_name) { if (error_name == NetworkConnectionHandler::kErrorConfigureFailed) return l10n_util::GetStringUTF16( IDS_CHROMEOS_NETWORK_ERROR_CONFIGURE_FAILED); - if (error_name == NetworkConnectionHandler::kErrorActivateFailed) + if (error_name == ash::network_connect::kErrorActivateFailed) return l10n_util::GetStringUTF16( IDS_CHROMEOS_NETWORK_ERROR_ACTIVATION_FAILED); return string16(); |