Changeset 203657 in webkit
- Timestamp:
- Jul 23, 2016, 6:39:13 PM (9 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r203656 r203657 1 2016-07-23 Zalan Bujtas <zalan@apple.com> 2 3 table*BorderAdjoiningCell and borderAdjoiningCell* should take reference instead of RenderTableCell*. 4 https://bugs.webkit.org/show_bug.cgi?id=160123 5 6 Reviewed by Simon Fraser. 7 8 No change in functionality. 9 10 * rendering/RenderTable.cpp: 11 (WebCore::RenderTable::tableStartBorderAdjoiningCell): 12 (WebCore::RenderTable::tableEndBorderAdjoiningCell): 13 * rendering/RenderTable.h: 14 * rendering/RenderTableCell.cpp: 15 (WebCore::RenderTableCell::computeCollapsedStartBorder): 16 (WebCore::RenderTableCell::computeCollapsedEndBorder): 17 * rendering/RenderTableCell.h: 18 (WebCore::RenderTableCell::borderAdjoiningCellBefore): 19 (WebCore::RenderTableCell::borderAdjoiningCellAfter): 20 * rendering/RenderTableCol.cpp: 21 (WebCore::RenderTableCol::borderAdjoiningCellStartBorder): 22 (WebCore::RenderTableCol::borderAdjoiningCellEndBorder): 23 (WebCore::RenderTableCol::borderAdjoiningCellBefore): 24 (WebCore::RenderTableCol::borderAdjoiningCellAfter): 25 * rendering/RenderTableCol.h: 26 * rendering/RenderTableRow.cpp: 27 (WebCore::RenderTableRow::borderAdjoiningStartCell): 28 (WebCore::RenderTableRow::borderAdjoiningEndCell): 29 * rendering/RenderTableRow.h: 30 * rendering/RenderTableSection.cpp: 31 (WebCore::RenderTableSection::borderAdjoiningStartCell): 32 (WebCore::RenderTableSection::borderAdjoiningEndCell): 33 * rendering/RenderTableSection.h: 34 1 35 2016-07-23 Zalan Bujtas <zalan@apple.com> 2 36 -
trunk/Source/WebCore/rendering/RenderTable.cpp
r201346 r203657 1563 1563 } 1564 1564 1565 const BorderValue& RenderTable::tableStartBorderAdjoiningCell(const RenderTableCell *cell) const1566 { 1567 ASSERT(cell ->isFirstOrLastCellInRow());1568 if (hasSameDirectionAs(cell ->row()))1565 const BorderValue& RenderTable::tableStartBorderAdjoiningCell(const RenderTableCell& cell) const 1566 { 1567 ASSERT(cell.isFirstOrLastCellInRow()); 1568 if (hasSameDirectionAs(cell.row())) 1569 1569 return style().borderStart(); 1570 1570 … … 1572 1572 } 1573 1573 1574 const BorderValue& RenderTable::tableEndBorderAdjoiningCell(const RenderTableCell *cell) const1575 { 1576 ASSERT(cell ->isFirstOrLastCellInRow());1577 if (hasSameDirectionAs(cell ->row()))1574 const BorderValue& RenderTable::tableEndBorderAdjoiningCell(const RenderTableCell& cell) const 1575 { 1576 ASSERT(cell.isFirstOrLastCellInRow()); 1577 if (hasSameDirectionAs(cell.row())) 1578 1578 return style().borderEnd(); 1579 1579 -
trunk/Source/WebCore/rendering/RenderTable.h
r200041 r203657 258 258 } 259 259 260 const BorderValue& tableStartBorderAdjoiningCell(const RenderTableCell *) const;261 const BorderValue& tableEndBorderAdjoiningCell(const RenderTableCell *) const;260 const BorderValue& tableStartBorderAdjoiningCell(const RenderTableCell&) const; 261 const BorderValue& tableEndBorderAdjoiningCell(const RenderTableCell&) const; 262 262 263 263 void addCaption(const RenderTableCaption*); -
trunk/Source/WebCore/rendering/RenderTableCell.cpp
r203337 r203657 562 562 RenderTableCell* cellBefore = table->cellBefore(this); 563 563 if (cellBefore) { 564 CollapsedBorderValue cellBeforeAdjoiningBorder = CollapsedBorderValue(cellBefore->borderAdjoiningCellAfter( this), includeColor ? cellBefore->style().visitedDependentColor(endColorProperty) : Color(), BCELL);564 CollapsedBorderValue cellBeforeAdjoiningBorder = CollapsedBorderValue(cellBefore->borderAdjoiningCellAfter(*this), includeColor ? cellBefore->style().visitedDependentColor(endColorProperty) : Color(), BCELL); 565 565 // |result| should be the 2nd argument as |cellBefore| should win in case of equality per CSS 2.1 (Border conflict resolution, point 4). 566 566 result = chooseBorder(cellBeforeAdjoiningBorder, result); … … 572 572 if (startBorderAdjoinsTable) { 573 573 // (3) Our row's start border. 574 result = chooseBorder(result, CollapsedBorderValue(row()->borderAdjoiningStartCell( this), includeColor ? parent()->style().visitedDependentColor(startColorProperty) : Color(), BROW));574 result = chooseBorder(result, CollapsedBorderValue(row()->borderAdjoiningStartCell(*this), includeColor ? parent()->style().visitedDependentColor(startColorProperty) : Color(), BROW)); 575 575 if (!result.exists()) 576 576 return result; 577 577 578 578 // (4) Our row group's start border. 579 result = chooseBorder(result, CollapsedBorderValue(section()->borderAdjoiningStartCell( this), includeColor ? section()->style().visitedDependentColor(startColorProperty) : Color(), BROWGROUP));579 result = chooseBorder(result, CollapsedBorderValue(section()->borderAdjoiningStartCell(*this), includeColor ? section()->style().visitedDependentColor(startColorProperty) : Color(), BROWGROUP)); 580 580 if (!result.exists()) 581 581 return result; … … 588 588 if (colElt->isTableColumnGroup() && startColEdge) { 589 589 // The |colElt| is a column group and is also the first colgroup (in case of spanned colgroups). 590 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellStartBorder( this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP));590 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellStartBorder(), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP)); 591 591 if (!result.exists()) 592 592 return result; … … 595 595 // its start border. This is as per HTML5 which states that: "For the purposes of the CSS table model, 596 596 // the col element is expected to be treated as if it was present as many times as its span attribute specifies". 597 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellStartBorder( this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOL));597 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellStartBorder(), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOL)); 598 598 if (!result.exists()) 599 599 return result; 600 600 // Next, apply the start border of the enclosing colgroup but only if it is adjacent to the cell's edge. 601 601 if (RenderTableCol* enclosingColumnGroup = colElt->enclosingColumnGroupIfAdjacentBefore()) { 602 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellStartBorder( this), includeColor ? enclosingColumnGroup->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP));602 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellStartBorder(), includeColor ? enclosingColumnGroup->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP)); 603 603 if (!result.exists()) 604 604 return result; … … 612 612 if (colElt->isTableColumnGroup() && endColEdge) { 613 613 // The element is a colgroup and is also the last colgroup (in case of spanned colgroups). 614 result = chooseBorder(CollapsedBorderValue(colElt->borderAdjoiningCellAfter( this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP), result);614 result = chooseBorder(CollapsedBorderValue(colElt->borderAdjoiningCellAfter(*this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP), result); 615 615 if (!result.exists()) 616 616 return result; 617 617 } else if (colElt->isTableColumn()) { 618 618 // Resolve the collapsing border against the col's border ignoring any 'span' as per HTML5. 619 result = chooseBorder(CollapsedBorderValue(colElt->borderAdjoiningCellAfter( this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOL), result);619 result = chooseBorder(CollapsedBorderValue(colElt->borderAdjoiningCellAfter(*this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOL), result); 620 620 if (!result.exists()) 621 621 return result; … … 623 623 // but only if it is adjacent to the cell's edge. 624 624 if (RenderTableCol* enclosingColumnGroup = colElt->enclosingColumnGroupIfAdjacentAfter()) { 625 result = chooseBorder(CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellEndBorder( this), includeColor ? enclosingColumnGroup->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP), result);625 result = chooseBorder(CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellEndBorder(), includeColor ? enclosingColumnGroup->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP), result); 626 626 if (!result.exists()) 627 627 return result; … … 633 633 if (startBorderAdjoinsTable) { 634 634 // (7) The table's start border. 635 result = chooseBorder(result, CollapsedBorderValue(table->tableStartBorderAdjoiningCell( this), includeColor ? table->style().visitedDependentColor(startColorProperty) : Color(), BTABLE));635 result = chooseBorder(result, CollapsedBorderValue(table->tableStartBorderAdjoiningCell(*this), includeColor ? table->style().visitedDependentColor(startColorProperty) : Color(), BTABLE)); 636 636 if (!result.exists()) 637 637 return result; … … 676 676 if (!isEndColumn) { 677 677 if (RenderTableCell* cellAfter = table->cellAfter(this)) { 678 CollapsedBorderValue cellAfterAdjoiningBorder = CollapsedBorderValue(cellAfter->borderAdjoiningCellBefore( this), includeColor ? cellAfter->style().visitedDependentColor(startColorProperty) : Color(), BCELL);678 CollapsedBorderValue cellAfterAdjoiningBorder = CollapsedBorderValue(cellAfter->borderAdjoiningCellBefore(*this), includeColor ? cellAfter->style().visitedDependentColor(startColorProperty) : Color(), BCELL); 679 679 result = chooseBorder(result, cellAfterAdjoiningBorder); 680 680 if (!result.exists()) … … 686 686 if (endBorderAdjoinsTable) { 687 687 // (3) Our row's end border. 688 result = chooseBorder(result, CollapsedBorderValue(row()->borderAdjoiningEndCell( this), includeColor ? parent()->style().visitedDependentColor(endColorProperty) : Color(), BROW));688 result = chooseBorder(result, CollapsedBorderValue(row()->borderAdjoiningEndCell(*this), includeColor ? parent()->style().visitedDependentColor(endColorProperty) : Color(), BROW)); 689 689 if (!result.exists()) 690 690 return result; 691 691 692 692 // (4) Our row group's end border. 693 result = chooseBorder(result, CollapsedBorderValue(section()->borderAdjoiningEndCell( this), includeColor ? section()->style().visitedDependentColor(endColorProperty) : Color(), BROWGROUP));693 result = chooseBorder(result, CollapsedBorderValue(section()->borderAdjoiningEndCell(*this), includeColor ? section()->style().visitedDependentColor(endColorProperty) : Color(), BROWGROUP)); 694 694 if (!result.exists()) 695 695 return result; … … 702 702 if (colElt->isTableColumnGroup() && endColEdge) { 703 703 // The element is a colgroup and is also the last colgroup (in case of spanned colgroups). 704 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellEndBorder( this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP));704 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellEndBorder(), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP)); 705 705 if (!result.exists()) 706 706 return result; … … 709 709 // HTML5 which states that: "For the purposes of the CSS table model, the col element is expected to be 710 710 // treated as if it was present as many times as its span attribute specifies". 711 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellEndBorder( this), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOL));711 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellEndBorder(), includeColor ? colElt->style().visitedDependentColor(endColorProperty) : Color(), BCOL)); 712 712 if (!result.exists()) 713 713 return result; 714 714 // Next, if it has a parent colgroup then we apply its end border but only if it is adjacent to the cell. 715 715 if (RenderTableCol* enclosingColumnGroup = colElt->enclosingColumnGroupIfAdjacentAfter()) { 716 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellEndBorder( this), includeColor ? enclosingColumnGroup->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP));716 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellEndBorder(), includeColor ? enclosingColumnGroup->style().visitedDependentColor(endColorProperty) : Color(), BCOLGROUP)); 717 717 if (!result.exists()) 718 718 return result; … … 726 726 if (colElt->isTableColumnGroup() && startColEdge) { 727 727 // This case is a colgroup without any col, we only compute it if it is adjacent to the cell's edge. 728 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellBefore( this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP));728 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellBefore(*this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP)); 729 729 if (!result.exists()) 730 730 return result; 731 731 } else if (colElt->isTableColumn()) { 732 732 // Resolve the collapsing border against the col's border ignoring any 'span' as per HTML5. 733 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellBefore( this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOL));733 result = chooseBorder(result, CollapsedBorderValue(colElt->borderAdjoiningCellBefore(*this), includeColor ? colElt->style().visitedDependentColor(startColorProperty) : Color(), BCOL)); 734 734 if (!result.exists()) 735 735 return result; 736 736 // If we have a parent colgroup, resolve the border only if it is adjacent to the cell. 737 737 if (RenderTableCol* enclosingColumnGroup = colElt->enclosingColumnGroupIfAdjacentBefore()) { 738 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellStartBorder( this), includeColor ? enclosingColumnGroup->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP));738 result = chooseBorder(result, CollapsedBorderValue(enclosingColumnGroup->borderAdjoiningCellStartBorder(), includeColor ? enclosingColumnGroup->style().visitedDependentColor(startColorProperty) : Color(), BCOLGROUP)); 739 739 if (!result.exists()) 740 740 return result; … … 746 746 if (endBorderAdjoinsTable) { 747 747 // (7) The table's end border. 748 result = chooseBorder(result, CollapsedBorderValue(table->tableEndBorderAdjoiningCell( this), includeColor ? table->style().visitedDependentColor(endColorProperty) : Color(), BTABLE));748 result = chooseBorder(result, CollapsedBorderValue(table->tableEndBorderAdjoiningCell(*this), includeColor ? table->style().visitedDependentColor(endColorProperty) : Color(), BTABLE)); 749 749 if (!result.exists()) 750 750 return result; -
trunk/Source/WebCore/rendering/RenderTableCell.h
r201704 r203657 122 122 const BorderValue& borderAdjoiningTableStart() const; 123 123 const BorderValue& borderAdjoiningTableEnd() const; 124 const BorderValue& borderAdjoiningCellBefore(const RenderTableCell *);125 const BorderValue& borderAdjoiningCellAfter(const RenderTableCell *);124 const BorderValue& borderAdjoiningCellBefore(const RenderTableCell&); 125 const BorderValue& borderAdjoiningCellAfter(const RenderTableCell&); 126 126 127 127 using RenderBlockFlow::nodeAtPoint; … … 317 317 } 318 318 319 inline const BorderValue& RenderTableCell::borderAdjoiningCellBefore(const RenderTableCell *cell)320 { 321 ASSERT_UNUSED(cell, table()->cellAfter( cell) == this);319 inline const BorderValue& RenderTableCell::borderAdjoiningCellBefore(const RenderTableCell& cell) 320 { 321 ASSERT_UNUSED(cell, table()->cellAfter(&cell) == this); 322 322 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 323 323 return style().borderStart(); 324 324 } 325 325 326 inline const BorderValue& RenderTableCell::borderAdjoiningCellAfter(const RenderTableCell *cell)327 { 328 ASSERT_UNUSED(cell, table()->cellBefore( cell) == this);326 inline const BorderValue& RenderTableCell::borderAdjoiningCellAfter(const RenderTableCell& cell) 327 { 328 ASSERT_UNUSED(cell, table()->cellBefore(&cell) == this); 329 329 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 330 330 return style().borderEnd(); -
trunk/Source/WebCore/rendering/RenderTableCol.cpp
r201052 r203657 180 180 } 181 181 182 const BorderValue& RenderTableCol::borderAdjoiningCellStartBorder( const RenderTableCell*) const182 const BorderValue& RenderTableCol::borderAdjoiningCellStartBorder() const 183 183 { 184 184 return style().borderStart(); 185 185 } 186 186 187 const BorderValue& RenderTableCol::borderAdjoiningCellEndBorder( const RenderTableCell*) const187 const BorderValue& RenderTableCol::borderAdjoiningCellEndBorder() const 188 188 { 189 189 return style().borderEnd(); 190 190 } 191 191 192 const BorderValue& RenderTableCol::borderAdjoiningCellBefore(const RenderTableCell *cell) const193 { 194 ASSERT_UNUSED(cell, table()->colElement(cell ->col() + cell->colSpan()) == this);192 const BorderValue& RenderTableCol::borderAdjoiningCellBefore(const RenderTableCell& cell) const 193 { 194 ASSERT_UNUSED(cell, table()->colElement(cell.col() + cell.colSpan()) == this); 195 195 return style().borderStart(); 196 196 } 197 197 198 const BorderValue& RenderTableCol::borderAdjoiningCellAfter(const RenderTableCell *cell) const199 { 200 ASSERT_UNUSED(cell, table()->colElement(cell ->col() - 1) == this);198 const BorderValue& RenderTableCol::borderAdjoiningCellAfter(const RenderTableCell& cell) const 199 { 200 ASSERT_UNUSED(cell, table()->colElement(cell.col() - 1) == this); 201 201 return style().borderEnd(); 202 202 } -
trunk/Source/WebCore/rendering/RenderTableCol.h
r200041 r203657 55 55 RenderTableCol* nextColumn() const; 56 56 57 const BorderValue& borderAdjoiningCellStartBorder( const RenderTableCell*) const;58 const BorderValue& borderAdjoiningCellEndBorder( const RenderTableCell*) const;59 const BorderValue& borderAdjoiningCellBefore(const RenderTableCell *) const;60 const BorderValue& borderAdjoiningCellAfter(const RenderTableCell *) const;57 const BorderValue& borderAdjoiningCellStartBorder() const; 58 const BorderValue& borderAdjoiningCellEndBorder() const; 59 const BorderValue& borderAdjoiningCellBefore(const RenderTableCell&) const; 60 const BorderValue& borderAdjoiningCellAfter(const RenderTableCell&) const; 61 61 62 62 LayoutUnit offsetLeft() const override; -
trunk/Source/WebCore/rendering/RenderTableRow.cpp
r200041 r203657 93 93 } 94 94 95 const BorderValue& RenderTableRow::borderAdjoiningStartCell(const RenderTableCell *cell) const96 { 97 ASSERT_UNUSED(cell, cell ->isFirstOrLastCellInRow());95 const BorderValue& RenderTableRow::borderAdjoiningStartCell(const RenderTableCell& cell) const 96 { 97 ASSERT_UNUSED(cell, cell.isFirstOrLastCellInRow()); 98 98 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 99 99 return style().borderStart(); 100 100 } 101 101 102 const BorderValue& RenderTableRow::borderAdjoiningEndCell(const RenderTableCell *cell) const103 { 104 ASSERT_UNUSED(cell, cell ->isFirstOrLastCellInRow());102 const BorderValue& RenderTableRow::borderAdjoiningEndCell(const RenderTableCell& cell) const 103 { 104 ASSERT_UNUSED(cell, cell.isFirstOrLastCellInRow()); 105 105 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 106 106 return style().borderEnd(); -
trunk/Source/WebCore/rendering/RenderTableRow.h
r200041 r203657 57 57 const BorderValue& borderAdjoiningTableStart() const; 58 58 const BorderValue& borderAdjoiningTableEnd() const; 59 const BorderValue& borderAdjoiningStartCell(const RenderTableCell *) const;60 const BorderValue& borderAdjoiningEndCell(const RenderTableCell *) const;59 const BorderValue& borderAdjoiningStartCell(const RenderTableCell&) const; 60 const BorderValue& borderAdjoiningEndCell(const RenderTableCell&) const; 61 61 62 62 void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; -
trunk/Source/WebCore/rendering/RenderTableSection.cpp
r201052 r203657 1420 1420 } 1421 1421 1422 const BorderValue& RenderTableSection::borderAdjoiningStartCell(const RenderTableCell *cell) const1423 { 1424 ASSERT(cell ->isFirstOrLastCellInRow());1425 return hasSameDirectionAs( cell) ? style().borderStart() : style().borderEnd();1426 } 1427 1428 const BorderValue& RenderTableSection::borderAdjoiningEndCell(const RenderTableCell *cell) const1429 { 1430 ASSERT(cell ->isFirstOrLastCellInRow());1431 return hasSameDirectionAs( cell) ? style().borderEnd() : style().borderStart();1422 const BorderValue& RenderTableSection::borderAdjoiningStartCell(const RenderTableCell& cell) const 1423 { 1424 ASSERT(cell.isFirstOrLastCellInRow()); 1425 return hasSameDirectionAs(&cell) ? style().borderStart() : style().borderEnd(); 1426 } 1427 1428 const BorderValue& RenderTableSection::borderAdjoiningEndCell(const RenderTableCell& cell) const 1429 { 1430 ASSERT(cell.isFirstOrLastCellInRow()); 1431 return hasSameDirectionAs(&cell) ? style().borderEnd() : style().borderStart(); 1432 1432 } 1433 1433 -
trunk/Source/WebCore/rendering/RenderTableSection.h
r200041 r203657 94 94 const BorderValue& borderAdjoiningTableStart() const; 95 95 const BorderValue& borderAdjoiningTableEnd() const; 96 const BorderValue& borderAdjoiningStartCell(const RenderTableCell *) const;97 const BorderValue& borderAdjoiningEndCell(const RenderTableCell *) const;96 const BorderValue& borderAdjoiningStartCell(const RenderTableCell&) const; 97 const BorderValue& borderAdjoiningEndCell(const RenderTableCell&) const; 98 98 99 99 const RenderTableCell* firstRowCellAdjoiningTableStart() const;
Note:
See TracChangeset
for help on using the changeset viewer.