Index: Source/core/layout/LayoutMultiColumnFlowThread.cpp |
diff --git a/Source/core/layout/LayoutMultiColumnFlowThread.cpp b/Source/core/layout/LayoutMultiColumnFlowThread.cpp |
index 80850ec8c1f9e36dbf369fcceb8744162b1e462a..140661c0ea02ca9ccbbfcd0614d4ba8ca392da1a 100644 |
--- a/Source/core/layout/LayoutMultiColumnFlowThread.cpp |
+++ b/Source/core/layout/LayoutMultiColumnFlowThread.cpp |
@@ -387,6 +387,13 @@ bool LayoutMultiColumnFlowThread::descendantIsValidColumnSpanner(LayoutObject* d |
// undesirable. The spec has nothing to say on the matter. |
return false; // Ignore nested spanners. |
} |
+ if (ancestor->isFloatingOrOutOfFlowPositioned()) { |
+ // TODO(mstensho): It could actually be nice to support this (although the usefulness is |
+ // probably very limited), but currently our column balancing algorithm gets confused |
+ // when a spanner is inside a float, because a float's position isn't always known until |
+ // after layout. Similarly for absolutely positioned boxes. |
+ return false; |
+ } |
if (ancestor->isUnsplittableForPagination()) |
return false; |
} |