RenderFlowThread::RenderFlowThread() : RenderBlockFlow(0) , m_regionsInvalidated(false) , m_regionsHaveUniformLogicalHeight(true) , m_pageLogicalSizeChanged(false) { setFlowThreadState(InsideOutOfFlowThread); }
RenderMultiColumnFlowThread::RenderMultiColumnFlowThread(Document& document, PassRef<RenderStyle> style) : RenderFlowThread(document, std::move(style)) , m_columnCount(1) , m_columnWidth(0) , m_columnHeightAvailable(0) , m_inBalancingPass(false) , m_needsRebalancing(false) { setFlowThreadState(InsideInFlowThread); }
// FIXME: RenderFlowThread should either be anonymous or be associated with some Element. // It should not be constructed as a renderer for the Document. RenderFlowThread::RenderFlowThread(Document* document) : RenderBlock(document) , m_autoLogicalHeightRegionsCount(0) , m_regionsInvalidated(false) , m_regionsHaveUniformLogicalWidth(true) , m_regionsHaveUniformLogicalHeight(true) , m_overset(true) , m_hasRegionsWithStyling(false) , m_dispatchRegionLayoutUpdateEvent(false) , m_pageLogicalSizeChanged(false) { ASSERT(document->cssRegionsEnabled()); setFlowThreadState(InsideOutOfFlowThread); }
RenderMultiColumnFlowThread::RenderMultiColumnFlowThread(Document& document, PassRef<RenderStyle> style) : RenderFlowThread(document, WTF::move(style)) , m_lastSetWorkedOn(nullptr) , m_columnCount(1) , m_columnWidth(0) , m_columnHeightAvailable(0) , m_inLayout(false) , m_inBalancingPass(false) , m_needsHeightsRecalculation(false) , m_progressionIsInline(false) , m_progressionIsReversed(false) , m_beingEvacuated(false) { setFlowThreadState(InsideInFlowThread); }
static void createTextRenderer(Text& textNode, RenderTreePosition& renderTreePosition) { ASSERT(!textNode.renderer()); auto newRenderer = textNode.createTextRenderer(renderTreePosition.parent().style()); ASSERT(newRenderer); renderTreePosition.computeNextSibling(textNode); if (!renderTreePosition.canInsert(*newRenderer)) return; // Make sure the RenderObject already knows it is going to be added to a RenderFlowThread before we set the style // for the first time. Otherwise code using inRenderFlowThread() in the styleWillChange and styleDidChange will fail. newRenderer->setFlowThreadState(renderTreePosition.parent().flowThreadState()); textNode.setRenderer(newRenderer.get()); renderTreePosition.insert(*newRenderer.leakPtr()); }
RenderMultiColumnFlowThread::RenderMultiColumnFlowThread(Document& document, PassRef<RenderStyle> style) : RenderFlowThread(document, std::move(style)) { setFlowThreadState(InsideInFlowThread); }