diff options
Diffstat (limited to 'Source/WebCore/svg/SVGDocumentExtensions.h')
-rw-r--r-- | Source/WebCore/svg/SVGDocumentExtensions.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/Source/WebCore/svg/SVGDocumentExtensions.h b/Source/WebCore/svg/SVGDocumentExtensions.h index 460b14570..058f20da7 100644 --- a/Source/WebCore/svg/SVGDocumentExtensions.h +++ b/Source/WebCore/svg/SVGDocumentExtensions.h @@ -18,10 +18,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef SVGDocumentExtensions_h -#define SVGDocumentExtensions_h +#pragma once -#if ENABLE(SVG) #include <wtf/Forward.h> #include <wtf/HashMap.h> #include <wtf/HashSet.h> @@ -30,21 +28,19 @@ namespace WebCore { class Document; +class Element; class RenderSVGResourceContainer; class SVGElement; -#if ENABLE(SVG_FONTS) class SVGFontFaceElement; -#endif class SVGResourcesCache; class SVGSMILElement; class SVGSVGElement; -class Element; class SVGDocumentExtensions { WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); WTF_MAKE_FAST_ALLOCATED; public: typedef HashSet<Element*> PendingElements; - SVGDocumentExtensions(Document*); + explicit SVGDocumentExtensions(Document*); ~SVGDocumentExtensions(); void addTimeContainer(SVGSVGElement*); @@ -58,18 +54,22 @@ public: void pauseAnimations(); void unpauseAnimations(); void dispatchSVGLoadEventToOutermostSVGElements(); + bool areAnimationsPaused() const { return m_areAnimationsPaused; } void reportWarning(const String&); void reportError(const String&); - SVGResourcesCache* resourcesCache() const { return m_resourcesCache.get(); } + SVGResourcesCache& resourcesCache() { return *m_resourcesCache; } HashSet<SVGElement*>* setOfElementsReferencingTarget(SVGElement* referencedElement) const; void addElementReferencingTarget(SVGElement* referencingElement, SVGElement* referencedElement); void removeAllTargetReferencesForElement(SVGElement*); - void rebuildAllElementReferencesForTarget(SVGElement*); + void rebuildAllElementReferencesForTarget(SVGElement&); void removeAllElementReferencesForTarget(SVGElement*); + void clearTargetDependencies(SVGElement&); + void rebuildElements(); + #if ENABLE(SVG_FONTS) const HashSet<SVGFontFaceElement*>& svgFontFaceElements() const { return m_svgFontFaceElements; } void registerSVGFontFaceElement(SVGFontFaceElement*); @@ -88,6 +88,9 @@ private: HashMap<SVGElement*, std::unique_ptr<HashSet<SVGElement*>>> m_elementDependencies; std::unique_ptr<SVGResourcesCache> m_resourcesCache; + Vector<SVGElement*> m_rebuildElements; + bool m_areAnimationsPaused { false }; // For testing. + public: // This HashMap contains a list of pending resources. Pending resources, are such // which are referenced by any object in the SVG document, but do NOT exist yet. @@ -108,7 +111,4 @@ private: std::unique_ptr<PendingElements> removePendingResourceForRemoval(const AtomicString&); }; -} - -#endif -#endif +} // namespace WebCore |