void RenderFlowThread::resetRegionsOverrideLogicalContentHeight() { ASSERT(view()->layoutState()); ASSERT(view()->normalLayoutPhase()); // We need to reset the override logical content height for regions with auto logical height // only if the flow thread content needs layout. if (!needsLayout()) return; // FIXME: optimize this to iterate the region chain only if the flow thread has auto logical height // region. for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { RenderRegion* region = *iter; if (!region->hasAutoLogicalHeight()) continue; region->clearOverrideLogicalContentHeight(); // FIXME: We need to find a way to avoid marking all the regions ancestors for layout // as we are already inside layout. region->setNeedsLayout(true); } // Make sure we don't skip any region breaks when we do the layout again. // Using m_regionsInvalidated to force all the RenderFlowThread children do the layout again. m_regionsInvalidated = true; }
void RenderFlowThread::markAutoLogicalHeightRegionsForLayout() { ASSERT(view()->layoutState()); ASSERT(view()->constrainedFlowThreadsLayoutPhase()); if (!hasAutoLogicalHeightRegions()) return; for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { RenderRegion* region = *iter; if (!region->hasAutoLogicalHeight()) continue; // FIXME: We need to find a way to avoid marking all the regions ancestors for layout // as we are already inside layout. region->setNeedsLayout(true); } invalidateRegions(); }
void RenderFlowThread::markAutoLogicalHeightRegionsForLayout() { ASSERT(view()->layoutState()); ASSERT(view()->constrainedFlowThreadsLayoutPhase()); // FIXME: optimize this to iterate the region chain only if the flow thread has auto logical height // region. for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { RenderRegion* region = *iter; if (!region->hasAutoLogicalHeight()) continue; // FIXME: We need to find a way to avoid marking all the regions ancestors for layout // as we are already inside layout. region->setNeedsLayout(true); } m_regionsInvalidated = true; setNeedsLayout(true); }
void RenderFlowThread::resetRegionsOverrideLogicalContentHeight() { ASSERT(view()->layoutState()); ASSERT(view()->normalLayoutPhase()); if (!hasAutoLogicalHeightRegions()) return; for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { RenderRegion* region = *iter; if (!region->hasAutoLogicalHeight()) continue; region->clearOverrideLogicalContentHeight(); // FIXME: We need to find a way to avoid marking all the regions ancestors for layout // as we are already inside layout. region->setNeedsLayout(true); } // Make sure we don't skip any region breaks when we do the layout again. // Using m_regionsInvalidated to force all the RenderFlowThread children do the layout again. invalidateRegions(); }