OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 while (object && object->isAnonymousBlock() && !object->isRenderNamedFlowThr
ead()) | 68 while (object && object->isAnonymousBlock() && !object->isRenderNamedFlowThr
ead()) |
69 object = object->parent(); | 69 object = object->parent(); |
70 | 70 |
71 return object && object->isRenderNamedFlowThread() ? toRenderNamedFlowThread
(object) : 0; | 71 return object && object->isRenderNamedFlowThread() ? toRenderNamedFlowThread
(object) : 0; |
72 } | 72 } |
73 | 73 |
74 RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, Render
Object* oldChild, bool fullRemove) | 74 RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, Render
Object* oldChild, bool fullRemove) |
75 { | 75 { |
76 ASSERT(oldChild->parent() == owner); | 76 ASSERT(oldChild->parent() == owner); |
77 | 77 |
| 78 if (oldChild->isFloatingOrPositioned()) |
| 79 toRenderBox(oldChild)->removeFloatingOrPositionedChildFromBlockLists(); |
| 80 |
78 // So that we'll get the appropriate dirty bit set (either that a normal flo
w child got yanked or | 81 // So that we'll get the appropriate dirty bit set (either that a normal flo
w child got yanked or |
79 // that a positioned child got yanked). We also repaint, so that the area e
xposed when the child | 82 // that a positioned child got yanked). We also repaint, so that the area e
xposed when the child |
80 // disappears gets repainted properly. | 83 // disappears gets repainted properly. |
81 if (!owner->documentBeingDestroyed() && fullRemove && oldChild->everHadLayou
t()) { | 84 if (!owner->documentBeingDestroyed() && fullRemove && oldChild->everHadLayou
t()) { |
82 oldChild->setNeedsLayoutAndPrefWidthsRecalc(); | 85 oldChild->setNeedsLayoutAndPrefWidthsRecalc(); |
83 if (oldChild->isBody()) | 86 if (oldChild->isBody()) |
84 owner->view()->repaint(); | 87 owner->view()->repaint(); |
85 else | 88 else |
86 oldChild->repaint(); | 89 oldChild->repaint(); |
87 } | 90 } |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 } | 548 } |
546 if (generatedContentContainer->isChildAllowed(renderer, pseudoElemen
tStyle)) | 549 if (generatedContentContainer->isChildAllowed(renderer, pseudoElemen
tStyle)) |
547 generatedContentContainer->addChild(renderer); | 550 generatedContentContainer->addChild(renderer); |
548 else | 551 else |
549 renderer->destroy(); | 552 renderer->destroy(); |
550 } | 553 } |
551 } | 554 } |
552 } | 555 } |
553 | 556 |
554 } // namespace WebCore | 557 } // namespace WebCore |
OLD | NEW |