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 3956 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3967 RenderBox* boxToSplit = toRenderBox(beforeChild->parent()); | 3967 RenderBox* boxToSplit = toRenderBox(beforeChild->parent()); |
3968 if (boxToSplit->firstChild() != beforeChild && boxToSplit->isAnonymous()
) { | 3968 if (boxToSplit->firstChild() != beforeChild && boxToSplit->isAnonymous()
) { |
3969 didSplitParentAnonymousBoxes = true; | 3969 didSplitParentAnonymousBoxes = true; |
3970 | 3970 |
3971 // We have to split the parent box into two boxes and move children | 3971 // We have to split the parent box into two boxes and move children |
3972 // from |beforeChild| to end into the new post box. | 3972 // from |beforeChild| to end into the new post box. |
3973 RenderBox* postBox = boxToSplit->createAnonymousBoxWithSameTypeAs(th
is); | 3973 RenderBox* postBox = boxToSplit->createAnonymousBoxWithSameTypeAs(th
is); |
3974 postBox->setChildrenInline(boxToSplit->childrenInline()); | 3974 postBox->setChildrenInline(boxToSplit->childrenInline()); |
3975 RenderBox* parentBox = toRenderBox(boxToSplit->parent()); | 3975 RenderBox* parentBox = toRenderBox(boxToSplit->parent()); |
3976 parentBox->virtualChildren()->insertChildNode(parentBox, postBox, bo
xToSplit->nextSibling()); | 3976 parentBox->virtualChildren()->insertChildNode(parentBox, postBox, bo
xToSplit->nextSibling()); |
3977 boxToSplit->moveChildrenTo(postBox, beforeChild, 0, boxToSplit->hasL
ayer()); | 3977 boxToSplit->moveChildrenTo(postBox, beforeChild, 0, true); |
3978 | 3978 |
3979 markBoxForRelayoutAfterSplit(boxToSplit); | 3979 markBoxForRelayoutAfterSplit(boxToSplit); |
3980 markBoxForRelayoutAfterSplit(postBox); | 3980 markBoxForRelayoutAfterSplit(postBox); |
3981 | 3981 |
3982 beforeChild = postBox; | 3982 beforeChild = postBox; |
3983 } else | 3983 } else |
3984 beforeChild = boxToSplit; | 3984 beforeChild = boxToSplit; |
3985 } | 3985 } |
3986 | 3986 |
3987 if (didSplitParentAnonymousBoxes) | 3987 if (didSplitParentAnonymousBoxes) |
3988 markBoxForRelayoutAfterSplit(this); | 3988 markBoxForRelayoutAfterSplit(this); |
3989 | 3989 |
3990 ASSERT(beforeChild->parent() == this); | 3990 ASSERT(beforeChild->parent() == this); |
3991 return beforeChild; | 3991 return beforeChild; |
3992 } | 3992 } |
3993 | 3993 |
3994 } // namespace WebCore | 3994 } // namespace WebCore |
OLD | NEW |