Index: Source/web/WebAXObject.cpp |
diff --git a/Source/web/WebAXObject.cpp b/Source/web/WebAXObject.cpp |
index 8f1905fea98dd77437579d0ab1cbd7a9b59e3a0b..3013ea133947bf54851d87ef29a229066e6cb33a 100644 |
--- a/Source/web/WebAXObject.cpp |
+++ b/Source/web/WebAXObject.cpp |
@@ -1169,6 +1169,29 @@ unsigned WebAXObject::cellRowSpan() const |
return rowRange.second; |
} |
+void WebAXObject::tableHeaders(WebVector<WebAXObject>& headerElements, bool rowHeaders) const |
+{ |
+ if (isDetached()) |
+ return; |
+ |
+ if (!m_private->isAXTable()) |
+ return; |
+ |
+ AXObject::AccessibilityChildrenVector headers; |
+ if (rowHeaders) |
+ toAXTable(m_private.get())->rowHeaders(headers); |
+ else |
+ toAXTable(m_private.get())->columnHeaders(headers); |
+ |
+ size_t headerCount = headers.size(); |
+ WebVector<WebAXObject> result(headerCount); |
+ |
+ for (size_t i = 0; i < headerCount; i++) |
+ result[i] = WebAXObject(headers[i]); |
+ |
+ headerElements.swap(result); |
+} |
+ |
void WebAXObject::loadInlineTextBoxes() const |
{ |
if (isDetached()) |