Chromium Code Reviews| 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; |
| + OwnPtrWillBeMember<ElementDependenciesMap> m_elementDependencies; |
| OwnPtr<SVGResourcesCache> m_resourcesCache; |
| + |
| + // FIXME: Oilpan: make below HeapHashSet<WeakMember<SVGSVGElement> > |
|
kouhei (in TOK)
2014/06/09 09:21:41
I'll move this in a separate CL.
|
| HashSet<SVGSVGElement*> m_relativeLengthSVGRoots; // Root SVG elements with relative length descendants. |
| FloatPoint m_translate; |
| #if !ASSERT_DISABLED |