Index: Source/WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderBlock.cpp (revision 94541) |
+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -656,8 +656,22 @@ |
&& !newChild->isInline() && !isAnonymousColumnSpanBlock()) { |
if (style()->specifiesColumns()) |
columnsBlockAncestor = this; |
- else if (!isInline() && parent() && parent()->isRenderBlock()) |
+ else if (!isInline() && parent() && parent()->isRenderBlock()) { |
columnsBlockAncestor = toRenderBlock(parent())->containingColumnsBlock(false); |
+ |
+ if (columnsBlockAncestor) { |
+ // Make sure that none of the parent ancestors have a continuation. |
+ // If yes, we do not want split the block into continuations. |
+ RenderObject* curr = this; |
+ while (curr && curr != columnsBlockAncestor) { |
+ if (curr->isRenderBlock() && toRenderBlock(curr)->continuation()) { |
+ columnsBlockAncestor = 0; |
+ break; |
+ } |
+ curr = curr->parent(); |
+ } |
+ } |
+ } |
} |
return columnsBlockAncestor; |
} |