summaryrefslogtreecommitdiff
path: root/Source/WebCore/svg/SVGDocumentExtensions.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/svg/SVGDocumentExtensions.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/svg/SVGDocumentExtensions.h')
-rw-r--r--Source/WebCore/svg/SVGDocumentExtensions.h26
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