Index: Source/WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderBlock.cpp (revision 143084) |
+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -118,7 +118,7 @@ |
static int gDelayUpdateScrollInfo = 0; |
static DelayedUpdateScrollInfoSet* gDelayedUpdateScrollInfoSet = 0; |
-static bool gIsInColumnFlowSplit = false; |
+static bool gColumnFlowSplitEnabled = true; |
bool RenderBlock::s_canPropagateFloatIntoSibling = false; |
@@ -836,10 +836,10 @@ |
beforeChild = beforeChild->nextSibling(); |
// Check for a spanning element in columns. |
- if (!gIsInColumnFlowSplit) { |
+ if (gColumnFlowSplitEnabled) { |
RenderBlock* columnsBlockAncestor = columnsBlockForSpanningElement(newChild); |
if (columnsBlockAncestor) { |
- TemporaryChange<bool> isInColumnFlowSplit(gIsInColumnFlowSplit, true); |
+ TemporaryChange<bool> columnFlowSplitEnabled(gColumnFlowSplitEnabled, false); |
// We are placing a column-span element inside a block. |
RenderBlock* newBox = createAnonymousColumnSpanBlock(); |
@@ -1152,6 +1152,9 @@ |
return; |
} |
+ // This protects against column split flows when anonymous blocks are getting merged. |
+ TemporaryChange<bool> columnFlowSplitEnabled(gColumnFlowSplitEnabled, false); |
+ |
// If this child is a block, and if our previous and next siblings are |
// both anonymous blocks with inline content, then we can go ahead and |
// fold the inline content back together. |