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

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

Issue 2484153003: Use an SVGElementProxy in ReferenceClipPathOperation (Closed)
Patch Set: Rebase; fix comments; findElement Created 4 years, 1 month 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) Research In Motion Limited 2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 13 matching lines...) Expand all
24 #include "platform/heap/Handle.h" 24 #include "platform/heap/Handle.h"
25 #include "platform/transforms/AffineTransform.h" 25 #include "platform/transforms/AffineTransform.h"
26 #include "wtf/HashSet.h" 26 #include "wtf/HashSet.h"
27 #include "wtf/Noncopyable.h" 27 #include "wtf/Noncopyable.h"
28 #include "wtf/StdLibExtras.h" 28 #include "wtf/StdLibExtras.h"
29 29
30 namespace blink { 30 namespace blink {
31 31
32 class CSSCursorImageValue; 32 class CSSCursorImageValue;
33 class SVGCursorElement; 33 class SVGCursorElement;
34 class SVGElementProxySet;
34 35
35 class SVGElementRareData 36 class SVGElementRareData
36 : public GarbageCollectedFinalized<SVGElementRareData> { 37 : public GarbageCollectedFinalized<SVGElementRareData> {
37 WTF_MAKE_NONCOPYABLE(SVGElementRareData); 38 WTF_MAKE_NONCOPYABLE(SVGElementRareData);
38 39
39 public: 40 public:
40 SVGElementRareData(SVGElement* owner) 41 SVGElementRareData(SVGElement* owner)
41 : m_owner(owner), 42 : m_owner(owner),
42 m_cursorElement(nullptr), 43 m_cursorElement(nullptr),
43 m_cursorImageValue(nullptr), 44 m_cursorImageValue(nullptr),
44 m_correspondingElement(nullptr), 45 m_correspondingElement(nullptr),
45 m_instancesUpdatesBlocked(false), 46 m_instancesUpdatesBlocked(false),
46 m_useOverrideComputedStyle(false), 47 m_useOverrideComputedStyle(false),
47 m_needsOverrideComputedStyleUpdate(false), 48 m_needsOverrideComputedStyleUpdate(false),
48 m_webAnimatedAttributesDirty(false) {} 49 m_webAnimatedAttributesDirty(false) {}
49 50
50 SVGElementSet& outgoingReferences() { return m_outgoingReferences; } 51 SVGElementSet& outgoingReferences() { return m_outgoingReferences; }
51 const SVGElementSet& outgoingReferences() const { 52 const SVGElementSet& outgoingReferences() const {
52 return m_outgoingReferences; 53 return m_outgoingReferences;
53 } 54 }
54 SVGElementSet& incomingReferences() { return m_incomingReferences; } 55 SVGElementSet& incomingReferences() { return m_incomingReferences; }
55 const SVGElementSet& incomingReferences() const { 56 const SVGElementSet& incomingReferences() const {
56 return m_incomingReferences; 57 return m_incomingReferences;
57 } 58 }
58 59
60 SVGElementProxySet& ensureElementProxySet();
61
59 HeapHashSet<WeakMember<SVGElement>>& elementInstances() { 62 HeapHashSet<WeakMember<SVGElement>>& elementInstances() {
60 return m_elementInstances; 63 return m_elementInstances;
61 } 64 }
62 const HeapHashSet<WeakMember<SVGElement>>& elementInstances() const { 65 const HeapHashSet<WeakMember<SVGElement>>& elementInstances() const {
63 return m_elementInstances; 66 return m_elementInstances;
64 } 67 }
65 68
66 bool instanceUpdatesBlocked() const { return m_instancesUpdatesBlocked; } 69 bool instanceUpdatesBlocked() const { return m_instancesUpdatesBlocked; }
67 void setInstanceUpdatesBlocked(bool value) { 70 void setInstanceUpdatesBlocked(bool value) {
68 m_instancesUpdatesBlocked = value; 71 m_instancesUpdatesBlocked = value;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 DECLARE_TRACE(); 121 DECLARE_TRACE();
119 void processWeakMembers(Visitor*); 122 void processWeakMembers(Visitor*);
120 123
121 private: 124 private:
122 Member<SVGElement> m_owner; 125 Member<SVGElement> m_owner;
123 SVGElementSet m_outgoingReferences; 126 SVGElementSet m_outgoingReferences;
124 SVGElementSet m_incomingReferences; 127 SVGElementSet m_incomingReferences;
125 HeapHashSet<WeakMember<SVGElement>> m_elementInstances; 128 HeapHashSet<WeakMember<SVGElement>> m_elementInstances;
126 WeakMember<SVGCursorElement> m_cursorElement; 129 WeakMember<SVGCursorElement> m_cursorElement;
127 WeakMember<const CSSCursorImageValue> m_cursorImageValue; 130 WeakMember<const CSSCursorImageValue> m_cursorImageValue;
131 Member<SVGElementProxySet> m_elementProxySet;
128 Member<SVGElement> m_correspondingElement; 132 Member<SVGElement> m_correspondingElement;
129 bool m_instancesUpdatesBlocked : 1; 133 bool m_instancesUpdatesBlocked : 1;
130 bool m_useOverrideComputedStyle : 1; 134 bool m_useOverrideComputedStyle : 1;
131 bool m_needsOverrideComputedStyleUpdate : 1; 135 bool m_needsOverrideComputedStyleUpdate : 1;
132 bool m_webAnimatedAttributesDirty : 1; 136 bool m_webAnimatedAttributesDirty : 1;
133 HashSet<const QualifiedName*> m_webAnimatedAttributes; 137 HashSet<const QualifiedName*> m_webAnimatedAttributes;
134 Member<MutableStylePropertySet> m_animatedSMILStyleProperties; 138 Member<MutableStylePropertySet> m_animatedSMILStyleProperties;
135 RefPtr<ComputedStyle> m_overrideComputedStyle; 139 RefPtr<ComputedStyle> m_overrideComputedStyle;
136 // Used by <animateMotion> 140 // Used by <animateMotion>
137 AffineTransform m_animateMotionTransform; 141 AffineTransform m_animateMotionTransform;
138 }; 142 };
139 143
140 } // namespace blink 144 } // namespace blink
141 145
142 #endif 146 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGElementProxy.cpp ('k') | third_party/WebKit/Source/core/svg/SVGElementRareData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698