Index: content/browser/accessibility/browser_accessibility_win.cc |
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc |
index 5c318b29e1c7de1041fc3a12a90404645cc80052..56d17482b8ad81485c12360714b5c42f1d6ae942 100644 |
--- a/content/browser/accessibility/browser_accessibility_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_win.cc |
@@ -1943,8 +1943,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_caretOffset(LONG* offset) { |
return E_INVALIDARG; |
*offset = 0; |
- if (GetRole() == ui::AX_ROLE_TEXT_FIELD || |
- GetRole() == ui::AX_ROLE_TEXT_AREA) { |
+ if (GetRole() == ui::AX_ROLE_TEXT_FIELD) { |
int sel_start = 0; |
if (GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, |
&sel_start)) |
@@ -1999,8 +1998,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nSelections(LONG* n_selections) { |
return E_INVALIDARG; |
*n_selections = 0; |
- if (GetRole() == ui::AX_ROLE_TEXT_FIELD || |
- GetRole() == ui::AX_ROLE_TEXT_AREA) { |
+ if (GetRole() == ui::AX_ROLE_TEXT_FIELD) { |
int sel_start = 0; |
int sel_end = 0; |
if (GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, |
@@ -2024,8 +2022,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selection(LONG selection_index, |
*start_offset = 0; |
*end_offset = 0; |
- if (GetRole() == ui::AX_ROLE_TEXT_FIELD || |
- GetRole() == ui::AX_ROLE_TEXT_AREA) { |
+ if (GetRole() == ui::AX_ROLE_TEXT_FIELD) { |
int sel_start = 0; |
int sel_end = 0; |
if (GetIntAttribute( |
@@ -4057,16 +4054,13 @@ void BrowserAccessibilityWin::InitRoleAndState() { |
ia_role = ROLE_SYSTEM_PUSHBUTTON; |
ia2_role = IA2_ROLE_TOGGLE_BUTTON; |
break; |
- case ui::AX_ROLE_TEXT_AREA: |
- ia_role = ROLE_SYSTEM_TEXT; |
- ia2_state |= IA2_STATE_MULTI_LINE; |
- ia2_state |= IA2_STATE_EDITABLE; |
- ia2_state |= IA2_STATE_SELECTABLE_TEXT; |
- break; |
case ui::AX_ROLE_TEXT_FIELD: |
case ui::AX_ROLE_SEARCH_BOX: |
ia_role = ROLE_SYSTEM_TEXT; |
- ia2_state |= IA2_STATE_SINGLE_LINE; |
+ if (HasState(ui::AX_STATE_MULTILINE)) |
+ ia2_state |= IA2_STATE_MULTI_LINE |
+ else |
+ ia2_state |= IA2_STATE_SINGLE_LINE |
ia2_state |= IA2_STATE_EDITABLE; |
ia2_state |= IA2_STATE_SELECTABLE_TEXT; |
break; |