OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2013 Apple Inc. All r ights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2013 Apple Inc. All r ights reserved. |
8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
783 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account. | 783 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account. |
784 if (lastRowSpanCell != cell && cell->rowIndex() == r) { | 784 if (lastRowSpanCell != cell && cell->rowIndex() == r) { |
785 #if ENABLE(ASSERT) | 785 #if ENABLE(ASSERT) |
786 ASSERT(!uniqueCells.contains(cell)); | 786 ASSERT(!uniqueCells.contains(cell)); |
787 uniqueCells.add(cell); | 787 uniqueCells.add(cell); |
788 #endif | 788 #endif |
789 | 789 |
790 rowSpanCells.append(cell); | 790 rowSpanCells.append(cell); |
791 lastRowSpanCell = cell; | 791 lastRowSpanCell = cell; |
792 | 792 |
793 if (cell->hasOverrideLogicalContentHeight()) { | |
mstensho (USE GERRIT)
2016/01/12 10:06:41
Yeah, I suppose this was missing for rowspanned ce
a.suchit2
2016/01/12 14:37:02
Done.
| |
794 cell->clearIntrinsicPadding(); | |
795 cell->clearOverrideSize(); | |
796 cell->forceChildLayout(); | |
797 } | |
798 | |
793 // Find out the baseline. The baseline is set on the fir st row in a rowSpan. | 799 // Find out the baseline. The baseline is set on the fir st row in a rowSpan. |
794 updateBaselineForCell(cell, r, baselineDescent); | 800 updateBaselineForCell(cell, r, baselineDescent); |
795 } | 801 } |
796 continue; | 802 continue; |
797 } | 803 } |
798 | 804 |
799 ASSERT(cell->rowSpan() == 1); | 805 ASSERT(cell->rowSpan() == 1); |
800 | 806 |
801 if (cell->hasOverrideLogicalContentHeight()) { | 807 if (cell->hasOverrideLogicalContentHeight()) { |
802 cell->clearIntrinsicPadding(); | 808 cell->clearIntrinsicPadding(); |
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1671 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691). | 1677 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691). |
1672 if (!style()->isLeftToRightDirection()) | 1678 if (!style()->isLeftToRightDirection()) |
1673 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing); | 1679 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing); |
1674 else | 1680 else |
1675 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing); | 1681 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing); |
1676 | 1682 |
1677 cell->setLogicalLocation(cellLocation); | 1683 cell->setLogicalLocation(cellLocation); |
1678 } | 1684 } |
1679 | 1685 |
1680 } // namespace blink | 1686 } // namespace blink |
OLD | NEW |