OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006 Apple Inc. All rights reserved. |
3 * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 23 matching lines...) Expand all Loading... |
34 class RenderSVGResourceContainer; | 34 class RenderSVGResourceContainer; |
35 class SubtreeLayoutScope; | 35 class SubtreeLayoutScope; |
36 class SVGElement; | 36 class SVGElement; |
37 #if ENABLE(SVG_FONTS) | 37 #if ENABLE(SVG_FONTS) |
38 class SVGFontFaceElement; | 38 class SVGFontFaceElement; |
39 #endif | 39 #endif |
40 class SVGResourcesCache; | 40 class SVGResourcesCache; |
41 class SVGSVGElement; | 41 class SVGSVGElement; |
42 class Element; | 42 class Element; |
43 | 43 |
44 typedef WillBeHeapHashSet<RawPtrWillBeMember<SVGElement> > SVGElementSet; | |
45 | |
46 class SVGDocumentExtensions : public NoBaseWillBeGarbageCollectedFinalized<SVGDo
cumentExtensions> { | 44 class SVGDocumentExtensions : public NoBaseWillBeGarbageCollectedFinalized<SVGDo
cumentExtensions> { |
47 WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); WTF_MAKE_FAST_ALLOCATED_WILL_BE
_REMOVED; | 45 WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); WTF_MAKE_FAST_ALLOCATED_WILL_BE
_REMOVED; |
48 public: | 46 public: |
49 typedef HashSet<Element*> SVGPendingElements; | 47 typedef HashSet<Element*> SVGPendingElements; |
50 explicit SVGDocumentExtensions(Document*); | 48 explicit SVGDocumentExtensions(Document*); |
51 ~SVGDocumentExtensions(); | 49 ~SVGDocumentExtensions(); |
52 | 50 |
53 void addTimeContainer(SVGSVGElement*); | 51 void addTimeContainer(SVGSVGElement*); |
54 void removeTimeContainer(SVGSVGElement*); | 52 void removeTimeContainer(SVGSVGElement*); |
55 | 53 |
56 void addResource(const AtomicString& id, RenderSVGResourceContainer*); | 54 void addResource(const AtomicString& id, RenderSVGResourceContainer*); |
57 void removeResource(const AtomicString& id); | 55 void removeResource(const AtomicString& id); |
58 RenderSVGResourceContainer* resourceById(const AtomicString& id) const; | 56 RenderSVGResourceContainer* resourceById(const AtomicString& id) const; |
59 | 57 |
60 static void serviceOnAnimationFrame(Document&, double monotonicAnimationStar
tTime); | 58 static void serviceOnAnimationFrame(Document&, double monotonicAnimationStar
tTime); |
61 | 59 |
62 void startAnimations(); | 60 void startAnimations(); |
63 void pauseAnimations(); | 61 void pauseAnimations(); |
64 void dispatchSVGLoadEventToOutermostSVGElements(); | 62 void dispatchSVGLoadEventToOutermostSVGElements(); |
65 | 63 |
66 void reportWarning(const String&); | 64 void reportWarning(const String&); |
67 void reportError(const String&); | 65 void reportError(const String&); |
68 | 66 |
69 SVGResourcesCache* resourcesCache() const { return m_resourcesCache.get(); } | 67 SVGResourcesCache* resourcesCache() const { return m_resourcesCache.get(); } |
70 | 68 |
71 SVGElementSet* setOfElementsReferencingTarget(SVGElement* referencedElement)
const; | |
72 void addElementReferencingTarget(SVGElement* referencingElement, SVGElement*
referencedElement); | |
73 void removeAllTargetReferencesForElement(SVGElement*); | |
74 void rebuildAllElementReferencesForTarget(SVGElement*); | |
75 void removeAllElementReferencesForTarget(SVGElement*); | |
76 | |
77 void addSVGRootWithRelativeLengthDescendents(SVGSVGElement*); | 69 void addSVGRootWithRelativeLengthDescendents(SVGSVGElement*); |
78 void removeSVGRootWithRelativeLengthDescendents(SVGSVGElement*); | 70 void removeSVGRootWithRelativeLengthDescendents(SVGSVGElement*); |
79 bool isSVGRootWithRelativeLengthDescendents(SVGSVGElement*) const; | 71 bool isSVGRootWithRelativeLengthDescendents(SVGSVGElement*) const; |
80 void invalidateSVGRootsWithRelativeLengthDescendents(SubtreeLayoutScope*); | 72 void invalidateSVGRootsWithRelativeLengthDescendents(SubtreeLayoutScope*); |
81 | 73 |
82 #if ENABLE(SVG_FONTS) | 74 #if ENABLE(SVG_FONTS) |
83 const WillBeHeapHashSet<RawPtrWillBeMember<SVGFontFaceElement> >& svgFontFac
eElements() const { return m_svgFontFaceElements; } | 75 const WillBeHeapHashSet<RawPtrWillBeMember<SVGFontFaceElement> >& svgFontFac
eElements() const { return m_svgFontFaceElements; } |
84 void registerSVGFontFaceElement(SVGFontFaceElement*); | 76 void registerSVGFontFaceElement(SVGFontFaceElement*); |
85 void unregisterSVGFontFaceElement(SVGFontFaceElement*); | 77 void unregisterSVGFontFaceElement(SVGFontFaceElement*); |
86 | 78 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 void markPendingResourcesForRemoval(const AtomicString&); | 126 void markPendingResourcesForRemoval(const AtomicString&); |
135 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&); | 127 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&); |
136 | 128 |
137 private: | 129 private: |
138 PassOwnPtr<SVGPendingElements> removePendingResourceForRemoval(const AtomicS
tring&); | 130 PassOwnPtr<SVGPendingElements> removePendingResourceForRemoval(const AtomicS
tring&); |
139 }; | 131 }; |
140 | 132 |
141 } | 133 } |
142 | 134 |
143 #endif | 135 #endif |
OLD | NEW |