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

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

Issue 1420553004: SVG Web Animations: Add compositing pipeline for SVGInterpolationTypes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_svgValueInterpolationType
Patch Set: Fix oilpan and assert hit Created 5 years, 2 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: 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.

Powered by Google App Engine
This is Rietveld 408576698