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

Unified Diff: content/browser/accessibility/browser_accessibility_manager_android.cc

Issue 1872013002: Fix Android accessibility for editable text fields (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update test expectation Created 4 years, 8 months 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
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(),

Powered by Google App Engine
This is Rietveld 408576698