| 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 a74f0082ad154bb8084827df6173b0fbcdca38ac..52d65365a84a931632cde9c0ca2676e0aadd7ccc 100644
|
| --- a/content/browser/accessibility/browser_accessibility_android.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_android.cc
|
| @@ -15,11 +15,10 @@
|
| #include "content/public/common/content_client.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| #include "ui/accessibility/platform/ax_android_constants.h"
|
| +#include "ui/accessibility/platform/ax_snapshot_node_android_platform.h"
|
|
|
| namespace {
|
|
|
| -const base::char16 kSecurePasswordBullet = 0x2022;
|
| -
|
| // These are enums from android.text.InputType in Java:
|
| enum {
|
| ANDROID_TEXT_INPUTTYPE_TYPE_NULL = 0,
|
| @@ -81,7 +80,7 @@ base::string16 BrowserAccessibilityAndroid::GetValue() const {
|
| bool should_expose = static_cast<BrowserAccessibilityManagerAndroid*>(
|
| manager())->ShouldExposePasswordText();
|
| if (!should_expose) {
|
| - value = base::string16(value.size(), kSecurePasswordBullet);
|
| + value = base::string16(value.size(), ui::kSecurePasswordBullet);
|
| }
|
| }
|
|
|
| @@ -245,8 +244,7 @@ bool BrowserAccessibilityAndroid::IsHierarchical() const {
|
| }
|
|
|
| bool BrowserAccessibilityAndroid::IsLink() const {
|
| - return (GetRole() == ui::AX_ROLE_LINK ||
|
| - GetRole() == ui::AX_ROLE_IMAGE_MAP_LINK);
|
| + return ui::AXSnapshotNodeAndroid::AXRoleIsLink(GetRole());
|
| }
|
|
|
| bool BrowserAccessibilityAndroid::IsMultiLine() const {
|
| @@ -328,80 +326,8 @@ bool BrowserAccessibilityAndroid::CanOpenPopup() const {
|
| }
|
|
|
| const char* BrowserAccessibilityAndroid::GetClassName() const {
|
| - const char* class_name = NULL;
|
| -
|
| - switch (GetRole()) {
|
| - case ui::AX_ROLE_SEARCH_BOX:
|
| - case ui::AX_ROLE_SPIN_BUTTON:
|
| - case ui::AX_ROLE_TEXT_FIELD:
|
| - class_name = ui::kAXEditTextClassname;
|
| - break;
|
| - case ui::AX_ROLE_SLIDER:
|
| - class_name = ui::kAXSeekBarClassname;
|
| - break;
|
| - case ui::AX_ROLE_COLOR_WELL:
|
| - case ui::AX_ROLE_COMBO_BOX:
|
| - case ui::AX_ROLE_DATE:
|
| - case ui::AX_ROLE_POP_UP_BUTTON:
|
| - case ui::AX_ROLE_INPUT_TIME:
|
| - class_name = ui::kAXSpinnerClassname;
|
| - break;
|
| - case ui::AX_ROLE_BUTTON:
|
| - case ui::AX_ROLE_MENU_BUTTON:
|
| - class_name = ui::kAXButtonClassname;
|
| - break;
|
| - case ui::AX_ROLE_CHECK_BOX:
|
| - case ui::AX_ROLE_SWITCH:
|
| - class_name = ui::kAXCheckBoxClassname;
|
| - break;
|
| - case ui::AX_ROLE_RADIO_BUTTON:
|
| - class_name = ui::kAXRadioButtonClassname;
|
| - break;
|
| - case ui::AX_ROLE_TOGGLE_BUTTON:
|
| - class_name = ui::kAXToggleButtonClassname;
|
| - break;
|
| - case ui::AX_ROLE_CANVAS:
|
| - case ui::AX_ROLE_IMAGE:
|
| - case ui::AX_ROLE_SVG_ROOT:
|
| - class_name = ui::kAXImageClassname;
|
| - break;
|
| - case ui::AX_ROLE_METER:
|
| - case ui::AX_ROLE_PROGRESS_INDICATOR:
|
| - class_name = ui::kAXProgressBarClassname;
|
| - break;
|
| - case ui::AX_ROLE_TAB_LIST:
|
| - class_name = ui::kAXTabWidgetClassname;
|
| - break;
|
| - case ui::AX_ROLE_GRID:
|
| - case ui::AX_ROLE_TREE_GRID:
|
| - case ui::AX_ROLE_TABLE:
|
| - class_name = ui::kAXGridViewClassname;
|
| - break;
|
| - case ui::AX_ROLE_LIST:
|
| - case ui::AX_ROLE_LIST_BOX:
|
| - case ui::AX_ROLE_DESCRIPTION_LIST:
|
| - class_name = ui::kAXListViewClassname;
|
| - break;
|
| - case ui::AX_ROLE_DIALOG:
|
| - class_name = ui::kAXDialogClassname;
|
| - break;
|
| - case ui::AX_ROLE_ROOT_WEB_AREA:
|
| - if (PlatformGetParent() == nullptr)
|
| - class_name = ui::kAXWebViewClassname;
|
| - else
|
| - class_name = ui::kAXViewClassname;
|
| - break;
|
| - case ui::AX_ROLE_MENU_ITEM:
|
| - case ui::AX_ROLE_MENU_ITEM_CHECK_BOX:
|
| - case ui::AX_ROLE_MENU_ITEM_RADIO:
|
| - class_name = ui::kAXMenuItemClassname;
|
| - break;
|
| - default:
|
| - class_name = ui::kAXViewClassname;
|
| - break;
|
| - }
|
| -
|
| - return class_name;
|
| + return ui::AXSnapshotNodeAndroid::AXRoleToAndroidClassName(
|
| + GetRole(), PlatformGetParent() != nullptr);
|
| }
|
|
|
| base::string16 BrowserAccessibilityAndroid::GetText() const {
|
| @@ -484,22 +410,7 @@ base::string16 BrowserAccessibilityAndroid::GetText() const {
|
|
|
| if (text.empty() && (IsLink() || GetRole() == ui::AX_ROLE_IMAGE)) {
|
| base::string16 url = GetString16Attribute(ui::AX_ATTR_URL);
|
| - // Given a url like http://foo.com/bar/baz.png, just return the
|
| - // base text, e.g., "baz".
|
| - int trailing_slashes = 0;
|
| - while (url.size() - trailing_slashes > 0 &&
|
| - url[url.size() - trailing_slashes - 1] == '/') {
|
| - trailing_slashes++;
|
| - }
|
| - if (trailing_slashes)
|
| - url = url.substr(0, url.size() - trailing_slashes);
|
| - size_t slash_index = url.rfind('/');
|
| - if (slash_index != std::string::npos)
|
| - url = url.substr(slash_index + 1);
|
| - size_t dot_index = url.rfind('.');
|
| - if (dot_index != std::string::npos)
|
| - url = url.substr(0, dot_index);
|
| - text = url;
|
| + text = ui::AXSnapshotNodeAndroid::AXUrlBaseText(url);
|
| }
|
|
|
| return text;
|
|
|