Index: Source/core/svg/SVGUseElement.cpp |
diff --git a/Source/core/svg/SVGUseElement.cpp b/Source/core/svg/SVGUseElement.cpp |
index 6f1810fc5577b20348396ba8b71d26a62a1ec722..d3457b28c89e52d015e49bf163a3cdde235cccdd 100644 |
--- a/Source/core/svg/SVGUseElement.cpp |
+++ b/Source/core/svg/SVGUseElement.cpp |
@@ -822,9 +822,9 @@ void SVGUseElement::invalidateShadowTree() |
void SVGUseElement::invalidateDependentShadowTrees() |
{ |
// Recursively invalidate dependent <use> shadow trees |
- const HashSet<SVGElement*>& instances = instancesForElement(); |
- const HashSet<SVGElement*>::const_iterator end = instances.end(); |
- for (HashSet<SVGElement*>::const_iterator it = instances.begin(); it != end; ++it) { |
+ const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >& instances = instancesForElement(); |
+ const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator end = instances.end(); |
+ for (WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator it = instances.begin(); it != end; ++it) { |
if (SVGUseElement* element = (*it)->correspondingUseElement()) { |
ASSERT(element->inDocument()); |
element->invalidateShadowTree(); |
@@ -926,4 +926,10 @@ void SVGUseElement::setDocumentResource(ResourcePtr<DocumentResource> resource) |
m_resource->addClient(this); |
} |
+void SVGUseElement::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_targetElementInstance); |
+ SVGGraphicsElement::trace(visitor); |
+} |
+ |
} |