| 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 ef7d00893e993cc69f2f0d213e2717fd3703d421..2efc3e1349c9b59ea5cca6ed904a61262ab8c599 100644
 | 
| --- a/content/browser/accessibility/browser_accessibility_android.cc
 | 
| +++ b/content/browser/accessibility/browser_accessibility_android.cc
 | 
| @@ -140,28 +140,23 @@ bool BrowserAccessibilityAndroid::PlatformIsLeaf() const {
 | 
|  }
 | 
|  
 | 
|  bool BrowserAccessibilityAndroid::IsCheckable() const {
 | 
| -  bool checkable = false;
 | 
| -  bool is_aria_pressed_defined;
 | 
| -  bool is_mixed;
 | 
| -  GetAriaTristate("aria-pressed", &is_aria_pressed_defined, &is_mixed);
 | 
| -  if (GetRole() == ui::AX_ROLE_CHECK_BOX ||
 | 
| -      GetRole() == ui::AX_ROLE_RADIO_BUTTON ||
 | 
| -      GetRole() == ui::AX_ROLE_MENU_ITEM_CHECK_BOX ||
 | 
| -      GetRole() == ui::AX_ROLE_MENU_ITEM_RADIO ||
 | 
| -      is_aria_pressed_defined) {
 | 
| -    checkable = true;
 | 
| -  }
 | 
| -  // TODO(aleventhal) does this ever happen when checkable is not true yet?
 | 
| -  if (HasIntAttribute(ui::AX_ATTR_CHECKED_STATE))
 | 
| -    checkable = true;
 | 
| -  return checkable;
 | 
| +  return GetRole() == ui::AX_ROLE_CHECK_BOX ||
 | 
| +         GetRole() == ui::AX_ROLE_RADIO_BUTTON ||
 | 
| +         GetRole() == ui::AX_ROLE_MENU_ITEM_CHECK_BOX ||
 | 
| +         GetRole() == ui::AX_ROLE_MENU_ITEM_RADIO ||
 | 
| +         GetRole() == ui::AX_ROLE_TOGGLE_BUTTON ||
 | 
| +         // TODO(aleventhal) does this ever happen when checkable is not true
 | 
| +         // yet?
 | 
| +         HasIntAttribute(ui::AX_ATTR_CHECKED_STATE);
 | 
|  }
 | 
|  
 | 
|  bool BrowserAccessibilityAndroid::IsChecked() const {
 | 
| -  const auto checked_state = static_cast<ui::AXCheckedState>(
 | 
| +  const auto checked_state = static_cast<ui::AXButtonState>(
 | 
|        GetIntAttribute(ui::AX_ATTR_CHECKED_STATE));
 | 
| -  return (checked_state == ui::AX_CHECKED_STATE_TRUE ||
 | 
| -          HasState(ui::AX_STATE_PRESSED));
 | 
| +  const auto pressed_state = static_cast<ui::AXButtonState>(
 | 
| +      GetIntAttribute(ui::AX_ATTR_PRESSED_STATE));
 | 
| +  return (checked_state == ui::AX_BUTTON_STATE_TRUE ||
 | 
| +          pressed_state == ui::AX_BUTTON_STATE_TRUE);
 | 
|  }
 | 
|  
 | 
|  bool BrowserAccessibilityAndroid::IsClickable() const {
 | 
| @@ -197,8 +192,9 @@ bool BrowserAccessibilityAndroid::IsCollectionItem() const {
 | 
|  }
 | 
|  
 | 
|  bool BrowserAccessibilityAndroid::IsContentInvalid() const {
 | 
| -  std::string invalid;
 | 
| -  return GetHtmlAttribute("aria-invalid", &invalid);
 | 
| +  return HasIntAttribute(ui::AX_ATTR_INVALID_STATE) &&
 | 
| +         GetIntAttribute(ui::AX_ATTR_INVALID_STATE) != ui
 | 
| +             : AX_ATTR_INVALID_STATE_FALSE;
 | 
|  }
 | 
|  
 | 
|  bool BrowserAccessibilityAndroid::IsDismissable() const {
 | 
| @@ -1111,7 +1107,7 @@ int BrowserAccessibilityAndroid::AndroidInputType() const {
 | 
|      return ANDROID_TEXT_INPUTTYPE_TYPE_NULL;
 | 
|  
 | 
|    std::string type;
 | 
| -  if (!GetHtmlAttribute("type", &type))
 | 
| +  if (!GetData().GetHtmlAttribute("type", type))
 | 
|      return ANDROID_TEXT_INPUTTYPE_TYPE_TEXT;
 | 
|  
 | 
|    if (type.empty() || type == "text" || type == "search")
 | 
| 
 |