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

Side by Side Diff: Source/core/css/CSSGradientValue.h

Issue 953693002: InlinedVisitor: Migrate css to use inlined tracing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 { 62 {
63 return compareCSSValuePtr(m_color, other.m_color) 63 return compareCSSValuePtr(m_color, other.m_color)
64 && compareCSSValuePtr(m_position, other.m_position); 64 && compareCSSValuePtr(m_position, other.m_position);
65 } 65 }
66 bool isHint() const 66 bool isHint() const
67 { 67 {
68 ASSERT(m_color || m_position); 68 ASSERT(m_color || m_position);
69 return !m_color; 69 return !m_color;
70 } 70 }
71 71
72 void trace(Visitor*); 72 DECLARE_TRACE();
73 }; 73 };
74 74
75 } // namespace blink 75 } // namespace blink
76 76
77 77
78 // We have to declare the VectorTraits specialization before CSSGradientValue 78 // We have to declare the VectorTraits specialization before CSSGradientValue
79 // declares its inline capacity vector below. 79 // declares its inline capacity vector below.
80 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::CSSGradientColorStop); 80 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::CSSGradientColorStop);
81 81
82 namespace blink { 82 namespace blink {
(...skipping 20 matching lines...) Expand all
103 CSSGradientType gradientType() const { return m_gradientType; } 103 CSSGradientType gradientType() const { return m_gradientType; }
104 104
105 bool isFixedSize() const { return false; } 105 bool isFixedSize() const { return false; }
106 IntSize fixedSize(const LayoutObject*) const { return IntSize(); } 106 IntSize fixedSize(const LayoutObject*) const { return IntSize(); }
107 107
108 bool isPending() const { return false; } 108 bool isPending() const { return false; }
109 bool knownToBeOpaque(const LayoutObject*) const; 109 bool knownToBeOpaque(const LayoutObject*) const;
110 110
111 void loadSubimages(ResourceFetcher*) { } 111 void loadSubimages(ResourceFetcher*) { }
112 112
113 void traceAfterDispatch(Visitor*); 113 DECLARE_TRACE_AFTER_DISPATCH();
114 114
115 protected: 115 protected:
116 CSSGradientValue(ClassType classType, CSSGradientRepeat repeat, CSSGradientT ype gradientType) 116 CSSGradientValue(ClassType classType, CSSGradientRepeat repeat, CSSGradientT ype gradientType)
117 : CSSImageGeneratorValue(classType) 117 : CSSImageGeneratorValue(classType)
118 , m_stopsSorted(false) 118 , m_stopsSorted(false)
119 , m_gradientType(gradientType) 119 , m_gradientType(gradientType)
120 , m_repeating(repeat == Repeating) 120 , m_repeating(repeat == Repeating)
121 { 121 {
122 } 122 }
123 123
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 // Create the gradient for a given size. 172 // Create the gradient for a given size.
173 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const IntSize&, const LayoutObject&); 173 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const IntSize&, const LayoutObject&);
174 174
175 PassRefPtrWillBeRawPtr<CSSLinearGradientValue> clone() const 175 PassRefPtrWillBeRawPtr<CSSLinearGradientValue> clone() const
176 { 176 {
177 return adoptRefWillBeNoop(new CSSLinearGradientValue(*this)); 177 return adoptRefWillBeNoop(new CSSLinearGradientValue(*this));
178 } 178 }
179 179
180 bool equals(const CSSLinearGradientValue&) const; 180 bool equals(const CSSLinearGradientValue&) const;
181 181
182 void traceAfterDispatch(Visitor*); 182 DECLARE_TRACE_AFTER_DISPATCH();
183 183
184 private: 184 private:
185 CSSLinearGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp e = CSSLinearGradient) 185 CSSLinearGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp e = CSSLinearGradient)
186 : CSSGradientValue(LinearGradientClass, repeat, gradientType) 186 : CSSGradientValue(LinearGradientClass, repeat, gradientType)
187 { 187 {
188 } 188 }
189 189
190 explicit CSSLinearGradientValue(const CSSLinearGradientValue& other) 190 explicit CSSLinearGradientValue(const CSSLinearGradientValue& other)
191 : CSSGradientValue(other, LinearGradientClass, other.gradientType()) 191 : CSSGradientValue(other, LinearGradientClass, other.gradientType())
192 , m_angle(other.m_angle) 192 , m_angle(other.m_angle)
(...skipping 26 matching lines...) Expand all
219 void setSizingBehavior(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m_si zingBehavior = val; } 219 void setSizingBehavior(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m_si zingBehavior = val; }
220 220
221 void setEndHorizontalSize(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m _endHorizontalSize = val; } 221 void setEndHorizontalSize(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m _endHorizontalSize = val; }
222 void setEndVerticalSize(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m_e ndVerticalSize = val; } 222 void setEndVerticalSize(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> val) { m_e ndVerticalSize = val; }
223 223
224 // Create the gradient for a given size. 224 // Create the gradient for a given size.
225 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const IntSize&, const LayoutObject&); 225 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const IntSize&, const LayoutObject&);
226 226
227 bool equals(const CSSRadialGradientValue&) const; 227 bool equals(const CSSRadialGradientValue&) const;
228 228
229 void traceAfterDispatch(Visitor*); 229 DECLARE_TRACE_AFTER_DISPATCH();
230 230
231 private: 231 private:
232 CSSRadialGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp e = CSSRadialGradient) 232 CSSRadialGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp e = CSSRadialGradient)
233 : CSSGradientValue(RadialGradientClass, repeat, gradientType) 233 : CSSGradientValue(RadialGradientClass, repeat, gradientType)
234 { 234 {
235 } 235 }
236 236
237 explicit CSSRadialGradientValue(const CSSRadialGradientValue& other) 237 explicit CSSRadialGradientValue(const CSSRadialGradientValue& other)
238 : CSSGradientValue(other, RadialGradientClass, other.gradientType()) 238 : CSSGradientValue(other, RadialGradientClass, other.gradientType())
239 , m_firstRadius(other.m_firstRadius) 239 , m_firstRadius(other.m_firstRadius)
(...skipping 19 matching lines...) Expand all
259 259
260 RefPtrWillBeMember<CSSPrimitiveValue> m_endHorizontalSize; 260 RefPtrWillBeMember<CSSPrimitiveValue> m_endHorizontalSize;
261 RefPtrWillBeMember<CSSPrimitiveValue> m_endVerticalSize; 261 RefPtrWillBeMember<CSSPrimitiveValue> m_endVerticalSize;
262 }; 262 };
263 263
264 DEFINE_CSS_VALUE_TYPE_CASTS(CSSRadialGradientValue, isRadialGradientValue()); 264 DEFINE_CSS_VALUE_TYPE_CASTS(CSSRadialGradientValue, isRadialGradientValue());
265 265
266 } // namespace blink 266 } // namespace blink
267 267
268 #endif // CSSGradientValue_h 268 #endif // CSSGradientValue_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698