Index: Source/core/svg/SVGDocumentExtensions.h |
diff --git a/Source/core/svg/SVGDocumentExtensions.h b/Source/core/svg/SVGDocumentExtensions.h |
index 1ceb7ab3a494f38a1df08d364f82a5d0e12ebb9a..e3772c015978ea11b7d3d242a7d8cf7b9c4ccf95 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<RawPtrWillBeMember<SVGElement> > SVGElementSet; |
+ |
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; |
+ SVGElementSet* 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<RawPtrWillBeMember<SVGElement>, OwnPtrWillBeMember<SVGElementSet> > ElementDependenciesMap; |
+ OwnPtrWillBeMember<ElementDependenciesMap> m_elementDependencies; |
haraken
2014/06/10 08:48:19
I wonder why you need to make this an OwnPtrWillBe
kouhei (in TOK)
2014/06/10 08:58:59
Done.
|
OwnPtr<SVGResourcesCache> m_resourcesCache; |
+ |
+ // FIXME: Oilpan: make below HeapHashSet<WeakMember<SVGSVGElement> > |
haraken
2014/06/10 08:48:19
I don't fully understand why this needs to be weak
kouhei (in TOK)
2014/06/10 08:58:59
This change was made in https://codereview.chromiu
|
HashSet<SVGSVGElement*> m_relativeLengthSVGRoots; // Root SVG elements with relative length descendants. |
FloatPoint m_translate; |
#if !ASSERT_DISABLED |