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 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 { | 478 { |
479 if (!m_layoutObject) | 479 if (!m_layoutObject) |
480 return; | 480 return; |
481 | 481 |
482 updateChildrenIfNecessary(); | 482 updateChildrenIfNecessary(); |
483 unsigned rowCount = m_rows.size(); | 483 unsigned rowCount = m_rows.size(); |
484 for (unsigned r = 0; r < rowCount; r++) | 484 for (unsigned r = 0; r < rowCount; r++) |
485 toAXTableRow(m_rows[r].get())->headerObjectsForRow(headers); | 485 toAXTableRow(m_rows[r].get())->headerObjectsForRow(headers); |
486 } | 486 } |
487 | 487 |
| 488 int AXTable::ariaColumnCount() |
| 489 { |
| 490 const AtomicString& colCountValue = getAttribute(aria_colcountAttr); |
| 491 int colCountInt = colCountValue.toInt(); |
| 492 |
| 493 if (colCountInt > (int)columnCount()) |
| 494 return colCountInt; |
| 495 |
| 496 // Spec says that if all of the columns are present in the DOM, it is not ne
cessary to set |
| 497 // this attribute as the user agent can automatically calculate the total nu
mber of columns. |
| 498 // It returns 0 in order not to set this attribute. |
| 499 if (colCountInt == (int)columnCount() || colCountInt != -1) |
| 500 return 0; |
| 501 |
| 502 return -1; |
| 503 } |
| 504 |
| 505 int AXTable::ariaRowCount() |
| 506 { |
| 507 const AtomicString& rowCountValue = getAttribute(aria_rowcountAttr); |
| 508 int rowCountInt = rowCountValue.toInt(); |
| 509 |
| 510 if (rowCountInt > (int)rowCount()) |
| 511 return rowCountInt; |
| 512 |
| 513 // Spec says that If all of the rows are present in the DOM, it is not neces
sary to set |
| 514 // this attribute as the user agent can automatically calculate the total nu
mber of rows. . |
| 515 // It returns 0 in order not to set this attribute. |
| 516 if (rowCountInt == (int)rowCount() || rowCountInt != -1) |
| 517 return 0; |
| 518 |
| 519 return -1; |
| 520 } |
| 521 |
488 unsigned AXTable::columnCount() | 522 unsigned AXTable::columnCount() |
489 { | 523 { |
490 updateChildrenIfNecessary(); | 524 updateChildrenIfNecessary(); |
491 | 525 |
492 return m_columns.size(); | 526 return m_columns.size(); |
493 } | 527 } |
494 | 528 |
495 unsigned AXTable::rowCount() | 529 unsigned AXTable::rowCount() |
496 { | 530 { |
497 updateChildrenIfNecessary(); | 531 updateChildrenIfNecessary(); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
557 | 591 |
558 DEFINE_TRACE(AXTable) | 592 DEFINE_TRACE(AXTable) |
559 { | 593 { |
560 visitor->trace(m_rows); | 594 visitor->trace(m_rows); |
561 visitor->trace(m_columns); | 595 visitor->trace(m_columns); |
562 visitor->trace(m_headerContainer); | 596 visitor->trace(m_headerContainer); |
563 AXLayoutObject::trace(visitor); | 597 AXLayoutObject::trace(visitor); |
564 } | 598 } |
565 | 599 |
566 } // namespace blink | 600 } // namespace blink |
OLD | NEW |