| Index: chrome/browser/chromeos/status/network_menu_icon.cc
|
| diff --git a/chrome/browser/chromeos/status/network_menu_icon.cc b/chrome/browser/chromeos/status/network_menu_icon.cc
|
| index d6f1da001103db0143e06b091a0023097ae7981f..ebeca959412e58bdf5c234a0721c11ae99a915c0 100644
|
| --- a/chrome/browser/chromeos/status/network_menu_icon.cc
|
| +++ b/chrome/browser/chromeos/status/network_menu_icon.cc
|
| @@ -8,6 +8,7 @@
|
| #include <cmath>
|
|
|
| #include "base/utf_string_conversions.h"
|
| +#include "chrome/browser/chromeos/accessibility_util.h"
|
| #include "chrome/browser/chromeos/cros/cros_library.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/theme_resources.h"
|
| @@ -207,6 +208,12 @@ class NetworkIcon {
|
| }
|
| }
|
| bool dirty = bitmap_.empty();
|
| + bool speak = false;
|
| + if ((Network::IsConnectedState(state_) && !network->connected()) ||
|
| + (Network::IsConnectingState(state_) && !network->connecting()) ||
|
| + (Network::IsDisconnectedState(state_) && !network->disconnected())) {
|
| + speak = true;
|
| + }
|
| if (state_ != network->state()) {
|
| state_ = network->state();
|
| dirty = true;
|
| @@ -247,6 +254,37 @@ class NetworkIcon {
|
| UpdateIcon(network);
|
| GenerateBitmap();
|
| }
|
| + if (speak) {
|
| + std::string connection_string;
|
| + if (Network::IsConnectedState(state_)) {
|
| + switch (network->type()) {
|
| + case TYPE_ETHERNET:
|
| + connection_string = l10n_util::GetStringFUTF8(
|
| + IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP,
|
| + l10n_util::GetStringUTF16(
|
| + IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET));
|
| + break;
|
| + default:
|
| + connection_string = l10n_util::GetStringFUTF8(
|
| + IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP,
|
| + UTF8ToUTF16(network->name()));
|
| + break;
|
| + }
|
| + } else if (Network::IsConnectingState(state_)) {
|
| + const Network* connecting_network = cros->connecting_network();
|
| + if (connecting_network && connecting_network->type() != TYPE_ETHERNET) {
|
| + connection_string = l10n_util::GetStringFUTF8(
|
| + IDS_STATUSBAR_NETWORK_CONNECTING_TOOLTIP,
|
| + UTF8ToUTF16(connecting_network->name()));
|
| + }
|
| + } else if (Network::IsDisconnectedState(state_)) {
|
| + connection_string = l10n_util::GetStringUTF8(
|
| + IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP);
|
| + }
|
| + if (!connection_string.empty()) {
|
| + accessibility::MaybeSpeak(connection_string.c_str(), true, false);
|
| + }
|
| + }
|
| }
|
|
|
| // Sets up the base icon image.
|
|
|