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 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1358 layer()->setStaticBlockPosition(box->logicalTop()); | 1358 layer()->setStaticBlockPosition(box->logicalTop()); |
1359 if (style()->hasStaticBlockPosition(box->isHorizontal())) | 1359 if (style()->hasStaticBlockPosition(box->isHorizontal())) |
1360 setChildNeedsLayout(true, false); // Just go ahead and mark the
positioned object as needing layout, so it will update its position properly. | 1360 setChildNeedsLayout(true, false); // Just go ahead and mark the
positioned object as needing layout, so it will update its position properly. |
1361 } | 1361 } |
1362 | 1362 |
1363 // Nuke the box. | 1363 // Nuke the box. |
1364 box->remove(); | 1364 box->remove(); |
1365 box->destroy(renderArena()); | 1365 box->destroy(renderArena()); |
1366 } else if (isReplaced()) { | 1366 } else if (isReplaced()) { |
1367 setLocation(roundedIntPoint(FloatPoint(box->x(), box->y()))); | 1367 setLocation(roundedIntPoint(FloatPoint(box->x(), box->y()))); |
| 1368 if (m_inlineBoxWrapper) |
| 1369 deleteLineBoxWrapper(); |
1368 m_inlineBoxWrapper = box; | 1370 m_inlineBoxWrapper = box; |
1369 } | 1371 } |
1370 } | 1372 } |
1371 | 1373 |
1372 void RenderBox::deleteLineBoxWrapper() | 1374 void RenderBox::deleteLineBoxWrapper() |
1373 { | 1375 { |
1374 if (m_inlineBoxWrapper) { | 1376 if (m_inlineBoxWrapper) { |
1375 if (!documentBeingDestroyed()) | 1377 if (!documentBeingDestroyed()) |
1376 m_inlineBoxWrapper->remove(); | 1378 m_inlineBoxWrapper->remove(); |
1377 m_inlineBoxWrapper->destroy(renderArena()); | 1379 m_inlineBoxWrapper->destroy(renderArena()); |
(...skipping 2110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3488 RenderBlock* containerBlock = containingBlock(); | 3490 RenderBlock* containerBlock = containingBlock(); |
3489 if (!containerBlock || containerBlock == this) | 3491 if (!containerBlock || containerBlock == this) |
3490 return locationOffset(); | 3492 return locationOffset(); |
3491 | 3493 |
3492 IntRect rect(frameRect()); | 3494 IntRect rect(frameRect()); |
3493 containerBlock->flipForWritingMode(rect); // FIXME: This is wrong if we are
an absolutely positioned object enclosed by a relative-positioned inline. | 3495 containerBlock->flipForWritingMode(rect); // FIXME: This is wrong if we are
an absolutely positioned object enclosed by a relative-positioned inline. |
3494 return IntSize(rect.x(), rect.y()); | 3496 return IntSize(rect.x(), rect.y()); |
3495 } | 3497 } |
3496 | 3498 |
3497 } // namespace WebCore | 3499 } // namespace WebCore |
OLD | NEW |