summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/FlowThreadController.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-09-18 15:53:33 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-09-18 15:53:33 +0200
commit6bbb7fbbac94d0f511a7bd0cbd50854ab643bfb2 (patch)
treed9c68d1cca0b3e352f1e438561f3e504e641a08f /Source/WebCore/rendering/FlowThreadController.cpp
parentd0424a769059c84ae20beb3c217812792ea6726b (diff)
downloadqtwebkit-6bbb7fbbac94d0f511a7bd0cbd50854ab643bfb2.tar.gz
Imported WebKit commit c7503cef7ecb236730d1309676ab9fc723fd061d (http://svn.webkit.org/repository/webkit/trunk@128886)
New snapshot with various build fixes
Diffstat (limited to 'Source/WebCore/rendering/FlowThreadController.cpp')
-rw-r--r--Source/WebCore/rendering/FlowThreadController.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/WebCore/rendering/FlowThreadController.cpp b/Source/WebCore/rendering/FlowThreadController.cpp
index 9edd0aa7e..cb4bdb1f2 100644
--- a/Source/WebCore/rendering/FlowThreadController.cpp
+++ b/Source/WebCore/rendering/FlowThreadController.cpp
@@ -49,6 +49,7 @@ FlowThreadController::FlowThreadController(RenderView* view)
: m_view(view)
, m_currentRenderFlowThread(0)
, m_isRenderNamedFlowThreadOrderDirty(false)
+ , m_autoLogicalHeightRegionsCount(0)
{
}
@@ -98,6 +99,8 @@ void FlowThreadController::layoutRenderNamedFlowThreads()
{
ASSERT(m_renderNamedFlowThreadList);
+ ASSERT(isAutoLogicalHeightRegionsFlagConsistent());
+
// Remove the left-over flow threads.
RenderNamedFlowThreadList toRemoveList;
for (RenderNamedFlowThreadList::iterator iter = m_renderNamedFlowThreadList->begin(); iter != m_renderNamedFlowThreadList->end(); ++iter) {
@@ -156,4 +159,21 @@ void FlowThreadController::unregisterNamedFlowContentNode(Node* contentNode)
m_mapNamedFlowContentNodes.remove(contentNode);
}
+#ifndef NDEBUG
+bool FlowThreadController::isAutoLogicalHeightRegionsFlagConsistent() const
+{
+ if (!hasRenderNamedFlowThreads())
+ return !hasAutoLogicalHeightRegions();
+
+ // Count the number of auto height regions
+ unsigned autoLogicalHeightRegions = 0;
+ for (RenderNamedFlowThreadList::iterator iter = m_renderNamedFlowThreadList->begin(); iter != m_renderNamedFlowThreadList->end(); ++iter) {
+ RenderNamedFlowThread* flowRenderer = *iter;
+ autoLogicalHeightRegions += flowRenderer->autoLogicalHeightRegionsCount();
+ }
+
+ return autoLogicalHeightRegions == m_autoLogicalHeightRegionsCount;
+}
+#endif
+
} // namespace WebCore