Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: Source/core/svg/SVGDocumentExtensions.h

Issue 327473002: Prepare SVGDocumentExtensions::m_elementDependencies for oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add comment about rebuild Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698