Index: Source/WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderBlock.cpp (revision 107333) |
+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -1023,8 +1023,9 @@ |
{ |
parent->setNeedsLayoutAndPrefWidthsRecalc(); |
parent->setChildrenInline(child->childrenInline()); |
+ RenderObject* nextSibling = child->nextSibling(); |
RenderBlock* anonBlock = toRenderBlock(parent->children()->removeChildNode(parent, child, child->hasLayer())); |
- anonBlock->moveAllChildrenTo(parent, child->hasLayer()); |
+ anonBlock->moveAllChildrenTo(parent, nextSibling, child->hasLayer()); |
// Delete the now-empty block's lines and nuke it. |
if (!parent->documentBeingDestroyed()) |
anonBlock->deleteLineBoxTree(); |
@@ -1088,7 +1089,7 @@ |
// box. We can go ahead and pull the content right back up into our |
// box. |
collapseAnonymousBoxChild(this, child); |
- } else if ((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) { |
+ } else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) && !isFlexibleBoxIncludingDeprecated()) { |
// It's possible that the removal has knocked us down to a single anonymous |
// block with pseudo-style element siblings (e.g. first-letter). If these |
// are floating, then we need to pull the content up also. |