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

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

Issue 2401343002: Tracking filter mutation via SVGElementProxy (Closed)
Patch Set: referenceChanged -> proxiedElementChanged Created 4 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 9896b0044f41f211f504e82b61cc604edec86a2f..4fa2a7f7b36424666bd0e4d3467708262232a26d 100644
--- a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h
+++ b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h
@@ -32,11 +32,13 @@
namespace blink {
class Document;
+class Element;
class LayoutSVGResourceContainer;
-class SubtreeLayoutScope;
-class SVGSVGElement;
class SVGElement;
-class Element;
+class SVGElementProxy;
+class SVGElementProxySet;
+class SVGSVGElement;
+class SubtreeLayoutScope;
class SVGDocumentExtensions
: public GarbageCollectedFinalized<SVGDocumentExtensions> {
@@ -85,13 +87,13 @@ class SVGDocumentExtensions
private:
Member<Document> m_document;
- // For SVG 1.2 support this will need to be made more general.
HeapHashSet<Member<SVGSVGElement>> m_timeContainers;
using SVGElementSet = HeapHashSet<Member<SVGElement>>;
SVGElementSet m_webAnimationsPendingSVGElements;
HashMap<AtomicString, LayoutSVGResourceContainer*> m_resources;
// Resources that are pending.
HeapHashMap<AtomicString, Member<SVGPendingElements>> m_pendingResources;
+ HeapHashMap<AtomicString, Member<SVGElementProxySet>> m_pendingProxies;
// Resources that are pending and scheduled for removal.
HeapHashMap<AtomicString, Member<SVGPendingElements>>
m_pendingResourcesForRemoval;
@@ -115,6 +117,8 @@ class SVGDocumentExtensions
void clearHasPendingResourcesIfPossible(Element*);
void removeElementFromPendingResources(Element*);
SVGPendingElements* removePendingResource(const AtomicString& id);
+ void attachPendingProxy(SVGElementProxy&);
+ void invalidatePendingProxies(const AtomicString& id);
void serviceAnimations();

Powered by Google App Engine
This is Rietveld 408576698