void SVGUseElement::invalidateDependentShadowTrees() { // Recursively invalidate dependent <use> shadow trees const HashSet<SVGElementInstance*>& instances = instancesForElement(); const HashSet<SVGElementInstance*>::const_iterator end = instances.end(); for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) { if (SVGUseElement* element = (*it)->correspondingUseElement()) { ASSERT(element->inDocument()); element->invalidateShadowTree(); } } }
void SVGUseElement::invalidateDependentShadowTrees() { // Recursively invalidate dependent <use> shadow trees const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>>& rawInstances = instancesForElement(); WillBeHeapVector<RefPtrWillBeMember<SVGElement>> instances; instances.appendRange(rawInstances.begin(), rawInstances.end()); for (auto& instance : instances) { if (RefPtrWillBeRawPtr<SVGUseElement> element = instance->correspondingUseElement()) { ASSERT(element->inDocument()); element->invalidateShadowTree(); } } }