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

Side by Side Diff: Source/core/svg/SVGDocumentExtensions.h

Issue 344883007: SVG: Move/rename reference management to SVGElement (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove sed script from CL Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/svg/SVGAnimateElement.cpp ('k') | Source/core/svg/SVGDocumentExtensions.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « Source/core/svg/SVGAnimateElement.cpp ('k') | Source/core/svg/SVGDocumentExtensions.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698