Index: content/browser/accessibility/browser_accessibility_manager_android.cc |
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc |
index 4a1b39dc001f2624f6402bb5e8d805d49e0b822c..20599dc90586bd1141725740018226574f70a1d7 100644 |
--- a/content/browser/accessibility/browser_accessibility_manager_android.cc |
+++ b/content/browser/accessibility/browser_accessibility_manager_android.cc |
@@ -181,6 +181,16 @@ void BrowserAccessibilityManagerAndroid::SetContentViewCore( |
content_view_core.obj()).obj()); |
} |
+bool BrowserAccessibilityManagerAndroid::ShouldExposePasswordText() { |
+ JNIEnv* env = AttachCurrentThread(); |
+ ScopedJavaLocalRef<jobject> obj = GetJavaRefFromRootManager(); |
+ if (obj.is_null()) |
+ return false; |
+ |
+ return Java_BrowserAccessibilityManager_shouldExposePasswordText( |
+ env, obj.obj()); |
+} |
+ |
void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent( |
ui::AXEvent event_type, |
BrowserAccessibility* node) { |
@@ -403,13 +413,11 @@ jboolean BrowserAccessibilityManagerAndroid::PopulateAccessibilityNodeInfo( |
Java_BrowserAccessibilityManager_setAccessibilityNodeInfoClassName( |
env, obj, info, |
base::android::ConvertUTF8ToJavaString(env, node->GetClassName()).obj()); |
- if (!node->IsPassword() || |
- Java_BrowserAccessibilityManager_shouldExposePasswordText(env, obj)) { |
- Java_BrowserAccessibilityManager_setAccessibilityNodeInfoContentDescription( |
- env, obj, info, |
- base::android::ConvertUTF16ToJavaString(env, node->GetText()).obj(), |
- node->IsLink()); |
- } |
+ Java_BrowserAccessibilityManager_setAccessibilityNodeInfoText( |
+ env, obj, info, |
+ base::android::ConvertUTF16ToJavaString(env, node->GetText()).obj(), |
+ node->IsLink(), |
+ node->IsEditableText()); |
base::string16 element_id; |
if (node->GetHtmlAttribute("id", &element_id)) { |
Java_BrowserAccessibilityManager_setAccessibilityNodeInfoViewIdResourceName( |
@@ -506,12 +514,8 @@ jboolean BrowserAccessibilityManagerAndroid::PopulateAccessibilityEvent( |
switch (event_type) { |
case ANDROID_ACCESSIBILITY_EVENT_TEXT_CHANGED: { |
- base::string16 before_text, text; |
- if (!node->IsPassword() || |
- Java_BrowserAccessibilityManager_shouldExposePasswordText(env, obj)) { |
- before_text = node->GetTextChangeBeforeText(); |
- text = node->GetText(); |
- } |
+ base::string16 before_text = node->GetTextChangeBeforeText(); |
+ base::string16 text = node->GetText(); |
Java_BrowserAccessibilityManager_setAccessibilityEventTextChangedAttrs( |
env, obj, event, |
node->GetTextChangeFromIndex(), |
@@ -523,11 +527,7 @@ jboolean BrowserAccessibilityManagerAndroid::PopulateAccessibilityEvent( |
break; |
} |
case ANDROID_ACCESSIBILITY_EVENT_TEXT_SELECTION_CHANGED: { |
- base::string16 text; |
- if (!node->IsPassword() || |
- Java_BrowserAccessibilityManager_shouldExposePasswordText(env, obj)) { |
- text = node->GetText(); |
- } |
+ base::string16 text = node->GetText(); |
Java_BrowserAccessibilityManager_setAccessibilityEventSelectionAttrs( |
env, obj, event, |
node->GetSelectionStart(), |
@@ -744,11 +744,7 @@ jboolean BrowserAccessibilityManagerAndroid::NextAtGranularity( |
int end_index = -1; |
if (NextAtGranularity(granularity, cursor_index, node, |
&start_index, &end_index)) { |
- base::string16 text; |
- if (!node->IsPassword() || |
- Java_BrowserAccessibilityManager_shouldExposePasswordText(env, obj)) { |
- text = node->GetText(); |
- } |
+ base::string16 text = node->GetText(); |
Java_BrowserAccessibilityManager_finishGranularityMove( |
env, obj, base::android::ConvertUTF16ToJavaString( |
env, text).obj(), |