| 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 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 807 | 807 |
| 808 unsigned endCol = startColumn; | 808 unsigned endCol = startColumn; |
| 809 unsigned cspan = cell->colSpan(); | 809 unsigned cspan = cell->colSpan(); |
| 810 while (cspan && endCol < cols) { | 810 while (cspan && endCol < cols) { |
| 811 ASSERT(endCol < table()->columns().size()); | 811 ASSERT(endCol < table()->columns().size()); |
| 812 cspan -= table()->columns()[endCol].span; | 812 cspan -= table()->columns()[endCol].span; |
| 813 endCol++; | 813 endCol++; |
| 814 } | 814 } |
| 815 int tableLayoutLogicalWidth = columnPos[endCol] - columnPos[startCol
umn] - table()->hBorderSpacing(); | 815 int tableLayoutLogicalWidth = columnPos[endCol] - columnPos[startCol
umn] - table()->hBorderSpacing(); |
| 816 cell->setCellLogicalWidth(tableLayoutLogicalWidth, layouter); | 816 cell->setCellLogicalWidth(tableLayoutLogicalWidth, layouter); |
| 817 |
| 818 if (cell->needsRecalcLogicalWidthAfterLayoutChildren()) { |
| 819 cell->clearNeedsRecalcLogicalWidthAfterLayoutChildren(); |
| 820 cell->setPreferredLogicalWidthsDirty(MarkOnlyThis); |
| 821 table()->setNeedsRecalcLogicalWidthAfterLayoutChildren(); |
| 822 } |
| 817 } | 823 } |
| 818 | 824 |
| 819 if (LayoutTableRow* rowLayoutObject = m_grid[r].rowLayoutObject) { | 825 if (LayoutTableRow* rowLayoutObject = m_grid[r].rowLayoutObject) { |
| 820 if (!rowLayoutObject->needsLayout()) | 826 if (!rowLayoutObject->needsLayout()) |
| 821 rowLayoutObject->markForPaginationRelayoutIfNeeded(layouter); | 827 rowLayoutObject->markForPaginationRelayoutIfNeeded(layouter); |
| 822 rowLayoutObject->layoutIfNeeded(); | 828 rowLayoutObject->layoutIfNeeded(); |
| 823 } | 829 } |
| 824 } | 830 } |
| 825 | 831 |
| 826 clearNeedsLayout(); | 832 clearNeedsLayout(); |
| (...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1617 // FIXME: The table's direction should determine our row's direction, not th
e section's (see bug 96691). | 1623 // FIXME: The table's direction should determine our row's direction, not th
e section's (see bug 96691). |
| 1618 if (!style()->isLeftToRightDirection()) | 1624 if (!style()->isLeftToRightDirection()) |
| 1619 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta
ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] +
horizontalBorderSpacing); | 1625 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta
ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] +
horizontalBorderSpacing); |
| 1620 else | 1626 else |
| 1621 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont
alBorderSpacing); | 1627 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont
alBorderSpacing); |
| 1622 | 1628 |
| 1623 cell->setLogicalLocation(cellLocation); | 1629 cell->setLogicalLocation(cellLocation); |
| 1624 } | 1630 } |
| 1625 | 1631 |
| 1626 } // namespace blink | 1632 } // namespace blink |
| OLD | NEW |