| Index: Source/core/rendering/RenderView.cpp
|
| diff --git a/Source/core/rendering/RenderView.cpp b/Source/core/rendering/RenderView.cpp
|
| index 766ec5282298f141e7ac050277e6ab11ef6ad78d..7015c1ef43507f3b1f272f85dad34df1d075bfda 100644
|
| --- a/Source/core/rendering/RenderView.cpp
|
| +++ b/Source/core/rendering/RenderView.cpp
|
| @@ -57,7 +57,6 @@ RenderView::RenderView(Document* document)
|
| , m_pageLogicalHeight(0)
|
| , m_pageLogicalHeightChanged(false)
|
| , m_layoutState(0)
|
| - , m_layoutStateDisableCount(0)
|
| , m_renderQuoteHead(0)
|
| , m_renderCounterCount(0)
|
| {
|
| @@ -183,7 +182,6 @@ void RenderView::checkLayoutState()
|
| if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) {
|
| ASSERT(layoutDeltaMatches(LayoutSize()));
|
| }
|
| - ASSERT(!m_layoutStateDisableCount);
|
| ASSERT(!m_layoutState->next());
|
| }
|
| #endif
|
| @@ -252,7 +250,7 @@ void RenderView::layout()
|
| if (!needsLayout())
|
| return;
|
|
|
| - RootLayoutStateScope rootLayoutStateScope(*this);
|
| + LayoutState rootLayoutState(pageLogicalHeight(), pageLogicalHeightChanged(), *this);
|
|
|
| m_pageLogicalHeightChanged = false;
|
|
|
| @@ -458,6 +456,7 @@ void RenderView::invalidateTreeAfterLayout(const RenderLayerModelObject& paintIn
|
| if (doingFullRepaint() && !viewRect().isEmpty())
|
| repaintViewRectangle(viewRect());
|
|
|
| + LayoutState rootLayoutState(0, false, *this);
|
| RenderBlock::invalidateTreeAfterLayout(paintInvalidationContainer);
|
| }
|
|
|
| @@ -907,26 +906,6 @@ float RenderView::zoomFactor() const
|
| return m_frameView->frame().pageZoomFactor();
|
| }
|
|
|
| -void RenderView::pushLayoutState(RenderObject& root)
|
| -{
|
| - ASSERT(m_layoutStateDisableCount == 0);
|
| - ASSERT(m_layoutState == 0);
|
| -
|
| - pushLayoutStateForCurrentFlowThread(root);
|
| - m_layoutState = new LayoutState(root);
|
| -}
|
| -
|
| -bool RenderView::shouldDisableLayoutStateForSubtree(RenderObject& renderer) const
|
| -{
|
| - RenderObject* o = &renderer;
|
| - while (o) {
|
| - if (o->shouldDisableLayoutState())
|
| - return true;
|
| - o = o->container();
|
| - }
|
| - return false;
|
| -}
|
| -
|
| void RenderView::updateHitTestResult(HitTestResult& result, const LayoutPoint& point)
|
| {
|
| if (result.innerNode())
|
| @@ -972,8 +951,9 @@ FlowThreadController* RenderView::flowThreadController()
|
| return m_flowThreadController.get();
|
| }
|
|
|
| -void RenderView::pushLayoutStateForCurrentFlowThread(const RenderObject& object)
|
| +void RenderView::pushLayoutState(LayoutState& layoutState)
|
| {
|
| + m_layoutState = &layoutState;
|
| if (!m_flowThreadController)
|
| return;
|
|
|
| @@ -981,11 +961,13 @@ void RenderView::pushLayoutStateForCurrentFlowThread(const RenderObject& object)
|
| if (!currentFlowThread)
|
| return;
|
|
|
| - currentFlowThread->pushFlowThreadLayoutState(object);
|
| + currentFlowThread->pushFlowThreadLayoutState(layoutState.renderer());
|
| }
|
|
|
| -void RenderView::popLayoutStateForCurrentFlowThread()
|
| +void RenderView::popLayoutState()
|
| {
|
| + ASSERT(m_layoutState);
|
| + m_layoutState = m_layoutState->next();
|
| if (!m_flowThreadController)
|
| return;
|
|
|
|
|