Index: Source/core/rendering/LayoutState.cpp |
diff --git a/Source/core/rendering/LayoutState.cpp b/Source/core/rendering/LayoutState.cpp |
index 5a2ba588c863af8ff9a30ec37a578a713a38d08b..8491c891ee4eba35e3b620f3324a8a02066b0e3f 100644 |
--- a/Source/core/rendering/LayoutState.cpp |
+++ b/Source/core/rendering/LayoutState.cpp |
@@ -26,6 +26,7 @@ |
#include "config.h" |
#include "core/rendering/LayoutState.h" |
+#include "core/rendering/RenderFlowThread.h" |
#include "core/rendering/RenderInline.h" |
#include "core/rendering/RenderLayer.h" |
#include "core/rendering/RenderView.h" |
@@ -88,8 +89,14 @@ LayoutState::LayoutState(RenderBox& renderer, const LayoutSize& offset, LayoutUn |
if (renderer.isUnsplittableForPagination()) { |
m_pageLogicalHeight = 0; |
m_isPaginated = false; |
+ } else if (RenderFlowThread* flowThread = renderer.flowThreadContainingBlock()) { |
+ // FIXME: this won't do if/when we add support for nested fragmentation contexts (e.g. a |
+ // multicol container inside something paginated). Note, though, that nested |
+ // fragmentation is something that has never worked in the engine (not in the old |
+ // multicol implementation either). |
+ m_isPaginated = !flowThread->isInsideColumnSpanner(&renderer); |
} else { |
- m_isPaginated = m_pageLogicalHeight || m_next->m_columnInfo || renderer.flowThreadContainingBlock(); |
+ m_isPaginated = m_pageLogicalHeight || m_next->m_columnInfo; |
} |
} |