Index: ui/chromeos/network/network_state_notifier.cc |
diff --git a/ui/chromeos/network/network_state_notifier.cc b/ui/chromeos/network/network_state_notifier.cc |
index 5c2de33940e93abf715eee5667e03cc250ddd164..6147798a444aa190df391506fcfe84a4694599a3 100644 |
--- a/ui/chromeos/network/network_state_notifier.cc |
+++ b/ui/chromeos/network/network_state_notifier.cc |
@@ -11,10 +11,10 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chromeos/network/network_configuration_handler.h" |
#include "chromeos/network/network_connection_handler.h" |
-#include "chromeos/network/network_event_log.h" |
#include "chromeos/network/network_state.h" |
#include "chromeos/network/network_state_handler.h" |
#include "chromeos/network/shill_property_util.h" |
+#include "components/device_event_log/device_event_log.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/resource/resource_bundle.h" |
@@ -68,11 +68,14 @@ int GetErrorNotificationIconId(const std::string& network_type) { |
return IDR_AURA_UBER_TRAY_NETWORK_FAILED; |
} |
-void ShowErrorNotification(const std::string& notification_id, |
+void ShowErrorNotification(const std::string& service_path, |
+ const std::string& notification_id, |
const std::string& network_type, |
const base::string16& title, |
const base::string16& message, |
const base::Closure& callback) { |
+ NET_LOG(ERROR) << "ShowErrorNotification: " << service_path << ": " |
+ << base::UTF16ToUTF8(title); |
const gfx::Image& icon = |
ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
GetErrorNotificationIconId(network_type)); |
@@ -219,7 +222,7 @@ void NetworkStateNotifier::UpdateCellularOutOfCredits( |
base::string16 error_msg = l10n_util::GetStringFUTF16( |
IDS_NETWORK_OUT_OF_CREDITS_BODY, base::UTF8ToUTF16(cellular->name())); |
ShowErrorNotification( |
- kNetworkOutOfCreditsNotificationId, cellular->type(), |
+ cellular->path(), kNetworkOutOfCreditsNotificationId, cellular->type(), |
l10n_util::GetStringUTF16(IDS_NETWORK_OUT_OF_CREDITS_TITLE), error_msg, |
base::Bind(&NetworkStateNotifier::ShowNetworkSettingsForPath, |
weak_ptr_factory_.GetWeakPtr(), cellular->path())); |
@@ -282,8 +285,8 @@ void NetworkStateNotifier::ShowMobileActivationError( |
NetworkHandler::Get()->network_state_handler()->GetNetworkState( |
service_path); |
if (!cellular || cellular->type() != shill::kTypeCellular) { |
- NET_LOG_ERROR("ShowMobileActivationError without Cellular network", |
- service_path); |
+ NET_LOG(ERROR) << "ShowMobileActivationError without Cellular network: " |
+ << service_path; |
return; |
} |
message_center::MessageCenter::Get()->AddNotification( |
@@ -337,6 +340,9 @@ void NetworkStateNotifier::ShowConnectErrorNotification( |
const std::string& service_path, |
const base::DictionaryValue& shill_properties) { |
base::string16 error = GetConnectErrorString(error_name); |
+ NET_LOG(DEBUG) << "Notify: " << service_path |
+ << ": Connect error: " << error_name << ": " |
+ << base::UTF16ToUTF8(error); |
if (error.empty()) { |
std::string shill_error; |
shill_properties.GetStringWithoutPathExpansion(shill::kErrorProperty, |
@@ -344,12 +350,13 @@ void NetworkStateNotifier::ShowConnectErrorNotification( |
if (!chromeos::NetworkState::ErrorIsValid(shill_error)) { |
shill_properties.GetStringWithoutPathExpansion( |
shill::kPreviousErrorProperty, &shill_error); |
- NET_LOG_DEBUG("Notify Service.PreviousError: " + shill_error, |
- service_path); |
+ NET_LOG(DEBUG) << "Notify: " << service_path |
+ << ": Service.PreviousError: " << shill_error; |
if (!chromeos::NetworkState::ErrorIsValid(shill_error)) |
shill_error.clear(); |
} else { |
- NET_LOG_DEBUG("Notify Service.Error: " + shill_error, service_path); |
+ NET_LOG(DEBUG) << "Notify: " << service_path |
+ << ": Service.Error: " << shill_error; |
} |
const NetworkState* network = |
@@ -360,23 +367,32 @@ void NetworkStateNotifier::ShowConnectErrorNotification( |
// TODO(stevenjb): This shouldn't ever be necessary, but is kept here as |
// a failsafe since more information is better than less when debugging |
// and we have encountered some strange edge cases before. |
- NET_LOG_DEBUG("Notify Network.last_error: " + network->last_error(), |
- service_path); |
+ NET_LOG(DEBUG) << "Notify: " << service_path |
+ << ": Network.last_error: " << network->last_error(); |
if (shill_error.empty()) |
shill_error = network->last_error(); |
} |
if (ShillErrorIsIgnored(shill_error)) { |
- NET_LOG_DEBUG("Notify Ignoring error: " + error_name, service_path); |
+ NET_LOG(DEBUG) << "Notify: " << service_path |
+ << ": Ignoring error: " << error_name; |
return; |
} |
error = network_connect_->GetShillErrorString(shill_error, service_path); |
- if (error.empty()) |
+ if (error.empty()) { |
+ if (error_name == NetworkConnectionHandler::kErrorConnectFailed && |
+ network && !network->connectable()) { |
+ // Connect failure on non connectable network with no additional |
+ // information. We expect the UI to show configuration UI so do not |
+ // show an additional (and unhelpful) notification. |
+ return; |
+ } |
error = l10n_util::GetStringUTF16(IDS_CHROMEOS_NETWORK_ERROR_UNKNOWN); |
+ } |
} |
- NET_LOG_ERROR("Notify connect error: " + base::UTF16ToUTF8(error), |
- service_path); |
+ NET_LOG(ERROR) << "Notify: " << service_path |
+ << ": Connect error: " + base::UTF16ToUTF8(error); |
std::string network_name = |
chromeos::shill_property_util::GetNameFromProperties(service_path, |
@@ -406,7 +422,7 @@ void NetworkStateNotifier::ShowConnectErrorNotification( |
&network_type); |
ShowErrorNotification( |
- kNetworkConnectNotificationId, network_type, |
+ service_path, kNetworkConnectNotificationId, network_type, |
l10n_util::GetStringUTF16(IDS_NETWORK_CONNECTION_ERROR_TITLE), error_msg, |
base::Bind(&NetworkStateNotifier::ShowNetworkSettingsForPath, |
weak_ptr_factory_.GetWeakPtr(), service_path)); |
@@ -417,7 +433,7 @@ void NetworkStateNotifier::ShowVpnDisconnectedNotification( |
base::string16 error_msg = l10n_util::GetStringFUTF16( |
IDS_NETWORK_VPN_CONNECTION_LOST_BODY, base::UTF8ToUTF16(vpn->name())); |
ShowErrorNotification( |
- kNetworkConnectNotificationId, shill::kTypeVPN, |
+ vpn->path(), kNetworkConnectNotificationId, shill::kTypeVPN, |
l10n_util::GetStringUTF16(IDS_NETWORK_VPN_CONNECTION_LOST_TITLE), |
error_msg, base::Bind(&NetworkStateNotifier::ShowNetworkSettingsForPath, |
weak_ptr_factory_.GetWeakPtr(), vpn->path())); |