| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 3933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3944 { | 3944 { |
| 3945 return style()->logicalHeight().isPercent() | 3945 return style()->logicalHeight().isPercent() |
| 3946 || style()->logicalMinHeight().isPercent() | 3946 || style()->logicalMinHeight().isPercent() |
| 3947 || style()->logicalMaxHeight().isPercent(); | 3947 || style()->logicalMaxHeight().isPercent(); |
| 3948 } | 3948 } |
| 3949 | 3949 |
| 3950 static void markBoxForRelayoutAfterSplit(RenderBox* box) | 3950 static void markBoxForRelayoutAfterSplit(RenderBox* box) |
| 3951 { | 3951 { |
| 3952 // FIXME: The table code should handle that automatically. If not, | 3952 // FIXME: The table code should handle that automatically. If not, |
| 3953 // we should fix it and remove the table part checks. | 3953 // we should fix it and remove the table part checks. |
| 3954 if (box->isTable()) | 3954 if (box->isTable()) { |
| 3955 toRenderTable(box)->setNeedsSectionRecalc(); | 3955 // Because we may have added some sections with already computed column
structures, we need to |
| 3956 else if (box->isTableSection()) | 3956 // sync the table structure with them now. This avoids crashes when addi
ng new cells to the table. |
| 3957 toRenderTable(box)->forceSectionsRecalc(); |
| 3958 } else if (box->isTableSection()) |
| 3957 toRenderTableSection(box)->setNeedsCellRecalc(); | 3959 toRenderTableSection(box)->setNeedsCellRecalc(); |
| 3958 | 3960 |
| 3959 box->setNeedsLayoutAndPrefWidthsRecalc(); | 3961 box->setNeedsLayoutAndPrefWidthsRecalc(); |
| 3960 } | 3962 } |
| 3961 | 3963 |
| 3962 RenderObject* RenderBox::splitAnonymousBoxesAroundChild(RenderObject* beforeChil
d) | 3964 RenderObject* RenderBox::splitAnonymousBoxesAroundChild(RenderObject* beforeChil
d) |
| 3963 { | 3965 { |
| 3964 bool didSplitParentAnonymousBoxes = false; | 3966 bool didSplitParentAnonymousBoxes = false; |
| 3965 | 3967 |
| 3966 while (beforeChild->parent() != this) { | 3968 while (beforeChild->parent() != this) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 3985 } | 3987 } |
| 3986 | 3988 |
| 3987 if (didSplitParentAnonymousBoxes) | 3989 if (didSplitParentAnonymousBoxes) |
| 3988 markBoxForRelayoutAfterSplit(this); | 3990 markBoxForRelayoutAfterSplit(this); |
| 3989 | 3991 |
| 3990 ASSERT(beforeChild->parent() == this); | 3992 ASSERT(beforeChild->parent() == this); |
| 3991 return beforeChild; | 3993 return beforeChild; |
| 3992 } | 3994 } |
| 3993 | 3995 |
| 3994 } // namespace WebCore | 3996 } // namespace WebCore |
| OLD | NEW |