Index: Source/core/rendering/RenderView.cpp |
diff --git a/Source/core/rendering/RenderView.cpp b/Source/core/rendering/RenderView.cpp |
index bbb9ce50e38269377d5167f7072fd73250449716..121f41e4e1052eca31cfe5dc67efc614ffd2f62b 100644 |
--- a/Source/core/rendering/RenderView.cpp |
+++ b/Source/core/rendering/RenderView.cpp |
@@ -162,7 +162,7 @@ void RenderView::positionDialogs() |
} |
} |
-void RenderView::layoutContent(const LayoutState& state) |
+void RenderView::layoutContent() |
{ |
ASSERT(needsLayout()); |
@@ -173,27 +173,27 @@ void RenderView::layoutContent(const LayoutState& state) |
positionDialogs(); |
#ifndef NDEBUG |
- checkLayoutState(state); |
+ checkLayoutState(); |
#endif |
} |
#ifndef NDEBUG |
-void RenderView::checkLayoutState(const LayoutState& state) |
+void RenderView::checkLayoutState() |
{ |
if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) { |
ASSERT(layoutDeltaMatches(LayoutSize())); |
} |
ASSERT(!m_layoutStateDisableCount); |
- ASSERT(m_layoutState == &state); |
+ ASSERT(!m_layoutState->m_next); |
} |
#endif |
-void RenderView::initializeLayoutState(LayoutState& state) |
+void RootLayoutStateScope::initializeLayoutState() |
{ |
- state.m_clipped = false; |
- state.m_pageLogicalHeight = m_pageLogicalHeight; |
- state.m_pageLogicalHeightChanged = m_pageLogicalHeightChanged; |
- state.m_isPaginated = state.m_pageLogicalHeight; |
+ m_rootLayoutState.m_clipped = false; |
+ m_rootLayoutState.m_pageLogicalHeight = m_view.m_pageLogicalHeight; |
+ m_rootLayoutState.m_pageLogicalHeightChanged = m_view.m_pageLogicalHeightChanged; |
+ m_rootLayoutState.m_isPaginated = m_rootLayoutState.m_pageLogicalHeight; |
} |
void RenderView::layout() |
@@ -229,18 +229,15 @@ void RenderView::layout() |
if (!needsLayout()) |
return; |
- LayoutState state; |
- initializeLayoutState(state); |
+ RootLayoutStateScope rootLayoutStateScope(*this); |
m_pageLogicalHeightChanged = false; |
- m_layoutState = &state; |
- layoutContent(state); |
+ layoutContent(); |
#ifndef NDEBUG |
- checkLayoutState(state); |
+ checkLayoutState(); |
#endif |
- m_layoutState = 0; |
clearNeedsLayout(); |
} |