Index: third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h |
diff --git a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h |
index f7168c6f4fb87c6ce45f8b2fb67e5206de4bd1b7..2dde96e2320a5d114942539b862c74a066096891 100644 |
--- a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h |
+++ b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h |
@@ -35,6 +35,7 @@ class Document; |
class LayoutSVGResourceContainer; |
class SubtreeLayoutScope; |
class SVGSVGElement; |
+class SVGElement; |
class Element; |
class SVGDocumentExtensions : public NoBaseWillBeGarbageCollectedFinalized<SVGDocumentExtensions> { |
@@ -47,6 +48,9 @@ public: |
void addTimeContainer(SVGSVGElement*); |
void removeTimeContainer(SVGSVGElement*); |
+ // Records the SVG element as having a Web Animation on an SVG attribute that needs applying. |
+ void addWebAnimationsPendingSVGElement(SVGElement&); |
+ |
void addResource(const AtomicString& id, LayoutSVGResourceContainer*); |
void removeResource(const AtomicString& id); |
LayoutSVGResourceContainer* resourceById(const AtomicString& id) const; |
@@ -80,6 +84,8 @@ public: |
private: |
RawPtrWillBeMember<Document> m_document; |
WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement>> m_timeContainers; // For SVG 1.2 support this will need to be made more general. |
+ using SVGElementSet = WillBeHeapHashSet<RefPtrWillBeMember<SVGElement>>; |
+ SVGElementSet m_webAnimationsPendingSVGElements; |
HashMap<AtomicString, LayoutSVGResourceContainer*> m_resources; |
WillBeHeapHashMap<AtomicString, OwnPtrWillBeMember<SVGPendingElements>> m_pendingResources; // Resources that are pending. |
WillBeHeapHashMap<AtomicString, OwnPtrWillBeMember<SVGPendingElements>> m_pendingResourcesForRemoval; // Resources that are pending and scheduled for removal. |