Index: Source/core/svg/SVGDocumentExtensions.h |
diff --git a/Source/core/svg/SVGDocumentExtensions.h b/Source/core/svg/SVGDocumentExtensions.h |
index 1ceb7ab3a494f38a1df08d364f82a5d0e12ebb9a..5dac842d1b00b776973cc1a94b69ddc7f5788716 100644 |
--- a/Source/core/svg/SVGDocumentExtensions.h |
+++ b/Source/core/svg/SVGDocumentExtensions.h |
@@ -42,6 +42,8 @@ class SVGSMILElement; |
class SVGSVGElement; |
class Element; |
+typedef WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> > WeakSVGElementSet; |
+ |
class SVGDocumentExtensions : public NoBaseWillBeGarbageCollectedFinalized<SVGDocumentExtensions> { |
WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
public: |
@@ -67,7 +69,7 @@ public: |
SVGResourcesCache* resourcesCache() const { return m_resourcesCache.get(); } |
- HashSet<SVGElement*>* setOfElementsReferencingTarget(SVGElement* referencedElement) const; |
+ WeakSVGElementSet* setOfElementsReferencingTarget(SVGElement* referencedElement) const; |
void addElementReferencingTarget(SVGElement* referencingElement, SVGElement* referencedElement); |
void removeAllTargetReferencesForElement(SVGElement*); |
void rebuildAllElementReferencesForTarget(SVGElement*); |
@@ -98,7 +100,7 @@ public: |
void trace(Visitor*); |
private: |
- Document* m_document; // weak reference |
+ RawPtrWillBeMember<Document> m_document; |
WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement> > m_timeContainers; // For SVG 1.2 support this will need to be made more general. |
#if ENABLE(SVG_FONTS) |
WillBeHeapHashSet<RawPtrWillBeMember<SVGFontFaceElement> > m_svgFontFaceElements; |
@@ -108,8 +110,11 @@ private: |
HashMap<AtomicString, RenderSVGResourceContainer*> m_resources; |
HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResources; // Resources that are pending. |
HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResourcesForRemoval; // Resources that are pending and scheduled for removal. |
- HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > m_elementDependencies; |
+ typedef WillBeHeapHashMap<RawPtrWillBeWeakMember<SVGElement>, OwnPtrWillBeMember<WeakSVGElementSet> > ElementDependenciesMap; |
haraken
2014/06/09 09:33:58
Erik: If the WeakSVGElementSet becomes empty, will
|
+ OwnPtrWillBeMember<ElementDependenciesMap> m_elementDependencies; |
OwnPtr<SVGResourcesCache> m_resourcesCache; |
+ |
+ // FIXME: Oilpan: make below HeapHashSet<WeakMember<SVGSVGElement> > |
HashSet<SVGSVGElement*> m_relativeLengthSVGRoots; // Root SVG elements with relative length descendants. |
FloatPoint m_translate; |
#if !ASSERT_DISABLED |