| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 #include "core/layout/LayoutTableRow.h" | 32 #include "core/layout/LayoutTableRow.h" |
| 33 #include "modules/accessibility/AXObjectCacheImpl.h" | 33 #include "modules/accessibility/AXObjectCacheImpl.h" |
| 34 #include "modules/accessibility/AXTableCell.h" | 34 #include "modules/accessibility/AXTableCell.h" |
| 35 | 35 |
| 36 | 36 |
| 37 namespace blink { | 37 namespace blink { |
| 38 | 38 |
| 39 using namespace HTMLNames; | 39 using namespace HTMLNames; |
| 40 | 40 |
| 41 AXTableRow::AXTableRow(RenderObject* renderer, AXObjectCacheImpl* axObjectCache) | 41 AXTableRow::AXTableRow(LayoutObject* renderer, AXObjectCacheImpl* axObjectCache) |
| 42 : AXRenderObject(renderer, axObjectCache) | 42 : AXRenderObject(renderer, axObjectCache) |
| 43 { | 43 { |
| 44 } | 44 } |
| 45 | 45 |
| 46 AXTableRow::~AXTableRow() | 46 AXTableRow::~AXTableRow() |
| 47 { | 47 { |
| 48 } | 48 } |
| 49 | 49 |
| 50 PassRefPtr<AXTableRow> AXTableRow::create(RenderObject* renderer, AXObjectCacheI
mpl* axObjectCache) | 50 PassRefPtr<AXTableRow> AXTableRow::create(LayoutObject* renderer, AXObjectCacheI
mpl* axObjectCache) |
| 51 { | 51 { |
| 52 return adoptRef(new AXTableRow(renderer, axObjectCache)); | 52 return adoptRef(new AXTableRow(renderer, axObjectCache)); |
| 53 } | 53 } |
| 54 | 54 |
| 55 AccessibilityRole AXTableRow::determineAccessibilityRole() | 55 AccessibilityRole AXTableRow::determineAccessibilityRole() |
| 56 { | 56 { |
| 57 if (!isTableRow()) | 57 if (!isTableRow()) |
| 58 return AXRenderObject::determineAccessibilityRole(); | 58 return AXRenderObject::determineAccessibilityRole(); |
| 59 | 59 |
| 60 if ((m_ariaRole = determineAriaRoleAttribute()) != UnknownRole) | 60 if ((m_ariaRole = determineAriaRoleAttribute()) != UnknownRole) |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 | 108 |
| 109 AccessibilityChildrenVector rowChildren = children(); | 109 AccessibilityChildrenVector rowChildren = children(); |
| 110 if (!rowChildren.size()) | 110 if (!rowChildren.size()) |
| 111 return 0; | 111 return 0; |
| 112 | 112 |
| 113 // check the first element in the row to see if it is a TH element | 113 // check the first element in the row to see if it is a TH element |
| 114 AXObject* cell = rowChildren[0].get(); | 114 AXObject* cell = rowChildren[0].get(); |
| 115 if (!cell->isTableCell()) | 115 if (!cell->isTableCell()) |
| 116 return 0; | 116 return 0; |
| 117 | 117 |
| 118 RenderObject* cellRenderer = toAXTableCell(cell)->renderer(); | 118 LayoutObject* cellRenderer = toAXTableCell(cell)->renderer(); |
| 119 if (!cellRenderer) | 119 if (!cellRenderer) |
| 120 return 0; | 120 return 0; |
| 121 | 121 |
| 122 Node* cellNode = cellRenderer->node(); | 122 Node* cellNode = cellRenderer->node(); |
| 123 if (!cellNode || !cellNode->hasTagName(thTag)) | 123 if (!cellNode || !cellNode->hasTagName(thTag)) |
| 124 return 0; | 124 return 0; |
| 125 | 125 |
| 126 return cell; | 126 return cell; |
| 127 } | 127 } |
| 128 | 128 |
| 129 void AXTableRow::headerObjectsForRow(AccessibilityChildrenVector& headers) | 129 void AXTableRow::headerObjectsForRow(AccessibilityChildrenVector& headers) |
| 130 { | 130 { |
| 131 if (!m_renderer || !m_renderer->isTableRow()) | 131 if (!m_renderer || !m_renderer->isTableRow()) |
| 132 return; | 132 return; |
| 133 | 133 |
| 134 AccessibilityChildrenVector rowChildren = children(); | 134 AccessibilityChildrenVector rowChildren = children(); |
| 135 unsigned childrenCount = rowChildren.size(); | 135 unsigned childrenCount = rowChildren.size(); |
| 136 for (unsigned i = 0; i < childrenCount; i++) { | 136 for (unsigned i = 0; i < childrenCount; i++) { |
| 137 AXObject* cell = rowChildren[i].get(); | 137 AXObject* cell = rowChildren[i].get(); |
| 138 if (!cell->isTableCell()) | 138 if (!cell->isTableCell()) |
| 139 continue; | 139 continue; |
| 140 | 140 |
| 141 if (toAXTableCell(cell)->scanToDecideHeaderRole() == RowHeaderRole) | 141 if (toAXTableCell(cell)->scanToDecideHeaderRole() == RowHeaderRole) |
| 142 headers.append(cell); | 142 headers.append(cell); |
| 143 } | 143 } |
| 144 } | 144 } |
| 145 | 145 |
| 146 } // namespace blink | 146 } // namespace blink |
| OLD | NEW |