Index: Source/web/WebAXObject.cpp |
diff --git a/Source/web/WebAXObject.cpp b/Source/web/WebAXObject.cpp |
index 379167a740e1007fc53f20f15527151044544242..926bf4d7098e4caa3ff60ae15b49e5de331f3bff 100644 |
--- a/Source/web/WebAXObject.cpp |
+++ b/Source/web/WebAXObject.cpp |
@@ -1250,6 +1250,46 @@ WebAXSortDirection WebAXObject::sortDirection() const |
return static_cast<WebAXSortDirection>(m_private->sortDirection()); |
} |
+void WebAXObject::rowHeadersForCell(WebVector<WebAXObject>& rowHeaders) const |
+{ |
+ if (isDetached()) |
+ return; |
+ |
+ if (!m_private->isTableCell()) |
+ return; |
+ |
+ AXObject::AccessibilityChildrenVector headers; |
+ toAXTableCell(m_private.get())->rowHeadersForCell(headers); |
+ |
+ size_t headerCount = headers.size(); |
+ WebVector<WebAXObject> result(headerCount); |
+ |
+ for (size_t i = 0; i < headerCount; i++) |
+ result[i] = WebAXObject(headers[i]); |
+ |
+ rowHeaders.swap(result); |
+} |
+ |
+void WebAXObject::columnHeadersForCell(WebVector<WebAXObject>& columnHeaders) const |
+{ |
+ if (isDetached()) |
+ return; |
+ |
+ if (!m_private->isTableCell()) |
+ return; |
+ |
+ AXObject::AccessibilityChildrenVector headers; |
+ toAXTableCell(m_private.get())->columnHeadersForCell(headers); |
+ |
+ size_t headerCount = headers.size(); |
+ WebVector<WebAXObject> result(headerCount); |
+ |
+ for (size_t i = 0; i < headerCount; i++) |
+ result[i] = WebAXObject(headers[i]); |
+ |
+ columnHeaders.swap(result); |
+} |
+ |
void WebAXObject::loadInlineTextBoxes() const |
{ |
if (isDetached()) |