| 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 Apple Inc. All rights
reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights
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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 { | 107 { |
| 108 RenderBox::styleDidChange(diff, oldStyle); | 108 RenderBox::styleDidChange(diff, oldStyle); |
| 109 propagateStyleToAnonymousChildren(); | 109 propagateStyleToAnonymousChildren(); |
| 110 | 110 |
| 111 // If border was changed, notify table. | 111 // If border was changed, notify table. |
| 112 RenderTable* table = this->table(); | 112 RenderTable* table = this->table(); |
| 113 if (table && !table->selfNeedsLayout() && !table->normalChildNeedsLayout() &
& oldStyle && oldStyle->border() != style()->border()) | 113 if (table && !table->selfNeedsLayout() && !table->normalChildNeedsLayout() &
& oldStyle && oldStyle->border() != style()->border()) |
| 114 table->invalidateCollapsedBorders(); | 114 table->invalidateCollapsedBorders(); |
| 115 } | 115 } |
| 116 | 116 |
| 117 void RenderTableSection::willBeDestroyed() | 117 void RenderTableSection::willBeRemovedFromTree() |
| 118 { | 118 { |
| 119 RenderTable* recalcTable = table(); | 119 RenderBox::willBeRemovedFromTree(); |
| 120 | 120 |
| 121 RenderBox::willBeDestroyed(); | 121 // Preventively invalidate our cells as we may be re-inserted into |
| 122 | 122 // a new table which would require us to rebuild our structure. |
| 123 // recalc cell info because RenderTable has unguarded pointers | 123 setNeedsCellRecalc(); |
| 124 // stored that point to this RenderTableSection. | |
| 125 if (recalcTable) | |
| 126 recalcTable->setNeedsSectionRecalc(); | |
| 127 } | 124 } |
| 128 | 125 |
| 129 void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild
) | 126 void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild
) |
| 130 { | 127 { |
| 131 // Make sure we don't append things after :after-generated content if we hav
e it. | 128 // Make sure we don't append things after :after-generated content if we hav
e it. |
| 132 if (!beforeChild) | 129 if (!beforeChild) |
| 133 beforeChild = afterPseudoElementRenderer(); | 130 beforeChild = afterPseudoElementRenderer(); |
| 134 | 131 |
| 135 if (!child->isTableRow()) { | 132 if (!child->isTableRow()) { |
| 136 RenderObject* last = beforeChild; | 133 RenderObject* last = beforeChild; |
| (...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1476 if (!cell->styleForCellFlow()->isLeftToRightDirection()) | 1473 if (!cell->styleForCellFlow()->isLeftToRightDirection()) |
| 1477 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta
ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] +
horizontalBorderSpacing); | 1474 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta
ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] +
horizontalBorderSpacing); |
| 1478 else | 1475 else |
| 1479 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont
alBorderSpacing); | 1476 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont
alBorderSpacing); |
| 1480 | 1477 |
| 1481 cell->setLogicalLocation(cellLocation); | 1478 cell->setLogicalLocation(cellLocation); |
| 1482 view()->addLayoutDelta(oldCellLocation - cell->location()); | 1479 view()->addLayoutDelta(oldCellLocation - cell->location()); |
| 1483 } | 1480 } |
| 1484 | 1481 |
| 1485 } // namespace WebCore | 1482 } // namespace WebCore |
| OLD | NEW |