Index: trunk/src/content/browser/accessibility/accessibility_tree_formatter_android.cc |
=================================================================== |
--- trunk/src/content/browser/accessibility/accessibility_tree_formatter_android.cc (revision 207890) |
+++ trunk/src/content/browser/accessibility/accessibility_tree_formatter_android.cc (working copy) |
@@ -52,36 +52,54 @@ |
const BrowserAccessibility& node, DictionaryValue* dict) { |
const BrowserAccessibilityAndroid* android_node = |
static_cast<const BrowserAccessibilityAndroid*>(&node); |
+ JNIEnv* env = base::android::AttachCurrentThread(); |
// Class name. |
- dict->SetString("class", android_node->GetClassName()); |
+ dict->SetString("class", base::android::ConvertJavaStringToUTF8( |
+ android_node->GetClassNameJNI(env, NULL))); |
// Bool attributes. |
- dict->SetBoolean("focusable", android_node->IsFocusable()); |
- dict->SetBoolean("focused", android_node->IsFocused()); |
- dict->SetBoolean("clickable", android_node->IsClickable()); |
- dict->SetBoolean("editable_text", android_node->IsEditableText()); |
- dict->SetBoolean("checkable", android_node->IsCheckable()); |
- dict->SetBoolean("checked", android_node->IsChecked()); |
- dict->SetBoolean("disabled", !android_node->IsEnabled()); |
- dict->SetBoolean("scrollable", android_node->IsScrollable()); |
- dict->SetBoolean("password", android_node->IsPassword()); |
- dict->SetBoolean("selected", android_node->IsSelected()); |
- dict->SetBoolean("invisible", !android_node->IsVisibleToUser()); |
+ dict->SetBoolean("focusable", |
+ android_node->IsFocusableJNI(env, NULL)); |
+ dict->SetBoolean("focused", |
+ android_node->IsFocusedJNI(env, NULL)); |
+ dict->SetBoolean("clickable", |
+ android_node->GetClickableJNI(env, NULL)); |
+ dict->SetBoolean("editable_text", |
+ android_node->IsEditableTextJNI(env, NULL)); |
+ dict->SetBoolean("checkable", |
+ android_node->IsCheckableJNI(env, NULL)); |
+ dict->SetBoolean("checked", |
+ android_node->IsCheckedJNI(env, NULL)); |
+ dict->SetBoolean("disabled", |
+ !android_node->IsEnabledJNI(env, NULL)); |
+ dict->SetBoolean("scrollable", |
+ android_node->IsScrollableJNI(env, NULL)); |
+ dict->SetBoolean("password", |
+ android_node->IsPasswordJNI(env, NULL)); |
+ dict->SetBoolean("selected", |
+ android_node->IsSelectedJNI(env, NULL)); |
+ dict->SetBoolean("invisible", |
+ !android_node->IsVisibleJNI(env, NULL)); |
// String attributes. |
- dict->SetString("name", android_node->GetText()); |
+ dict->SetString("name", base::android::ConvertJavaStringToUTF8( |
+ android_node->GetNameJNI(env, NULL))); |
// Int attributes. |
- dict->SetInteger("item_index", android_node->GetItemIndex()); |
- dict->SetInteger("item_count", android_node->GetItemCount()); |
+ dict->SetInteger("item_index", |
+ android_node->GetItemIndexJNI(env, NULL)); |
+ dict->SetInteger("item_count", |
+ android_node->GetItemCountJNI(env, NULL)); |
} |
bool AccessibilityTreeFormatter::IncludeChildren( |
const BrowserAccessibility& node) { |
const BrowserAccessibilityAndroid* android_node = |
static_cast<const BrowserAccessibilityAndroid*>(&node); |
- return !android_node->IsLeaf(); |
+ JNIEnv* env = base::android::AttachCurrentThread(); |
+ |
+ return 0 != android_node->GetChildCountJNI(env, NULL); |
} |
string16 AccessibilityTreeFormatter::ToString(const DictionaryValue& dict, |