Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2709)

Unified Diff: chrome/browser/chromeos/status/network_menu_icon.cc

Issue 8402023: Speak a message when accessibility is on and the network state changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review fix Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/accessibility_util.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « chrome/browser/chromeos/accessibility_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698