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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
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 20 matching lines...) Expand all
31 31
32 namespace blink { 32 namespace blink {
33 33
34 class Document; 34 class Document;
35 class LayoutSVGResourceContainer; 35 class LayoutSVGResourceContainer;
36 class SubtreeLayoutScope; 36 class SubtreeLayoutScope;
37 class SVGSVGElement; 37 class SVGSVGElement;
38 class SVGElement; 38 class SVGElement;
39 class Element; 39 class Element;
40 40
41 class SVGDocumentExtensions : public NoBaseWillBeGarbageCollectedFinalized<SVGDo cumentExtensions> { 41 class SVGDocumentExtensions : public GarbageCollectedFinalized<SVGDocumentExtens ions> {
42 WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); USING_FAST_MALLOC_WILL_BE_REMOV ED(SVGDocumentExtensions); 42 WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions);
43 public: 43 public:
44 typedef WillBeHeapHashSet<RawPtrWillBeMember<Element>> SVGPendingElements; 44 typedef HeapHashSet<Member<Element>> SVGPendingElements;
45 explicit SVGDocumentExtensions(Document*); 45 explicit SVGDocumentExtensions(Document*);
46 ~SVGDocumentExtensions(); 46 ~SVGDocumentExtensions();
47 47
48 void addTimeContainer(SVGSVGElement*); 48 void addTimeContainer(SVGSVGElement*);
49 void removeTimeContainer(SVGSVGElement*); 49 void removeTimeContainer(SVGSVGElement*);
50 50
51 // Records the SVG element as having a Web Animation on an SVG attribute tha t needs applying. 51 // Records the SVG element as having a Web Animation on an SVG attribute tha t needs applying.
52 void addWebAnimationsPendingSVGElement(SVGElement&); 52 void addWebAnimationsPendingSVGElement(SVGElement&);
53 53
54 void addResource(const AtomicString& id, LayoutSVGResourceContainer*); 54 void addResource(const AtomicString& id, LayoutSVGResourceContainer*);
(...skipping 19 matching lines...) Expand all
74 74
75 void startPan(const FloatPoint& start); 75 void startPan(const FloatPoint& start);
76 void updatePan(const FloatPoint& pos) const; 76 void updatePan(const FloatPoint& pos) const;
77 77
78 static SVGSVGElement* rootElement(const Document&); 78 static SVGSVGElement* rootElement(const Document&);
79 SVGSVGElement* rootElement() const; 79 SVGSVGElement* rootElement() const;
80 80
81 DECLARE_TRACE(); 81 DECLARE_TRACE();
82 82
83 private: 83 private:
84 RawPtrWillBeMember<Document> m_document; 84 Member<Document> m_document;
85 WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement>> m_timeContainers; // Fo r SVG 1.2 support this will need to be made more general. 85 HeapHashSet<Member<SVGSVGElement>> m_timeContainers; // For SVG 1.2 support this will need to be made more general.
86 using SVGElementSet = WillBeHeapHashSet<RefPtrWillBeMember<SVGElement>>; 86 using SVGElementSet = HeapHashSet<Member<SVGElement>>;
87 SVGElementSet m_webAnimationsPendingSVGElements; 87 SVGElementSet m_webAnimationsPendingSVGElements;
88 HashMap<AtomicString, LayoutSVGResourceContainer*> m_resources; 88 HashMap<AtomicString, LayoutSVGResourceContainer*> m_resources;
89 WillBeHeapHashMap<AtomicString, OwnPtrWillBeMember<SVGPendingElements>> m_pe ndingResources; // Resources that are pending. 89 HeapHashMap<AtomicString, Member<SVGPendingElements>> m_pendingResources; // Resources that are pending.
90 WillBeHeapHashMap<AtomicString, OwnPtrWillBeMember<SVGPendingElements>> m_pe ndingResourcesForRemoval; // Resources that are pending and scheduled for remova l. 90 HeapHashMap<AtomicString, Member<SVGPendingElements>> m_pendingResourcesForR emoval; // Resources that are pending and scheduled for removal.
91 SVGResourcesCache m_resourcesCache; 91 SVGResourcesCache m_resourcesCache;
92 WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement>> m_relativeLengthSVGRoot s; // Root SVG elements with relative length descendants. 92 HeapHashSet<Member<SVGSVGElement>> m_relativeLengthSVGRoots; // Root SVG ele ments with relative length descendants.
93 FloatPoint m_translate; 93 FloatPoint m_translate;
94 #if ENABLE(ASSERT) 94 #if ENABLE(ASSERT)
95 bool m_inRelativeLengthSVGRootsInvalidation; 95 bool m_inRelativeLengthSVGRootsInvalidation;
96 #endif 96 #endif
97 97
98 public: 98 public:
99 // This HashMap contains a list of pending resources. Pending resources, are such 99 // This HashMap contains a list of pending resources. Pending resources, are such
100 // which are referenced by any object in the SVG document, but do NOT exist yet. 100 // which are referenced by any object in the SVG document, but do NOT exist yet.
101 // For instance, dynamically build gradients / patterns / clippers... 101 // For instance, dynamically build gradients / patterns / clippers...
102 void addPendingResource(const AtomicString& id, Element*); 102 void addPendingResource(const AtomicString& id, Element*);
103 bool hasPendingResource(const AtomicString& id) const; 103 bool hasPendingResource(const AtomicString& id) const;
104 bool isElementPendingResources(Element*) const; 104 bool isElementPendingResources(Element*) const;
105 bool isElementPendingResource(Element*, const AtomicString& id) const; 105 bool isElementPendingResource(Element*, const AtomicString& id) const;
106 void clearHasPendingResourcesIfPossible(Element*); 106 void clearHasPendingResourcesIfPossible(Element*);
107 void removeElementFromPendingResources(Element*); 107 void removeElementFromPendingResources(Element*);
108 PassOwnPtrWillBeRawPtr<SVGPendingElements> removePendingResource(const Atomi cString& id); 108 RawPtr<SVGPendingElements> removePendingResource(const AtomicString& id);
109 109
110 void serviceAnimations(double monotonicAnimationStartTime); 110 void serviceAnimations(double monotonicAnimationStartTime);
111 111
112 // The following two functions are used for scheduling a pending resource to be removed. 112 // The following two functions are used for scheduling a pending resource to be removed.
113 void markPendingResourcesForRemoval(const AtomicString&); 113 void markPendingResourcesForRemoval(const AtomicString&);
114 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&); 114 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&);
115 115
116 private: 116 private:
117 PassOwnPtrWillBeRawPtr<SVGPendingElements> removePendingResourceForRemoval(c onst AtomicString&); 117 RawPtr<SVGPendingElements> removePendingResourceForRemoval(const AtomicStrin g&);
118 }; 118 };
119 119
120 } // namespace blink 120 } // namespace blink
121 121
122 #endif 122 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGCursorElement.h ('k') | third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698