void RenderNamedFlowFragment::layoutBlock(bool relayoutChildren, LayoutUnit) { StackStats::LayoutCheckPoint layoutCheckPoint; RenderRegion::layoutBlock(relayoutChildren); if (isValid()) { LayoutRect oldRegionRect(flowThreadPortionRect()); if (!isHorizontalWritingMode()) oldRegionRect = oldRegionRect.transposedRect(); if (m_flowThread->inOverflowLayoutPhase() || m_flowThread->inFinalLayoutPhase()) { computeOverflowFromFlowThread(); updateOversetState(); } if (hasAutoLogicalHeight() && m_flowThread->inMeasureContentLayoutPhase()) { m_flowThread->invalidateRegions(); clearComputedAutoHeight(); return; } if ((oldRegionRect.width() != pageLogicalWidth() || oldRegionRect.height() != pageLogicalHeight()) && !m_flowThread->inFinalLayoutPhase()) // This can happen even if we are in the inConstrainedLayoutPhase and it will trigger a pathological layout of the flow thread. m_flowThread->invalidateRegions(); } }
void RenderNamedFlowFragment::layoutBlock(bool relayoutChildren, LayoutUnit) { StackStats::LayoutCheckPoint layoutCheckPoint; RenderRegion::layoutBlock(relayoutChildren); if (isValid()) { if (m_flowThread->inOverflowLayoutPhase() || m_flowThread->inFinalLayoutPhase()) { computeOverflowFromFlowThread(); updateOversetState(); } if (hasAutoLogicalHeight() && m_flowThread->inMeasureContentLayoutPhase()) { m_flowThread->invalidateRegions(); clearComputedAutoHeight(); return; } } }