Index: Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
diff --git a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
index 27d011d378f9d148f1bf176f1c719ea9074f6ce5..56b849e3b79b7ce2a6e1dfb482d33d4831e3aaf7 100644 |
--- a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
+++ b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
@@ -243,6 +243,7 @@ static inline void removeFromCacheAndInvalidateDependencies(LayoutObject* object |
if (!object->node() || !object->node()->isSVGElement()) |
return; |
+ |
SVGElementSet* dependencies = toSVGElement(object->node())->setOfIncomingReferences(); |
if (!dependencies) |
return; |
@@ -251,10 +252,9 @@ static inline void removeFromCacheAndInvalidateDependencies(LayoutObject* object |
// reference graph adjustments on changes, so we need to break possible cycles here. |
// This strong reference is safe, as it is guaranteed that this set will be emptied |
// at the end of recursion. |
- typedef WillBeHeapHashSet<RawPtrWillBeMember<SVGElement>> SVGElementSet; |
DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<SVGElementSet>, invalidatingDependencies, (adoptPtrWillBeNoop(new SVGElementSet))); |
- for (auto* element : *dependencies) { |
+ for (SVGElement* element : *dependencies) { |
if (LayoutObject* layoutObject = element->layoutObject()) { |
if (UNLIKELY(!invalidatingDependencies->add(element).isNewEntry)) { |
// Reference cycle: we are in process of invalidating this dependant. |