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 d40a576ae3b00685343a4bedaf148da7b0f5e4fd..53cd1597c967039b3e6aba0c362c9014a053e013 100644 |
--- a/content/browser/accessibility/browser_accessibility_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_win.cc |
@@ -222,6 +222,11 @@ const GUID GUID_IAccessibleContentDocument = { |
const base::char16 BrowserAccessibilityWin::kEmbeddedCharacter = L'\xfffc'; |
+void AddAccessibilityModeFlags(AccessibilityMode mode_flags) { |
+ BrowserAccessibilityStateImpl::GetInstance()->AddAccessibilityModeFlags( |
+ mode_flags); |
+} |
+ |
// |
// BrowserAccessibilityRelation |
// |
@@ -898,6 +903,7 @@ STDMETHODIMP BrowserAccessibilityWin::role(LONG* role) { |
STDMETHODIMP BrowserAccessibilityWin::get_attributes(BSTR* attributes) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_IA2_GET_ATTRIBUTES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!attributes) |
return E_INVALIDARG; |
*attributes = nullptr; |
@@ -919,6 +925,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_attributes(BSTR* attributes) { |
STDMETHODIMP BrowserAccessibilityWin::get_states(AccessibleStates* states) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_STATES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -972,6 +979,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_indexInParent(LONG* index_in_parent) { |
STDMETHODIMP BrowserAccessibilityWin::get_nRelations(LONG* n_relations) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_RELATIONS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -986,6 +994,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_relation( |
LONG relation_index, |
IAccessibleRelation** relation) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_RELATION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1007,6 +1016,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_relations( |
IAccessibleRelation** relations, |
LONG* n_relations) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_RELATIONS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1096,6 +1106,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_groupPosition( |
LONG* similar_items_in_group, |
LONG* position_in_group) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_GROUP_POSITION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1117,17 +1128,20 @@ STDMETHODIMP BrowserAccessibilityWin::get_groupPosition( |
STDMETHODIMP BrowserAccessibilityWin::get_extendedRole(BSTR* extended_role) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_EXTENDED_ROLE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP |
BrowserAccessibilityWin::get_localizedExtendedRole( |
BSTR* localized_extended_role) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LOCALIZED_EXTENDED_ROLE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP |
BrowserAccessibilityWin::get_nExtendedStates(LONG* n_extended_states) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_EXTENDED_STATES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP |
@@ -1135,6 +1149,7 @@ BrowserAccessibilityWin::get_extendedStates(LONG max_extended_states, |
BSTR** extended_states, |
LONG* n_extended_states) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_EXTENDED_STATES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP |
@@ -1143,10 +1158,12 @@ BrowserAccessibilityWin::get_localizedExtendedStates( |
BSTR** localized_extended_states, |
LONG* n_localized_extended_states) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LOCALIZED_EXTENDED_STATES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::get_locale(IA2Locale* locale) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LOCALE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
@@ -1299,6 +1316,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accessibleAt( |
long column, |
IUnknown** accessible) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ACCESSIBLE_AT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1336,6 +1354,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accessibleAt( |
STDMETHODIMP BrowserAccessibilityWin::get_caption(IUnknown** accessible) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CAPTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1350,6 +1369,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_childIndex(long row, |
long column, |
long* cell_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CHILD_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1389,6 +1409,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_childIndex(long row, |
STDMETHODIMP BrowserAccessibilityWin::get_columnDescription(long column, |
BSTR* description) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_DESCRIPTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1436,6 +1457,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnExtentAt( |
long column, |
long* n_columns_spanned) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_EXTENT_AT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1475,6 +1497,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeader( |
IAccessibleTable** accessible_table, |
long* starting_row_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_HEADER); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
// TODO(dmazzoni): implement |
return E_NOTIMPL; |
} |
@@ -1482,6 +1505,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeader( |
STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long cell_index, |
long* column_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1511,6 +1535,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long cell_index, |
STDMETHODIMP BrowserAccessibilityWin::get_nColumns(long* column_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_COLUMNS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1529,6 +1554,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nColumns(long* column_count) { |
STDMETHODIMP BrowserAccessibilityWin::get_nRows(long* row_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_ROWS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1546,6 +1572,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nRows(long* row_count) { |
STDMETHODIMP BrowserAccessibilityWin::get_nSelectedChildren(long* cell_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_SELECTED_CHILDREN); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1559,6 +1586,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nSelectedChildren(long* cell_count) { |
STDMETHODIMP BrowserAccessibilityWin::get_nSelectedColumns(long* column_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_SELECTED_COLUMNS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1571,6 +1599,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nSelectedColumns(long* column_count) { |
STDMETHODIMP BrowserAccessibilityWin::get_nSelectedRows(long* row_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_SELECTED_ROWS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1584,6 +1613,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nSelectedRows(long* row_count) { |
STDMETHODIMP BrowserAccessibilityWin::get_rowDescription(long row, |
BSTR* description) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_DESCRIPTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1630,6 +1660,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowExtentAt(long row, |
long column, |
long* n_rows_spanned) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_EXTENT_AT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1669,6 +1700,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeader( |
IAccessibleTable** accessible_table, |
long* starting_column_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_HEADER); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
// TODO(dmazzoni): implement |
return E_NOTIMPL; |
} |
@@ -1676,6 +1708,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeader( |
STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long cell_index, |
long* row_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1707,6 +1740,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedChildren(long max_children, |
long** children, |
long* n_children) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SELECTED_CHILDREN); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1722,6 +1756,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedColumns(long max_columns, |
long** columns, |
long* n_columns) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SELECTED_COLUMNS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1737,6 +1772,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedRows(long max_rows, |
long** rows, |
long* n_rows) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SELECTED_ROWS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1750,6 +1786,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedRows(long max_rows, |
STDMETHODIMP BrowserAccessibilityWin::get_summary(IUnknown** accessible) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SUMMARY); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1764,6 +1801,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_isColumnSelected( |
long column, |
boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_IS_COLUMN_SELECTED); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1778,6 +1816,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_isColumnSelected( |
STDMETHODIMP BrowserAccessibilityWin::get_isRowSelected(long row, |
boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_IS_ROW_SELECTED); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1793,6 +1832,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_isSelected(long row, |
long column, |
boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_IS_SELECTED); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1812,6 +1852,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtentsAtIndex( |
long* column_extents, |
boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_COLUMN_EXTENTS_AT_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1847,21 +1888,25 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtentsAtIndex( |
STDMETHODIMP BrowserAccessibilityWin::selectRow(long row) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SELECT_ROW); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::selectColumn(long column) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SELECT_COLUMN); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::unselectRow(long row) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_UNSELECT_ROW); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::unselectColumn(long column) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_UNSELECT_COLUMN); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
@@ -1878,11 +1923,13 @@ STDMETHODIMP BrowserAccessibilityWin::get_cellAt(long row, |
long column, |
IUnknown** cell) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CELL_AT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return get_accessibleAt(row, column, cell); |
} |
STDMETHODIMP BrowserAccessibilityWin::get_nSelectedCells(long* cell_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_SELECTED_CELLS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return get_nSelectedChildren(cell_count); |
} |
@@ -1890,6 +1937,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedCells( |
IUnknown*** cells, |
long* n_selected_cells) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SELECTED_CELLS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1904,6 +1952,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedCells( |
STDMETHODIMP BrowserAccessibilityWin::get_selectedColumns(long** columns, |
long* n_columns) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_TABLE2_GET_SELECTED_COLUMNS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1918,6 +1967,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedColumns(long** columns, |
STDMETHODIMP BrowserAccessibilityWin::get_selectedRows(long** rows, |
long* n_rows) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_TABLE2_GET_SELECTED_ROWS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1937,6 +1987,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selectedRows(long** rows, |
STDMETHODIMP BrowserAccessibilityWin::get_columnExtent( |
long* n_columns_spanned) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_EXTENT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -1958,6 +2009,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeaderCells( |
IUnknown*** cell_accessibles, |
long* n_column_header_cells) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COLUMN_HEADER_CELLS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2019,6 +2071,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeaderCells( |
STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long* column_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_TABLECELL_GET_COLUMN_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2037,6 +2090,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long* column_index) { |
STDMETHODIMP BrowserAccessibilityWin::get_rowExtent(long* n_rows_spanned) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_EXTENT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2058,6 +2112,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeaderCells( |
IUnknown*** cell_accessibles, |
long* n_row_header_cells) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_HEADER_CELLS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2119,6 +2174,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeaderCells( |
STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long* row_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_TABLECELL_GET_ROW_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2135,6 +2191,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long* row_index) { |
STDMETHODIMP BrowserAccessibilityWin::get_isSelected(boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_TABLECELL_GET_IS_SELECTED); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2152,6 +2209,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtents( |
long* column_extents, |
boolean* is_selected) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ROW_COLUMN_EXTENTS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2187,6 +2245,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtents( |
STDMETHODIMP BrowserAccessibilityWin::get_table(IUnknown** table) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_TABLE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2219,6 +2278,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_table(IUnknown** table) { |
STDMETHODIMP BrowserAccessibilityWin::get_nCharacters(LONG* n_characters) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_CHARACTERS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2231,6 +2292,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nCharacters(LONG* n_characters) { |
STDMETHODIMP BrowserAccessibilityWin::get_caretOffset(LONG* offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CARET_OFFSET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2258,6 +2320,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_characterExtents( |
LONG* out_width, |
LONG* out_height) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CHARACTER_EXTENTS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2291,6 +2355,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_characterExtents( |
STDMETHODIMP BrowserAccessibilityWin::get_nSelections(LONG* n_selections) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_SELECTIONS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2312,6 +2377,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_selection(LONG selection_index, |
LONG* start_offset, |
LONG* end_offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_SELECTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2345,6 +2411,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_text(LONG start_offset, |
LONG end_offset, |
BSTR* text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_TEXT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2388,6 +2455,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_textAtOffset( |
LONG* end_offset, |
BSTR* text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_TEXT_AT_OFFSET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2439,6 +2508,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_textBeforeOffset( |
LONG* end_offset, |
BSTR* text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_TEXT_BEFORE_OFFSET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2469,6 +2540,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_textAfterOffset( |
LONG* end_offset, |
BSTR* text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_TEXT_AFTER_OFFSET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2494,6 +2567,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_textAfterOffset( |
STDMETHODIMP BrowserAccessibilityWin::get_newText(IA2TextSegment* new_text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_NEW_TEXT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2517,6 +2591,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_newText(IA2TextSegment* new_text) { |
STDMETHODIMP BrowserAccessibilityWin::get_oldText(IA2TextSegment* old_text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_OLD_TEXT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2545,6 +2620,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_offsetAtPoint( |
IA2CoordinateType coord_type, |
LONG* offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_OFFSET_AT_POINT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -2563,6 +2640,8 @@ STDMETHODIMP BrowserAccessibilityWin::scrollSubstringTo( |
LONG end_index, |
IA2ScrollType scroll_type) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SCROLL_SUBSTRING_TO); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
// TODO(dmazzoni): adjust this for the start and end index, too. |
return scrollTo(scroll_type); |
} |
@@ -2574,13 +2653,16 @@ STDMETHODIMP BrowserAccessibilityWin::scrollSubstringToPoint( |
LONG x, |
LONG y) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SCROLL_SUBSTRING_TO_POINT); |
- // TODO(dmazzoni): adjust this for the start and end index, too. |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
+ // TODO(dmazzoni): adjust this for the start and end index, too. |
return scrollToPoint(coordinate_type, x, y); |
} |
STDMETHODIMP BrowserAccessibilityWin::addSelection(LONG start_offset, |
LONG end_offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_ADD_SELECTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2594,6 +2676,7 @@ STDMETHODIMP BrowserAccessibilityWin::addSelection(LONG start_offset, |
STDMETHODIMP BrowserAccessibilityWin::removeSelection(LONG selection_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_REMOVE_SELECTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2606,6 +2689,7 @@ STDMETHODIMP BrowserAccessibilityWin::removeSelection(LONG selection_index) { |
STDMETHODIMP BrowserAccessibilityWin::setCaretOffset(LONG offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SET_CARET_OFFSET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2619,6 +2703,7 @@ STDMETHODIMP BrowserAccessibilityWin::setSelection(LONG selection_index, |
LONG start_offset, |
LONG end_offset) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SET_SELECTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2638,6 +2723,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_attributes(LONG offset, |
LONG* end_offset, |
BSTR* text_attributes) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_IATEXT_GET_ATTRIBUTES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!start_offset || !end_offset || !text_attributes) |
return E_INVALIDARG; |
@@ -2676,6 +2762,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_attributes(LONG offset, |
STDMETHODIMP BrowserAccessibilityWin::get_nHyperlinks(long* hyperlink_count) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_N_HYPERLINKS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2690,6 +2777,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_hyperlink( |
long index, |
IAccessibleHyperlink** hyperlink) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_HYPERLINK); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2713,6 +2801,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_hyperlinkIndex( |
long char_index, |
long* hyperlink_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_HYPERLINK_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2741,6 +2830,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_hyperlinkIndex( |
// Currently, only text links are supported. |
STDMETHODIMP BrowserAccessibilityWin::get_anchor(long index, VARIANT* anchor) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ANCHOR); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active() || !IsHyperlink()) |
return E_FAIL; |
@@ -2765,6 +2855,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_anchor(long index, VARIANT* anchor) { |
STDMETHODIMP BrowserAccessibilityWin::get_anchorTarget(long index, |
VARIANT* anchor_target) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ANCHOR_TARGET); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active() || !IsHyperlink()) |
return E_FAIL; |
@@ -2792,6 +2883,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_anchorTarget(long index, |
STDMETHODIMP BrowserAccessibilityWin::get_startIndex(long* index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_START_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active() || !IsHyperlink()) |
return E_FAIL; |
@@ -2810,6 +2902,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_startIndex(long* index) { |
STDMETHODIMP BrowserAccessibilityWin::get_endIndex(long* index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_END_INDEX); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
LONG start_index; |
HRESULT hr = get_startIndex(&start_index); |
if (hr == S_OK) |
@@ -2820,6 +2913,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_endIndex(long* index) { |
// This method is deprecated in the IA2 Spec. |
STDMETHODIMP BrowserAccessibilityWin::get_valid(boolean* valid) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_VALID); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
@@ -2829,6 +2923,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_valid(boolean* valid) { |
STDMETHODIMP BrowserAccessibilityWin::nActions(long* n_actions) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_N_ACTIONS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2849,6 +2944,7 @@ STDMETHODIMP BrowserAccessibilityWin::nActions(long* n_actions) { |
STDMETHODIMP BrowserAccessibilityWin::doAction(long action_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_DO_ACTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2862,6 +2958,7 @@ STDMETHODIMP BrowserAccessibilityWin::doAction(long action_index) { |
STDMETHODIMP |
BrowserAccessibilityWin::get_description(long action_index, BSTR* description) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_IAACTION_GET_DESCRIPTION); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
@@ -2870,11 +2967,13 @@ STDMETHODIMP BrowserAccessibilityWin::get_keyBinding(long action_index, |
BSTR** key_bindings, |
long* n_bindings) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_KEY_BINDING); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::get_name(long action_index, BSTR* name) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_NAME); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2903,6 +3002,7 @@ STDMETHODIMP |
BrowserAccessibilityWin::get_localizedName(long action_index, |
BSTR* localized_name) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LOCALIZED_NAME); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2933,6 +3033,7 @@ BrowserAccessibilityWin::get_localizedName(long action_index, |
STDMETHODIMP BrowserAccessibilityWin::get_currentValue(VARIANT* value) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CURRENT_VALUE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2953,6 +3054,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_currentValue(VARIANT* value) { |
STDMETHODIMP BrowserAccessibilityWin::get_minimumValue(VARIANT* value) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_MINIMUM_VALUE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2973,6 +3075,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_minimumValue(VARIANT* value) { |
STDMETHODIMP BrowserAccessibilityWin::get_maximumValue(VARIANT* value) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_MAXIMUM_VALUE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -2993,6 +3096,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_maximumValue(VARIANT* value) { |
STDMETHODIMP BrowserAccessibilityWin::setCurrentValue(VARIANT new_value) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SET_CURRENT_VALUE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
// TODO(dmazzoni): Implement this. |
return E_NOTIMPL; |
} |
@@ -3102,6 +3206,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nodeInfo( |
unsigned int* unique_id, |
unsigned short* node_type) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_NODE_INFO); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
if (!instance_active()) |
return E_FAIL; |
@@ -3140,6 +3245,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_attributes( |
BSTR* attrib_values, |
unsigned short* num_attribs) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_ISIMPLEDOMNODE_GET_ATTRIBUTES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
if (!instance_active()) |
return E_FAIL; |
@@ -3166,6 +3272,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_attributesForNames( |
short* name_space_id, |
BSTR* attrib_values) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ATTRIBUTES_FOR_NAMES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
if (!instance_active()) |
return E_FAIL; |
@@ -3198,6 +3305,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_computedStyle( |
BSTR* style_values, |
unsigned short *num_style_properties) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COMPUTED_STYLE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
if (!instance_active()) |
return E_FAIL; |
@@ -3226,6 +3334,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_computedStyleForProperties( |
BSTR* style_properties, |
BSTR* style_values) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_COMPUTED_STYLE_FOR_PROPERTIES); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
if (!instance_active()) |
return E_FAIL; |
@@ -3367,17 +3476,20 @@ STDMETHODIMP BrowserAccessibilityWin::get_childAt( |
STDMETHODIMP BrowserAccessibilityWin::get_innerHTML(BSTR* innerHTML) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_INNER_HTML); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
return E_NOTIMPL; |
} |
STDMETHODIMP |
BrowserAccessibilityWin::get_localInterface(void** local_interface) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LOCAL_INTERFACE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_HTML); |
return E_NOTIMPL; |
} |
STDMETHODIMP BrowserAccessibilityWin::get_language(BSTR* language) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_LANGUAGE); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!language) |
return E_INVALIDARG; |
*language = nullptr; |
@@ -3400,6 +3512,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_language(BSTR* language) { |
STDMETHODIMP BrowserAccessibilityWin::get_domText(BSTR* dom_text) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_DOM_TEXT); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!instance_active()) |
return E_FAIL; |
@@ -3418,6 +3531,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_clippedSubstringBounds( |
int* out_width, |
int* out_height) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_CLIPPED_SUBSTRING_BOUNDS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
// TODO(dmazzoni): fully support this API by intersecting the |
// rect with the container's rect. |
return get_unclippedSubstringBounds( |
@@ -3432,6 +3547,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_unclippedSubstringBounds( |
int* out_width, |
int* out_height) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_UNCLIPPED_SUBSTRING_BOUNDS); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -3457,6 +3574,8 @@ STDMETHODIMP BrowserAccessibilityWin::scrollToSubstring( |
unsigned int start_index, |
unsigned int end_index) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_SCROLL_TO_SUBSTRING); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER | |
+ ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES); |
if (!instance_active()) |
return E_FAIL; |
@@ -3475,6 +3594,7 @@ STDMETHODIMP BrowserAccessibilityWin::scrollToSubstring( |
STDMETHODIMP BrowserAccessibilityWin::get_fontFamily(BSTR* font_family) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_FONT_FAMILY); |
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_FLAG_SCREEN_READER); |
if (!font_family) |
return E_INVALIDARG; |
*font_family = nullptr; |