示例#1
0
void RenderView::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
{
    RenderBlock::styleDidChange(diff, oldStyle);
    
    for (RenderObject* renderer = firstChild(); renderer; renderer = renderer->nextSibling()) {
        if (renderer->isRenderFlowThread()) {
            RenderFlowThread* flowRenderer = toRenderFlowThread(renderer);
            flowRenderer->setStyle(RenderFlowThread::createFlowThreadStyle(style()));
        }
    }
}
示例#2
0
RenderFlowThread* RenderView::renderFlowThreadWithName(const AtomicString& flowThread)
{
    if (!m_renderFlowThreadList)
        m_renderFlowThreadList = adoptPtr(new RenderFlowThreadList());
    else {
        for (RenderFlowThreadList::iterator iter = m_renderFlowThreadList->begin(); iter != m_renderFlowThreadList->end(); ++iter) {
            RenderFlowThread* flowRenderer = *iter;
            if (flowRenderer->flowThread() == flowThread)
                return flowRenderer;
        }
    }

    RenderFlowThread* flowRenderer = new (renderArena()) RenderFlowThread(document(), flowThread);
    flowRenderer->setStyle(RenderFlowThread::createFlowThreadStyle(style()));
    addChild(flowRenderer);
    
    m_renderFlowThreadList->add(flowRenderer);
    setIsRenderFlowThreadOrderDirty(true);

    return flowRenderer;
}