Ejemplo n.º 1
0
void RenderGeometryMap::popMappingsToAncestor(const RenderLayerModelObject* ancestorRenderer)
{
    ASSERT(m_mapping.size());

    while (m_mapping.size() && m_mapping.last().m_renderer != ancestorRenderer) {
        stepRemoved(m_mapping.last());
        m_mapping.removeLast();
    }
}
Ejemplo n.º 2
0
void LayoutGeometryMap::popMappingsToAncestor(const LayoutBoxModelObject* ancestorLayoutObject)
{
    ASSERT(m_mapping.size());

    while (m_mapping.size() && m_mapping.last().m_layoutObject != ancestorLayoutObject) {
        stepRemoved(m_mapping.last());
        m_mapping.removeLast();
    }
}
Ejemplo n.º 3
0
void LayoutGeometryMap::popMappingsToAncestor(const LayoutBoxModelObject* ancestorLayoutObject)
{
    ASSERT(m_mapping.size());

    bool mightBeSaturated = false;
    while (m_mapping.size() && m_mapping.last().m_layoutObject != ancestorLayoutObject) {
        mightBeSaturated = mightBeSaturated || m_accumulatedOffset.width().mightBeSaturated();
        mightBeSaturated = mightBeSaturated || m_accumulatedOffset.height().mightBeSaturated();
        stepRemoved(m_mapping.last());
        m_mapping.removeLast();
    }
    if (UNLIKELY(mightBeSaturated)) {
        m_accumulatedOffset = LayoutSize();
        for (const auto& step : m_mapping)
            m_accumulatedOffset += step.m_offset;
    }
}