void SVGFilterBuilder::appendEffectToEffectReferences(PassRefPtr<FilterEffect> prpEffect, RenderObject* object) { RefPtr<FilterEffect> effect = prpEffect; // The effect must be a newly created filter effect. ASSERT(!m_effectReferences.contains(effect)); ASSERT(object && !m_effectRenderer.contains(object)); m_effectReferences.add(effect, FilterEffectSet()); unsigned numberOfInputEffects = effect->inputEffects().size(); // It is not possible to add the same value to a set twice. for (unsigned i = 0; i < numberOfInputEffects; ++i) effectReferences(effect->inputEffect(i)).add(effect.get()); m_effectRenderer.add(object, effect.get()); }
void SVGFilterBuilder::appendEffectToEffectReferences(RefPtr<FilterEffect>&& effect, RenderObject* object) { // The effect must be a newly created filter effect. ASSERT(!m_effectReferences.contains(effect)); ASSERT(!object || !m_effectRenderer.contains(object)); m_effectReferences.add(effect, FilterEffectSet()); unsigned numberOfInputEffects = effect->inputEffects().size(); // It is not possible to add the same value to a set twice. for (unsigned i = 0; i < numberOfInputEffects; ++i) effectReferences(effect->inputEffect(i)).add(effect.get()); // If object is null, that means the element isn't attached for some // reason, which in turn mean that certain types of invalidation will not // work (the LayoutObject -> FilterEffect mapping will not be defined). if (object) m_effectRenderer.add(object, effect.get()); }