diff options
Diffstat (limited to 'Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp')
-rw-r--r-- | Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp | 57 |
1 files changed, 27 insertions, 30 deletions
diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp index f6ed19c0a..a03443afc 100644 --- a/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp +++ b/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp @@ -37,7 +37,6 @@ #include "AccessibilityObject.h" #include "AccessibilityTable.h" #include "AccessibilityTableCell.h" -#include "HTMLSelectElement.h" #include "HTMLTableCaptionElement.h" #include "HTMLTableElement.h" #include "RenderElement.h" @@ -50,7 +49,7 @@ using namespace WebCore; static AccessibilityObject* core(AtkTable* table) { if (!WEBKIT_IS_ACCESSIBLE(table)) - return 0; + return nullptr; return webkitAccessibleGetAccessibilityObject(WEBKIT_ACCESSIBLE(table)); } @@ -58,9 +57,9 @@ static AccessibilityObject* core(AtkTable* table) static AccessibilityTableCell* cell(AtkTable* table, guint row, guint column) { AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) - return toAccessibilityTable(accTable)->cellForColumnAndRow(column, row); - return 0; + if (is<AccessibilityTable>(*accTable)) + return downcast<AccessibilityTable>(*accTable).cellForColumnAndRow(column, row); + return nullptr; } static gint cellIndex(AccessibilityTableCell* axCell, AccessibilityTable* axTable) @@ -79,15 +78,13 @@ static gint cellIndex(AccessibilityTableCell* axCell, AccessibilityTable* axTabl static AccessibilityTableCell* cellAtIndex(AtkTable* table, gint index) { AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) { + if (is<AccessibilityTable>(*accTable)) { AccessibilityObject::AccessibilityChildrenVector allCells; - toAccessibilityTable(accTable)->cells(allCells); - if (0 <= index && static_cast<unsigned>(index) < allCells.size()) { - AccessibilityObject* accCell = allCells.at(index).get(); - return toAccessibilityTableCell(accCell); - } + downcast<AccessibilityTable>(*accTable).cells(allCells); + if (0 <= index && static_cast<unsigned>(index) < allCells.size()) + return downcast<AccessibilityTableCell>(allCells[index].get()); } - return 0; + return nullptr; } static AtkObject* webkitAccessibleTableRefAt(AtkTable* table, gint row, gint column) @@ -114,7 +111,7 @@ static gint webkitAccessibleTableGetIndexAt(AtkTable* table, gint row, gint colu returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), -1); AccessibilityTableCell* axCell = cell(table, row, column); - AccessibilityTable* axTable = toAccessibilityTable(core(table)); + AccessibilityTable* axTable = downcast<AccessibilityTable>(core(table)); return cellIndex(axCell, axTable); } @@ -152,8 +149,8 @@ static gint webkitAccessibleTableGetNColumns(AtkTable* table) returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), 0); AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) - return toAccessibilityTable(accTable)->columnCount(); + if (is<AccessibilityTable>(*accTable)) + return downcast<AccessibilityTable>(*accTable).columnCount(); return 0; } @@ -163,8 +160,8 @@ static gint webkitAccessibleTableGetNRows(AtkTable* table) returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), 0); AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) - return toAccessibilityTable(accTable)->rowCount(); + if (is<AccessibilityTable>(*accTable)) + return downcast<AccessibilityTable>(*accTable).rowCount(); return 0; } @@ -202,18 +199,18 @@ static AtkObject* webkitAccessibleTableGetColumnHeader(AtkTable* table, gint col returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), 0); AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) { + if (is<AccessibilityTable>(*accTable)) { AccessibilityObject::AccessibilityChildrenVector columnHeaders; - toAccessibilityTable(accTable)->columnHeaders(columnHeaders); + downcast<AccessibilityTable>(*accTable).columnHeaders(columnHeaders); for (const auto& columnHeader : columnHeaders) { std::pair<unsigned, unsigned> columnRange; - toAccessibilityTableCell(columnHeader.get())->columnIndexRange(columnRange); + downcast<AccessibilityTableCell>(*columnHeader).columnIndexRange(columnRange); if (columnRange.first <= static_cast<unsigned>(column) && static_cast<unsigned>(column) < columnRange.first + columnRange.second) return columnHeader->wrapper(); } } - return 0; + return nullptr; } static AtkObject* webkitAccessibleTableGetRowHeader(AtkTable* table, gint row) @@ -222,35 +219,35 @@ static AtkObject* webkitAccessibleTableGetRowHeader(AtkTable* table, gint row) returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), 0); AccessibilityObject* accTable = core(table); - if (accTable->isAccessibilityRenderObject()) { + if (is<AccessibilityTable>(*accTable)) { AccessibilityObject::AccessibilityChildrenVector rowHeaders; - toAccessibilityTable(accTable)->rowHeaders(rowHeaders); + downcast<AccessibilityTable>(*accTable).rowHeaders(rowHeaders); for (const auto& rowHeader : rowHeaders) { std::pair<unsigned, unsigned> rowRange; - toAccessibilityTableCell(rowHeader.get())->rowIndexRange(rowRange); + downcast<AccessibilityTableCell>(*rowHeader).rowIndexRange(rowRange); if (rowRange.first <= static_cast<unsigned>(row) && static_cast<unsigned>(row) < rowRange.first + rowRange.second) return rowHeader->wrapper(); } } - return 0; + return nullptr; } static AtkObject* webkitAccessibleTableGetCaption(AtkTable* table) { - g_return_val_if_fail(ATK_TABLE(table), 0); - returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), 0); + g_return_val_if_fail(ATK_TABLE(table), nullptr); + returnValIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(table), nullptr); AccessibilityObject* accTable = core(table); if (accTable->isAccessibilityRenderObject()) { Node* node = accTable->node(); - if (node && isHTMLTableElement(node)) { - HTMLTableCaptionElement* caption = toHTMLTableElement(node)->caption(); + if (is<HTMLTableElement>(node)) { + HTMLTableCaptionElement* caption = downcast<HTMLTableElement>(*node).caption(); if (caption) return AccessibilityObject::firstAccessibleObjectFromNode(caption->renderer()->element())->wrapper(); } } - return 0; + return nullptr; } static const gchar* webkitAccessibleTableGetColumnDescription(AtkTable* table, gint column) |