| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/accessibility/browser_accessibility.h" | 5 #include "content/browser/accessibility/browser_accessibility.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <iterator> | 10 #include <iterator> |
| (...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 return true; | 774 return true; |
| 775 | 775 |
| 776 if (base::EqualsASCII(value, "mixed")) | 776 if (base::EqualsASCII(value, "mixed")) |
| 777 *is_mixed = true; | 777 *is_mixed = true; |
| 778 | 778 |
| 779 return false; // Not set. | 779 return false; // Not set. |
| 780 } | 780 } |
| 781 | 781 |
| 782 BrowserAccessibility* BrowserAccessibility::GetTable() const { | 782 BrowserAccessibility* BrowserAccessibility::GetTable() const { |
| 783 BrowserAccessibility* table = const_cast<BrowserAccessibility*>(this); | 783 BrowserAccessibility* table = const_cast<BrowserAccessibility*>(this); |
| 784 while (table && !table->IsTableOrGridOrTreeGridRole()) | 784 while (table && !table->IsTableLikeRole()) |
| 785 table = table->PlatformGetParent(); | 785 table = table->PlatformGetParent(); |
| 786 return table; | 786 return table; |
| 787 } | 787 } |
| 788 | 788 |
| 789 BrowserAccessibility* BrowserAccessibility::GetTableCell(int index) const { | 789 BrowserAccessibility* BrowserAccessibility::GetTableCell(int index) const { |
| 790 if (!IsTableOrGridOrTreeGridRole() && !IsCellOrTableHeaderRole()) | 790 if (!IsTableLikeRole() && !IsCellOrTableHeaderRole()) |
| 791 return nullptr; | 791 return nullptr; |
| 792 | 792 |
| 793 BrowserAccessibility* table = GetTable(); | 793 BrowserAccessibility* table = GetTable(); |
| 794 if (!table) | 794 if (!table) |
| 795 return nullptr; | 795 return nullptr; |
| 796 const std::vector<int32_t>& unique_cell_ids = | 796 const std::vector<int32_t>& unique_cell_ids = |
| 797 table->GetIntListAttribute(ui::AX_ATTR_UNIQUE_CELL_IDS); | 797 table->GetIntListAttribute(ui::AX_ATTR_UNIQUE_CELL_IDS); |
| 798 if (index < 0 || index >= static_cast<int>(unique_cell_ids.size())) | 798 if (index < 0 || index >= static_cast<int>(unique_cell_ids.size())) |
| 799 return nullptr; | 799 return nullptr; |
| 800 return table->manager_->GetFromID(unique_cell_ids[index]); | 800 return table->manager_->GetFromID(unique_cell_ids[index]); |
| 801 } | 801 } |
| 802 | 802 |
| 803 BrowserAccessibility* BrowserAccessibility::GetTableCell(int row, | 803 BrowserAccessibility* BrowserAccessibility::GetTableCell(int row, |
| 804 int column) const { | 804 int column) const { |
| 805 if (!IsTableOrGridOrTreeGridRole() && !IsCellOrTableHeaderRole()) | 805 if (!IsTableLikeRole() && !IsCellOrTableHeaderRole()) |
| 806 return nullptr; | 806 return nullptr; |
| 807 if (row < 0 || row >= GetTableRowCount() || column < 0 || | 807 if (row < 0 || row >= GetTableRowCount() || column < 0 || |
| 808 column >= GetTableColumnCount()) { | 808 column >= GetTableColumnCount()) { |
| 809 return nullptr; | 809 return nullptr; |
| 810 } | 810 } |
| 811 | 811 |
| 812 BrowserAccessibility* table = GetTable(); | 812 BrowserAccessibility* table = GetTable(); |
| 813 if (!table) | 813 if (!table) |
| 814 return nullptr; | 814 return nullptr; |
| 815 | 815 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 bool BrowserAccessibility::HasState(ui::AXState state_enum) const { | 894 bool BrowserAccessibility::HasState(ui::AXState state_enum) const { |
| 895 return (GetState() >> state_enum) & 1; | 895 return (GetState() >> state_enum) & 1; |
| 896 } | 896 } |
| 897 | 897 |
| 898 bool BrowserAccessibility::IsCellOrTableHeaderRole() const { | 898 bool BrowserAccessibility::IsCellOrTableHeaderRole() const { |
| 899 return (GetRole() == ui::AX_ROLE_CELL || | 899 return (GetRole() == ui::AX_ROLE_CELL || |
| 900 GetRole() == ui::AX_ROLE_COLUMN_HEADER || | 900 GetRole() == ui::AX_ROLE_COLUMN_HEADER || |
| 901 GetRole() == ui::AX_ROLE_ROW_HEADER); | 901 GetRole() == ui::AX_ROLE_ROW_HEADER); |
| 902 } | 902 } |
| 903 | 903 |
| 904 bool BrowserAccessibility::IsTableOrGridOrTreeGridRole() const { | 904 bool BrowserAccessibility::IsTableLikeRole() const { |
| 905 return (GetRole() == ui::AX_ROLE_TABLE || | 905 return (GetRole() == ui::AX_ROLE_TABLE || |
| 906 GetRole() == ui::AX_ROLE_GRID || | 906 GetRole() == ui::AX_ROLE_GRID || |
| 907 GetRole() == ui::AX_ROLE_TREE_GRID); | 907 GetRole() == ui::AX_ROLE_TREE_GRID); |
| 908 } | 908 } |
| 909 | 909 |
| 910 bool BrowserAccessibility::HasCaret() const { | 910 bool BrowserAccessibility::HasCaret() const { |
| 911 if (IsSimpleTextControl() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && | 911 if (IsSimpleTextControl() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && |
| 912 HasIntAttribute(ui::AX_ATTR_TEXT_SEL_END)) { | 912 HasIntAttribute(ui::AX_ATTR_TEXT_SEL_END)) { |
| 913 return true; | 913 return true; |
| 914 } | 914 } |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1189 return gfx::kNullAcceleratedWidget; | 1189 return gfx::kNullAcceleratedWidget; |
| 1190 } | 1190 } |
| 1191 | 1191 |
| 1192 bool BrowserAccessibility::AccessibilityPerformAction( | 1192 bool BrowserAccessibility::AccessibilityPerformAction( |
| 1193 const ui::AXActionData& data) { | 1193 const ui::AXActionData& data) { |
| 1194 NOTREACHED(); | 1194 NOTREACHED(); |
| 1195 return false; | 1195 return false; |
| 1196 } | 1196 } |
| 1197 | 1197 |
| 1198 } // namespace content | 1198 } // namespace content |
| OLD | NEW |