Index: content/browser/accessibility/browser_accessibility_android.cc |
diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc |
index 53df2492ce40548c40e2c2b40525c205cf329b5f..55982e9c450858f2d2805eee36cf0d58f9a8ce86 100644 |
--- a/content/browser/accessibility/browser_accessibility_android.cc |
+++ b/content/browser/accessibility/browser_accessibility_android.cc |
@@ -17,6 +17,8 @@ |
namespace { |
+const base::char16 kSecurePasswordBullet = 0x2022; |
+ |
// These are enums from android.text.InputType in Java: |
enum { |
ANDROID_TEXT_INPUTTYPE_TYPE_NULL = 0, |
@@ -66,6 +68,22 @@ void BrowserAccessibilityAndroid::OnLocationChanged() { |
manager()->NotifyAccessibilityEvent(ui::AX_EVENT_LOCATION_CHANGED, this); |
} |
+base::string16 BrowserAccessibilityAndroid::GetValue() const { |
+ base::string16 value = BrowserAccessibility::GetValue(); |
+ |
+ // Optionally replace entered password text with bullet characters |
+ // based on a user preference. |
+ if (IsPassword()) { |
+ bool should_expose = static_cast<BrowserAccessibilityManagerAndroid*>( |
+ manager())->ShouldExposePasswordText(); |
+ if (!should_expose) { |
+ value = base::string16(value.size(), kSecurePasswordBullet); |
+ } |
+ } |
+ |
+ return value; |
+} |
+ |
bool BrowserAccessibilityAndroid::PlatformIsLeaf() const { |
if (BrowserAccessibility::PlatformIsLeaf()) |
return true; |