void RenderLayerStackingNode::updateIsNormalFlowOnly() { bool isNormalFlowOnly = shouldBeNormalFlowOnly(); if (isNormalFlowOnly == this->isNormalFlowOnly()) return; m_isNormalFlowOnly = isNormalFlowOnly; if (RenderLayer* p = layer()->parent()) p->stackingNode()->dirtyNormalFlowList(); dirtyStackingContainerZOrderLists(); }
// FIXME: This should not require RenderLayer. There is currently a cycle where // in order to determine if we shoulBeNormalFlowOnly() we have to ask the render // layer about some of its state. RenderLayerStackingNode::RenderLayerStackingNode(RenderLayer* layer) : m_layer(layer) , m_normalFlowListDirty(true) #if ASSERT_ENABLED , m_layerListMutationAllowed(true) , m_stackingParent(0) #endif { m_isNormalFlowOnly = shouldBeNormalFlowOnly(); // Non-stacking contexts should have empty z-order lists. As this is already the case, // there is no need to dirty / recompute these lists. m_zOrderListsDirty = isStackingContext(); }
// FIXME: This should not require RenderLayer. There is currently a cycle where // in order to determine if we shoulBeNormalFlowOnly() and isStackingContainer() // we have to ask the render layer about some of its state. RenderLayerStackingNode::RenderLayerStackingNode(RenderLayer* layer) : m_layer(layer) , m_descendantsAreContiguousInStackingOrder(false) , m_descendantsAreContiguousInStackingOrderDirty(true) , m_normalFlowListDirty(true) , m_needsToBeStackingContainer(false) , m_needsToBeStackingContainerHasBeenRecorded(false) #if !ASSERT_DISABLED , m_layerListMutationAllowed(true) , m_stackingParent(0) #endif { m_isNormalFlowOnly = shouldBeNormalFlowOnly(); // Non-stacking containers should have empty z-order lists. As this is already the case, // there is no need to dirty / recompute these lists. m_zOrderListsDirty = isStackingContainer(); }