Chromium Code Reviews| 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 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 484 | 484 |
| 485 updateChildrenIfNecessary(); | 485 updateChildrenIfNecessary(); |
| 486 unsigned rowCount = m_rows.size(); | 486 unsigned rowCount = m_rows.size(); |
| 487 for (unsigned r = 0; r < rowCount; r++) { | 487 for (unsigned r = 0; r < rowCount; r++) { |
| 488 AXObject* row = m_rows[r].get(); | 488 AXObject* row = m_rows[r].get(); |
| 489 if (row->isTableRow()) | 489 if (row->isTableRow()) |
| 490 toAXTableRow(m_rows[r].get())->headerObjectsForRow(headers); | 490 toAXTableRow(m_rows[r].get())->headerObjectsForRow(headers); |
| 491 } | 491 } |
| 492 } | 492 } |
| 493 | 493 |
| 494 unsigned AXTable::columnCount() { | 494 int AXTable::ariaColumnCount() |
| 495 { | |
| 496 const AtomicString& colCountValue = getAttribute(aria_colcountAttr); | |
| 497 int colCountInt = colCountValue.toInt(); | |
| 498 | |
| 499 if (colCountInt > (int)columnCount()) | |
| 500 return colCountInt; | |
| 501 | |
| 502 // Spec says that if all of the columns are present in the DOM, it | |
| 503 // is not necessary to set this attribute as the user agent can | |
| 504 // automatically calculate the total number of columns. | |
| 505 // It returns 0 in order not to set this attribute. | |
| 506 if (colCountInt == (int)columnCount() || colCountInt != -1) | |
| 507 return 0; | |
| 508 | |
| 509 return -1; | |
| 510 } | |
| 511 | |
| 512 int AXTable::ariaRowCount() | |
| 513 { | |
| 514 const AtomicString& rowCountValue = getAttribute(aria_rowcountAttr); | |
|
aboxhall
2016/11/29 17:36:54
Any point checking hasAttribute here and early out
dmazzoni
2016/11/30 22:48:17
Done.
| |
| 515 int rowCountInt = rowCountValue.toInt(); | |
| 516 | |
| 517 if (rowCountInt > (int)rowCount()) | |
| 518 return rowCountInt; | |
| 519 | |
| 520 // Spec says that If all of the rows are present in the DOM, it is | |
| 521 // not necessary to set this attribute as the user agent can | |
| 522 // automatically calculate the total number of rows. . | |
| 523 // It returns 0 in order not to set this attribute. | |
| 524 if (rowCountInt == (int)rowCount() || rowCountInt != -1) | |
| 525 return 0; | |
| 526 | |
| 527 return -1; | |
| 528 } | |
| 529 | |
| 530 unsigned AXTable::columnCount() | |
| 531 { | |
| 495 updateChildrenIfNecessary(); | 532 updateChildrenIfNecessary(); |
| 496 | 533 |
| 497 return m_columns.size(); | 534 return m_columns.size(); |
| 498 } | 535 } |
| 499 | 536 |
| 500 unsigned AXTable::rowCount() { | 537 unsigned AXTable::rowCount() { |
| 501 updateChildrenIfNecessary(); | 538 updateChildrenIfNecessary(); |
| 502 | 539 |
| 503 return m_rows.size(); | 540 return m_rows.size(); |
| 504 } | 541 } |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 563 } | 600 } |
| 564 | 601 |
| 565 DEFINE_TRACE(AXTable) { | 602 DEFINE_TRACE(AXTable) { |
| 566 visitor->trace(m_rows); | 603 visitor->trace(m_rows); |
| 567 visitor->trace(m_columns); | 604 visitor->trace(m_columns); |
| 568 visitor->trace(m_headerContainer); | 605 visitor->trace(m_headerContainer); |
| 569 AXLayoutObject::trace(visitor); | 606 AXLayoutObject::trace(visitor); |
| 570 } | 607 } |
| 571 | 608 |
| 572 } // namespace blink | 609 } // namespace blink |
| OLD | NEW |