summaryrefslogtreecommitdiff
path: root/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp')
-rw-r--r--Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp57
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)