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 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 | 504 |
505 // Iterate backwards through the rows in case the desired cell has a rowspan
and exists in a previous row. | 505 // Iterate backwards through the rows in case the desired cell has a rowspan
and exists in a previous row. |
506 for (unsigned rowIndexCounter = row + 1; rowIndexCounter > 0; --rowIndexCoun
ter) { | 506 for (unsigned rowIndexCounter = row + 1; rowIndexCounter > 0; --rowIndexCoun
ter) { |
507 unsigned rowIndex = rowIndexCounter - 1; | 507 unsigned rowIndex = rowIndexCounter - 1; |
508 AccessibilityChildrenVector children = m_rows[rowIndex]->children(); | 508 AccessibilityChildrenVector children = m_rows[rowIndex]->children(); |
509 // Since some cells may have colspans, we have to check the actual range
of each | 509 // Since some cells may have colspans, we have to check the actual range
of each |
510 // cell to determine which is the right one. | 510 // cell to determine which is the right one. |
511 for (unsigned colIndexCounter = std::min(static_cast<unsigned>(children.
size()), column + 1); colIndexCounter > 0; --colIndexCounter) { | 511 for (unsigned colIndexCounter = std::min(static_cast<unsigned>(children.
size()), column + 1); colIndexCounter > 0; --colIndexCounter) { |
512 unsigned colIndex = colIndexCounter - 1; | 512 unsigned colIndex = colIndexCounter - 1; |
513 AXObject* child = children[colIndex].get(); | 513 AXObject* child = children[colIndex].get(); |
514 ASSERT(child->isTableCell()); | 514 |
515 if (!child->isTableCell()) | 515 if (!child->isTableCell()) |
516 continue; | 516 continue; |
517 | 517 |
518 pair<unsigned, unsigned> columnRange; | 518 pair<unsigned, unsigned> columnRange; |
519 pair<unsigned, unsigned> rowRange; | 519 pair<unsigned, unsigned> rowRange; |
520 AXTableCell* tableCellChild = toAXTableCell(child); | 520 AXTableCell* tableCellChild = toAXTableCell(child); |
521 tableCellChild->columnIndexRange(columnRange); | 521 tableCellChild->columnIndexRange(columnRange); |
522 tableCellChild->rowIndexRange(rowRange); | 522 tableCellChild->rowIndexRange(rowRange); |
523 | 523 |
524 if ((column >= columnRange.first && column < (columnRange.first + co
lumnRange.second)) | 524 if ((column >= columnRange.first && column < (columnRange.first + co
lumnRange.second)) |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
570 } | 570 } |
571 | 571 |
572 // try the standard | 572 // try the standard |
573 if (title.isEmpty()) | 573 if (title.isEmpty()) |
574 title = AXRenderObject::title(); | 574 title = AXRenderObject::title(); |
575 | 575 |
576 return title; | 576 return title; |
577 } | 577 } |
578 | 578 |
579 } // namespace blink | 579 } // namespace blink |
OLD | NEW |