OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Alexey Proskuryakov <ap@nypop.com>. | 2 * Copyright (C) 2007 Alexey Proskuryakov <ap@nypop.com>. |
3 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. |
4 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 4 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
5 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com> | 5 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com> |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * | 7 * |
8 * Redistribution and use in source and binary forms, with or without | 8 * Redistribution and use in source and binary forms, with or without |
9 * modification, are permitted provided that the following conditions | 9 * modification, are permitted provided that the following conditions |
10 * are met: | 10 * are met: |
(...skipping 14 matching lines...) Expand all Loading... |
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 */ | 28 */ |
29 | 29 |
30 #ifndef CSSPrimitiveValueMappings_h | 30 #ifndef CSSPrimitiveValueMappings_h |
31 #define CSSPrimitiveValueMappings_h | 31 #define CSSPrimitiveValueMappings_h |
32 | 32 |
33 #include "core/CSSValueKeywords.h" | 33 #include "core/CSSValueKeywords.h" |
34 #include "core/css/CSSCalculationValue.h" | 34 #include "core/css/CSSCalculationValue.h" |
| 35 #include "core/css/CSSIdentifierValue.h" |
35 #include "core/css/CSSPrimitiveValue.h" | 36 #include "core/css/CSSPrimitiveValue.h" |
36 #include "core/css/CSSReflectionDirection.h" | 37 #include "core/css/CSSReflectionDirection.h" |
37 #include "core/css/CSSToLengthConversionData.h" | 38 #include "core/css/CSSToLengthConversionData.h" |
38 #include "core/style/ComputedStyleConstants.h" | 39 #include "core/style/ComputedStyleConstants.h" |
| 40 #include "core/style/LineClampValue.h" |
39 #include "core/style/SVGComputedStyleDefs.h" | 41 #include "core/style/SVGComputedStyleDefs.h" |
40 #include "core/style/LineClampValue.h" | |
41 #include "platform/Length.h" | 42 #include "platform/Length.h" |
42 #include "platform/ThemeTypes.h" | 43 #include "platform/ThemeTypes.h" |
43 #include "platform/fonts/FontDescription.h" | 44 #include "platform/fonts/FontDescription.h" |
44 #include "platform/fonts/FontSmoothingMode.h" | 45 #include "platform/fonts/FontSmoothingMode.h" |
45 #include "platform/fonts/TextRenderingMode.h" | 46 #include "platform/fonts/TextRenderingMode.h" |
46 #include "platform/graphics/GraphicsTypes.h" | 47 #include "platform/graphics/GraphicsTypes.h" |
47 #include "platform/scroll/ScrollableArea.h" | 48 #include "platform/scroll/ScrollableArea.h" |
48 #include "platform/text/TextDirection.h" | 49 #include "platform/text/TextDirection.h" |
49 #include "platform/text/TextRun.h" | 50 #include "platform/text/TextRun.h" |
50 #include "platform/text/UnicodeBidi.h" | 51 #include "platform/text/UnicodeBidi.h" |
51 #include "platform/text/WritingMode.h" | 52 #include "platform/text/WritingMode.h" |
52 #include "public/platform/WebBlendMode.h" | 53 #include "public/platform/WebBlendMode.h" |
53 #include "wtf/MathExtras.h" | 54 #include "wtf/MathExtras.h" |
54 | 55 |
55 namespace blink { | 56 namespace blink { |
56 | 57 |
| 58 // TODO(sashab): Move these to CSSPrimitiveValue.h. |
57 template<> inline short CSSPrimitiveValue::convertTo() const | 59 template<> inline short CSSPrimitiveValue::convertTo() const |
58 { | 60 { |
59 ASSERT(isNumber()); | 61 ASSERT(isNumber()); |
60 return clampTo<short>(getDoubleValue()); | 62 return clampTo<short>(getDoubleValue()); |
61 } | 63 } |
62 | 64 |
63 template<> inline unsigned short CSSPrimitiveValue::convertTo() const | 65 template<> inline unsigned short CSSPrimitiveValue::convertTo() const |
64 { | 66 { |
65 ASSERT(isNumber()); | 67 ASSERT(isNumber()); |
66 return clampTo<unsigned short>(getDoubleValue()); | 68 return clampTo<unsigned short>(getDoubleValue()); |
(...skipping 29 matching lines...) Expand all Loading... |
96 if (type() == UnitType::Integer) | 98 if (type() == UnitType::Integer) |
97 return LineClampValue(clampTo<int>(m_value.num), LineClampLineCount); | 99 return LineClampValue(clampTo<int>(m_value.num), LineClampLineCount); |
98 | 100 |
99 if (type() == UnitType::Percentage) | 101 if (type() == UnitType::Percentage) |
100 return LineClampValue(clampTo<int>(m_value.num), LineClampPercentage); | 102 return LineClampValue(clampTo<int>(m_value.num), LineClampPercentage); |
101 | 103 |
102 ASSERT_NOT_REACHED(); | 104 ASSERT_NOT_REACHED(); |
103 return LineClampValue(); | 105 return LineClampValue(); |
104 } | 106 } |
105 | 107 |
106 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CSSReflectionDirection e) | 108 // TODO(sashab): Move these to CSSIdentifierValueMappings.h, and update to use |
107 : CSSValue(PrimitiveClass) | 109 // the CSSValuePool. |
| 110 template<> inline CSSIdentifierValue::CSSIdentifierValue(CSSReflectionDirection
e) |
| 111 : CSSValue(IdentifierClass) |
108 { | 112 { |
109 init(UnitType::ValueID); | |
110 switch (e) { | 113 switch (e) { |
111 case ReflectionAbove: | 114 case ReflectionAbove: |
112 m_value.valueID = CSSValueAbove; | 115 m_valueID = CSSValueAbove; |
113 break; | 116 break; |
114 case ReflectionBelow: | 117 case ReflectionBelow: |
115 m_value.valueID = CSSValueBelow; | 118 m_valueID = CSSValueBelow; |
116 break; | 119 break; |
117 case ReflectionLeft: | 120 case ReflectionLeft: |
118 m_value.valueID = CSSValueLeft; | 121 m_valueID = CSSValueLeft; |
119 break; | 122 break; |
120 case ReflectionRight: | 123 case ReflectionRight: |
121 m_value.valueID = CSSValueRight; | 124 m_valueID = CSSValueRight; |
122 } | 125 } |
123 } | 126 } |
124 | 127 |
125 template<> inline CSSReflectionDirection CSSPrimitiveValue::convertTo() const | 128 template<> inline CSSReflectionDirection CSSIdentifierValue::convertTo() const |
126 { | 129 { |
127 ASSERT(isValueID()); | 130 switch (m_valueID) { |
128 switch (m_value.valueID) { | |
129 case CSSValueAbove: | 131 case CSSValueAbove: |
130 return ReflectionAbove; | 132 return ReflectionAbove; |
131 case CSSValueBelow: | 133 case CSSValueBelow: |
132 return ReflectionBelow; | 134 return ReflectionBelow; |
133 case CSSValueLeft: | 135 case CSSValueLeft: |
134 return ReflectionLeft; | 136 return ReflectionLeft; |
135 case CSSValueRight: | 137 case CSSValueRight: |
136 return ReflectionRight; | 138 return ReflectionRight; |
137 default: | 139 default: |
138 break; | 140 break; |
139 } | 141 } |
140 | 142 |
141 ASSERT_NOT_REACHED(); | 143 ASSERT_NOT_REACHED(); |
142 return ReflectionBelow; | 144 return ReflectionBelow; |
143 } | 145 } |
144 | 146 |
145 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ColumnFill columnFill) | 147 template<> inline CSSIdentifierValue::CSSIdentifierValue(ColumnFill columnFill) |
146 : CSSValue(PrimitiveClass) | 148 : CSSValue(IdentifierClass) |
147 { | 149 { |
148 init(UnitType::ValueID); | |
149 switch (columnFill) { | 150 switch (columnFill) { |
150 case ColumnFillAuto: | 151 case ColumnFillAuto: |
151 m_value.valueID = CSSValueAuto; | 152 m_valueID = CSSValueAuto; |
152 break; | 153 break; |
153 case ColumnFillBalance: | 154 case ColumnFillBalance: |
154 m_value.valueID = CSSValueBalance; | 155 m_valueID = CSSValueBalance; |
155 break; | 156 break; |
156 } | 157 } |
157 } | 158 } |
158 | 159 |
159 template<> inline ColumnFill CSSPrimitiveValue::convertTo() const | 160 template<> inline ColumnFill CSSIdentifierValue::convertTo() const |
160 { | 161 { |
161 if (type() == UnitType::ValueID) { | 162 if (m_valueID == CSSValueBalance) |
162 if (m_value.valueID == CSSValueBalance) | 163 return ColumnFillBalance; |
163 return ColumnFillBalance; | 164 if (m_valueID == CSSValueAuto) |
164 if (m_value.valueID == CSSValueAuto) | 165 return ColumnFillAuto; |
165 return ColumnFillAuto; | |
166 } | |
167 ASSERT_NOT_REACHED(); | 166 ASSERT_NOT_REACHED(); |
168 return ColumnFillBalance; | 167 return ColumnFillBalance; |
169 } | 168 } |
170 | 169 |
171 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ColumnSpan columnSpan) | 170 template<> inline CSSIdentifierValue::CSSIdentifierValue(ColumnSpan columnSpan) |
172 : CSSValue(PrimitiveClass) | 171 : CSSValue(IdentifierClass) |
173 { | 172 { |
174 init(UnitType::ValueID); | |
175 switch (columnSpan) { | 173 switch (columnSpan) { |
176 case ColumnSpanAll: | 174 case ColumnSpanAll: |
177 m_value.valueID = CSSValueAll; | 175 m_valueID = CSSValueAll; |
178 break; | 176 break; |
179 case ColumnSpanNone: | 177 case ColumnSpanNone: |
180 m_value.valueID = CSSValueNone; | 178 m_valueID = CSSValueNone; |
181 break; | 179 break; |
182 } | 180 } |
183 } | 181 } |
184 | 182 |
185 template<> inline ColumnSpan CSSPrimitiveValue::convertTo() const | 183 template<> inline ColumnSpan CSSIdentifierValue::convertTo() const |
186 { | 184 { |
187 ASSERT(isValueID()); | 185 switch (m_valueID) { |
188 switch (m_value.valueID) { | |
189 case CSSValueAll: | 186 case CSSValueAll: |
190 return ColumnSpanAll; | 187 return ColumnSpanAll; |
191 default: | 188 default: |
192 ASSERT_NOT_REACHED(); | 189 ASSERT_NOT_REACHED(); |
193 // fall-through | 190 // fall-through |
194 case CSSValueNone: | 191 case CSSValueNone: |
195 return ColumnSpanNone; | 192 return ColumnSpanNone; |
196 } | 193 } |
197 } | 194 } |
198 | 195 |
199 | 196 |
200 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(PrintColorAdjust value) | 197 template<> inline CSSIdentifierValue::CSSIdentifierValue(PrintColorAdjust value) |
201 : CSSValue(PrimitiveClass) | 198 : CSSValue(IdentifierClass) |
202 { | 199 { |
203 init(UnitType::ValueID); | |
204 switch (value) { | 200 switch (value) { |
205 case PrintColorAdjustExact: | 201 case PrintColorAdjustExact: |
206 m_value.valueID = CSSValueExact; | 202 m_valueID = CSSValueExact; |
207 break; | 203 break; |
208 case PrintColorAdjustEconomy: | 204 case PrintColorAdjustEconomy: |
209 m_value.valueID = CSSValueEconomy; | 205 m_valueID = CSSValueEconomy; |
210 break; | 206 break; |
211 } | 207 } |
212 } | 208 } |
213 | 209 |
214 template<> inline PrintColorAdjust CSSPrimitiveValue::convertTo() const | 210 template<> inline PrintColorAdjust CSSIdentifierValue::convertTo() const |
215 { | 211 { |
216 ASSERT(isValueID()); | 212 switch (m_valueID) { |
217 switch (m_value.valueID) { | |
218 case CSSValueEconomy: | 213 case CSSValueEconomy: |
219 return PrintColorAdjustEconomy; | 214 return PrintColorAdjustEconomy; |
220 case CSSValueExact: | 215 case CSSValueExact: |
221 return PrintColorAdjustExact; | 216 return PrintColorAdjustExact; |
222 default: | 217 default: |
223 break; | 218 break; |
224 } | 219 } |
225 | 220 |
226 ASSERT_NOT_REACHED(); | 221 ASSERT_NOT_REACHED(); |
227 return PrintColorAdjustEconomy; | 222 return PrintColorAdjustEconomy; |
228 } | 223 } |
229 | 224 |
230 | 225 |
231 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBorderStyle e) | 226 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBorderStyle e) |
232 : CSSValue(PrimitiveClass) | 227 : CSSValue(IdentifierClass) |
233 { | 228 { |
234 init(UnitType::ValueID); | |
235 switch (e) { | 229 switch (e) { |
236 case BorderStyleNone: | 230 case BorderStyleNone: |
237 m_value.valueID = CSSValueNone; | 231 m_valueID = CSSValueNone; |
238 break; | 232 break; |
239 case BorderStyleHidden: | 233 case BorderStyleHidden: |
240 m_value.valueID = CSSValueHidden; | 234 m_valueID = CSSValueHidden; |
241 break; | 235 break; |
242 case BorderStyleInset: | 236 case BorderStyleInset: |
243 m_value.valueID = CSSValueInset; | 237 m_valueID = CSSValueInset; |
244 break; | 238 break; |
245 case BorderStyleGroove: | 239 case BorderStyleGroove: |
246 m_value.valueID = CSSValueGroove; | 240 m_valueID = CSSValueGroove; |
247 break; | 241 break; |
248 case BorderStyleRidge: | 242 case BorderStyleRidge: |
249 m_value.valueID = CSSValueRidge; | 243 m_valueID = CSSValueRidge; |
250 break; | 244 break; |
251 case BorderStyleOutset: | 245 case BorderStyleOutset: |
252 m_value.valueID = CSSValueOutset; | 246 m_valueID = CSSValueOutset; |
253 break; | 247 break; |
254 case BorderStyleDotted: | 248 case BorderStyleDotted: |
255 m_value.valueID = CSSValueDotted; | 249 m_valueID = CSSValueDotted; |
256 break; | 250 break; |
257 case BorderStyleDashed: | 251 case BorderStyleDashed: |
258 m_value.valueID = CSSValueDashed; | 252 m_valueID = CSSValueDashed; |
259 break; | 253 break; |
260 case BorderStyleSolid: | 254 case BorderStyleSolid: |
261 m_value.valueID = CSSValueSolid; | 255 m_valueID = CSSValueSolid; |
262 break; | 256 break; |
263 case BorderStyleDouble: | 257 case BorderStyleDouble: |
264 m_value.valueID = CSSValueDouble; | 258 m_valueID = CSSValueDouble; |
265 break; | 259 break; |
266 } | 260 } |
267 } | 261 } |
268 | 262 |
269 template<> inline EBorderStyle CSSPrimitiveValue::convertTo() const | 263 template<> inline EBorderStyle CSSIdentifierValue::convertTo() const |
270 { | 264 { |
271 ASSERT(isValueID()); | 265 if (m_valueID == CSSValueAuto) // Valid for CSS outline-style |
272 if (m_value.valueID == CSSValueAuto) // Valid for CSS outline-style | |
273 return BorderStyleDotted; | 266 return BorderStyleDotted; |
274 return (EBorderStyle)(m_value.valueID - CSSValueNone); | 267 return (EBorderStyle)(m_valueID - CSSValueNone); |
275 } | 268 } |
276 | 269 |
277 template<> inline OutlineIsAuto CSSPrimitiveValue::convertTo() const | 270 template<> inline OutlineIsAuto CSSIdentifierValue::convertTo() const |
278 { | 271 { |
279 if (m_value.valueID == CSSValueAuto) | 272 if (m_valueID == CSSValueAuto) |
280 return OutlineIsAutoOn; | 273 return OutlineIsAutoOn; |
281 return OutlineIsAutoOff; | 274 return OutlineIsAutoOff; |
282 } | 275 } |
283 | 276 |
284 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CompositeOperator e) | 277 template<> inline CSSIdentifierValue::CSSIdentifierValue(CompositeOperator e) |
285 : CSSValue(PrimitiveClass) | 278 : CSSValue(IdentifierClass) |
286 { | 279 { |
287 init(UnitType::ValueID); | |
288 switch (e) { | 280 switch (e) { |
289 case CompositeClear: | 281 case CompositeClear: |
290 m_value.valueID = CSSValueClear; | 282 m_valueID = CSSValueClear; |
291 break; | 283 break; |
292 case CompositeCopy: | 284 case CompositeCopy: |
293 m_value.valueID = CSSValueCopy; | 285 m_valueID = CSSValueCopy; |
294 break; | 286 break; |
295 case CompositeSourceOver: | 287 case CompositeSourceOver: |
296 m_value.valueID = CSSValueSourceOver; | 288 m_valueID = CSSValueSourceOver; |
297 break; | 289 break; |
298 case CompositeSourceIn: | 290 case CompositeSourceIn: |
299 m_value.valueID = CSSValueSourceIn; | 291 m_valueID = CSSValueSourceIn; |
300 break; | 292 break; |
301 case CompositeSourceOut: | 293 case CompositeSourceOut: |
302 m_value.valueID = CSSValueSourceOut; | 294 m_valueID = CSSValueSourceOut; |
303 break; | 295 break; |
304 case CompositeSourceAtop: | 296 case CompositeSourceAtop: |
305 m_value.valueID = CSSValueSourceAtop; | 297 m_valueID = CSSValueSourceAtop; |
306 break; | 298 break; |
307 case CompositeDestinationOver: | 299 case CompositeDestinationOver: |
308 m_value.valueID = CSSValueDestinationOver; | 300 m_valueID = CSSValueDestinationOver; |
309 break; | 301 break; |
310 case CompositeDestinationIn: | 302 case CompositeDestinationIn: |
311 m_value.valueID = CSSValueDestinationIn; | 303 m_valueID = CSSValueDestinationIn; |
312 break; | 304 break; |
313 case CompositeDestinationOut: | 305 case CompositeDestinationOut: |
314 m_value.valueID = CSSValueDestinationOut; | 306 m_valueID = CSSValueDestinationOut; |
315 break; | 307 break; |
316 case CompositeDestinationAtop: | 308 case CompositeDestinationAtop: |
317 m_value.valueID = CSSValueDestinationAtop; | 309 m_valueID = CSSValueDestinationAtop; |
318 break; | 310 break; |
319 case CompositeXOR: | 311 case CompositeXOR: |
320 m_value.valueID = CSSValueXor; | 312 m_valueID = CSSValueXor; |
321 break; | 313 break; |
322 case CompositePlusLighter: | 314 case CompositePlusLighter: |
323 m_value.valueID = CSSValuePlusLighter; | 315 m_valueID = CSSValuePlusLighter; |
324 break; | 316 break; |
325 default: | 317 default: |
326 ASSERT_NOT_REACHED(); | 318 ASSERT_NOT_REACHED(); |
327 break; | 319 break; |
328 } | 320 } |
329 } | 321 } |
330 | 322 |
331 template<> inline CompositeOperator CSSPrimitiveValue::convertTo() const | 323 template<> inline CompositeOperator CSSIdentifierValue::convertTo() const |
332 { | 324 { |
333 ASSERT(isValueID()); | 325 switch (m_valueID) { |
334 switch (m_value.valueID) { | |
335 case CSSValueClear: | 326 case CSSValueClear: |
336 return CompositeClear; | 327 return CompositeClear; |
337 case CSSValueCopy: | 328 case CSSValueCopy: |
338 return CompositeCopy; | 329 return CompositeCopy; |
339 case CSSValueSourceOver: | 330 case CSSValueSourceOver: |
340 return CompositeSourceOver; | 331 return CompositeSourceOver; |
341 case CSSValueSourceIn: | 332 case CSSValueSourceIn: |
342 return CompositeSourceIn; | 333 return CompositeSourceIn; |
343 case CSSValueSourceOut: | 334 case CSSValueSourceOut: |
344 return CompositeSourceOut; | 335 return CompositeSourceOut; |
(...skipping 12 matching lines...) Expand all Loading... |
357 case CSSValuePlusLighter: | 348 case CSSValuePlusLighter: |
358 return CompositePlusLighter; | 349 return CompositePlusLighter; |
359 default: | 350 default: |
360 break; | 351 break; |
361 } | 352 } |
362 | 353 |
363 ASSERT_NOT_REACHED(); | 354 ASSERT_NOT_REACHED(); |
364 return CompositeClear; | 355 return CompositeClear; |
365 } | 356 } |
366 | 357 |
367 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ControlPart e) | 358 template<> inline CSSIdentifierValue::CSSIdentifierValue(ControlPart e) |
368 : CSSValue(PrimitiveClass) | 359 : CSSValue(IdentifierClass) |
369 { | 360 { |
370 init(UnitType::ValueID); | |
371 switch (e) { | 361 switch (e) { |
372 case NoControlPart: | 362 case NoControlPart: |
373 m_value.valueID = CSSValueNone; | 363 m_valueID = CSSValueNone; |
374 break; | 364 break; |
375 case CheckboxPart: | 365 case CheckboxPart: |
376 m_value.valueID = CSSValueCheckbox; | 366 m_valueID = CSSValueCheckbox; |
377 break; | 367 break; |
378 case RadioPart: | 368 case RadioPart: |
379 m_value.valueID = CSSValueRadio; | 369 m_valueID = CSSValueRadio; |
380 break; | 370 break; |
381 case PushButtonPart: | 371 case PushButtonPart: |
382 m_value.valueID = CSSValuePushButton; | 372 m_valueID = CSSValuePushButton; |
383 break; | 373 break; |
384 case SquareButtonPart: | 374 case SquareButtonPart: |
385 m_value.valueID = CSSValueSquareButton; | 375 m_valueID = CSSValueSquareButton; |
386 break; | 376 break; |
387 case ButtonPart: | 377 case ButtonPart: |
388 m_value.valueID = CSSValueButton; | 378 m_valueID = CSSValueButton; |
389 break; | 379 break; |
390 case ButtonBevelPart: | 380 case ButtonBevelPart: |
391 m_value.valueID = CSSValueButtonBevel; | 381 m_valueID = CSSValueButtonBevel; |
392 break; | 382 break; |
393 case InnerSpinButtonPart: | 383 case InnerSpinButtonPart: |
394 m_value.valueID = CSSValueInnerSpinButton; | 384 m_valueID = CSSValueInnerSpinButton; |
395 break; | 385 break; |
396 case ListboxPart: | 386 case ListboxPart: |
397 m_value.valueID = CSSValueListbox; | 387 m_valueID = CSSValueListbox; |
398 break; | 388 break; |
399 case ListItemPart: | 389 case ListItemPart: |
400 m_value.valueID = CSSValueListitem; | 390 m_valueID = CSSValueListitem; |
401 break; | 391 break; |
402 case MediaEnterFullscreenButtonPart: | 392 case MediaEnterFullscreenButtonPart: |
403 m_value.valueID = CSSValueMediaEnterFullscreenButton; | 393 m_valueID = CSSValueMediaEnterFullscreenButton; |
404 break; | 394 break; |
405 case MediaExitFullscreenButtonPart: | 395 case MediaExitFullscreenButtonPart: |
406 m_value.valueID = CSSValueMediaExitFullscreenButton; | 396 m_valueID = CSSValueMediaExitFullscreenButton; |
407 break; | 397 break; |
408 case MediaPlayButtonPart: | 398 case MediaPlayButtonPart: |
409 m_value.valueID = CSSValueMediaPlayButton; | 399 m_valueID = CSSValueMediaPlayButton; |
410 break; | 400 break; |
411 case MediaOverlayPlayButtonPart: | 401 case MediaOverlayPlayButtonPart: |
412 m_value.valueID = CSSValueMediaOverlayPlayButton; | 402 m_valueID = CSSValueMediaOverlayPlayButton; |
413 break; | 403 break; |
414 case MediaMuteButtonPart: | 404 case MediaMuteButtonPart: |
415 m_value.valueID = CSSValueMediaMuteButton; | 405 m_valueID = CSSValueMediaMuteButton; |
416 break; | 406 break; |
417 case MediaToggleClosedCaptionsButtonPart: | 407 case MediaToggleClosedCaptionsButtonPart: |
418 m_value.valueID = CSSValueMediaToggleClosedCaptionsButton; | 408 m_valueID = CSSValueMediaToggleClosedCaptionsButton; |
419 break; | 409 break; |
420 case MediaCastOffButtonPart: | 410 case MediaCastOffButtonPart: |
421 m_value.valueID = CSSValueInternalMediaCastOffButton; | 411 m_valueID = CSSValueInternalMediaCastOffButton; |
422 break; | 412 break; |
423 case MediaOverlayCastOffButtonPart: | 413 case MediaOverlayCastOffButtonPart: |
424 m_value.valueID = CSSValueInternalMediaOverlayCastOffButton; | 414 m_valueID = CSSValueInternalMediaOverlayCastOffButton; |
425 break; | 415 break; |
426 case MediaSliderPart: | 416 case MediaSliderPart: |
427 m_value.valueID = CSSValueMediaSlider; | 417 m_valueID = CSSValueMediaSlider; |
428 break; | 418 break; |
429 case MediaSliderThumbPart: | 419 case MediaSliderThumbPart: |
430 m_value.valueID = CSSValueMediaSliderthumb; | 420 m_valueID = CSSValueMediaSliderthumb; |
431 break; | 421 break; |
432 case MediaVolumeSliderContainerPart: | 422 case MediaVolumeSliderContainerPart: |
433 m_value.valueID = CSSValueMediaVolumeSliderContainer; | 423 m_valueID = CSSValueMediaVolumeSliderContainer; |
434 break; | 424 break; |
435 case MediaVolumeSliderPart: | 425 case MediaVolumeSliderPart: |
436 m_value.valueID = CSSValueMediaVolumeSlider; | 426 m_valueID = CSSValueMediaVolumeSlider; |
437 break; | 427 break; |
438 case MediaVolumeSliderThumbPart: | 428 case MediaVolumeSliderThumbPart: |
439 m_value.valueID = CSSValueMediaVolumeSliderthumb; | 429 m_valueID = CSSValueMediaVolumeSliderthumb; |
440 break; | 430 break; |
441 case MediaControlsBackgroundPart: | 431 case MediaControlsBackgroundPart: |
442 m_value.valueID = CSSValueMediaControlsBackground; | 432 m_valueID = CSSValueMediaControlsBackground; |
443 break; | 433 break; |
444 case MediaControlsFullscreenBackgroundPart: | 434 case MediaControlsFullscreenBackgroundPart: |
445 m_value.valueID = CSSValueMediaControlsFullscreenBackground; | 435 m_valueID = CSSValueMediaControlsFullscreenBackground; |
446 break; | 436 break; |
447 case MediaFullscreenVolumeSliderPart: | 437 case MediaFullscreenVolumeSliderPart: |
448 m_value.valueID = CSSValueMediaFullscreenVolumeSlider; | 438 m_valueID = CSSValueMediaFullscreenVolumeSlider; |
449 break; | 439 break; |
450 case MediaFullscreenVolumeSliderThumbPart: | 440 case MediaFullscreenVolumeSliderThumbPart: |
451 m_value.valueID = CSSValueMediaFullscreenVolumeSliderThumb; | 441 m_valueID = CSSValueMediaFullscreenVolumeSliderThumb; |
452 break; | 442 break; |
453 case MediaCurrentTimePart: | 443 case MediaCurrentTimePart: |
454 m_value.valueID = CSSValueMediaCurrentTimeDisplay; | 444 m_valueID = CSSValueMediaCurrentTimeDisplay; |
455 break; | 445 break; |
456 case MediaTimeRemainingPart: | 446 case MediaTimeRemainingPart: |
457 m_value.valueID = CSSValueMediaTimeRemainingDisplay; | 447 m_valueID = CSSValueMediaTimeRemainingDisplay; |
458 break; | 448 break; |
459 case MediaTrackSelectionCheckmarkPart: | 449 case MediaTrackSelectionCheckmarkPart: |
460 m_value.valueID = CSSValueInternalMediaTrackSelectionCheckmark; | 450 m_valueID = CSSValueInternalMediaTrackSelectionCheckmark; |
461 break; | 451 break; |
462 case MediaClosedCaptionsIconPart: | 452 case MediaClosedCaptionsIconPart: |
463 m_value.valueID = CSSValueInternalMediaClosedCaptionsIcon; | 453 m_valueID = CSSValueInternalMediaClosedCaptionsIcon; |
464 break; | 454 break; |
465 case MediaSubtitlesIconPart: | 455 case MediaSubtitlesIconPart: |
466 m_value.valueID = CSSValueInternalMediaSubtitlesIcon; | 456 m_valueID = CSSValueInternalMediaSubtitlesIcon; |
467 break; | 457 break; |
468 case MediaOverflowMenuButtonPart: | 458 case MediaOverflowMenuButtonPart: |
469 m_value.valueID = CSSValueInternalMediaOverflowButton; | 459 m_valueID = CSSValueInternalMediaOverflowButton; |
470 break; | 460 break; |
471 case MediaDownloadIconPart: | 461 case MediaDownloadIconPart: |
472 m_value.valueID = CSSValueInternalMediaDownloadButton; | 462 m_valueID = CSSValueInternalMediaDownloadButton; |
473 break; | 463 break; |
474 case MenulistPart: | 464 case MenulistPart: |
475 m_value.valueID = CSSValueMenulist; | 465 m_valueID = CSSValueMenulist; |
476 break; | 466 break; |
477 case MenulistButtonPart: | 467 case MenulistButtonPart: |
478 m_value.valueID = CSSValueMenulistButton; | 468 m_valueID = CSSValueMenulistButton; |
479 break; | 469 break; |
480 case MenulistTextPart: | 470 case MenulistTextPart: |
481 m_value.valueID = CSSValueMenulistText; | 471 m_valueID = CSSValueMenulistText; |
482 break; | 472 break; |
483 case MenulistTextFieldPart: | 473 case MenulistTextFieldPart: |
484 m_value.valueID = CSSValueMenulistTextfield; | 474 m_valueID = CSSValueMenulistTextfield; |
485 break; | 475 break; |
486 case MeterPart: | 476 case MeterPart: |
487 m_value.valueID = CSSValueMeter; | 477 m_valueID = CSSValueMeter; |
488 break; | 478 break; |
489 case ProgressBarPart: | 479 case ProgressBarPart: |
490 m_value.valueID = CSSValueProgressBar; | 480 m_valueID = CSSValueProgressBar; |
491 break; | 481 break; |
492 case ProgressBarValuePart: | 482 case ProgressBarValuePart: |
493 m_value.valueID = CSSValueProgressBarValue; | 483 m_valueID = CSSValueProgressBarValue; |
494 break; | 484 break; |
495 case SliderHorizontalPart: | 485 case SliderHorizontalPart: |
496 m_value.valueID = CSSValueSliderHorizontal; | 486 m_valueID = CSSValueSliderHorizontal; |
497 break; | 487 break; |
498 case SliderVerticalPart: | 488 case SliderVerticalPart: |
499 m_value.valueID = CSSValueSliderVertical; | 489 m_valueID = CSSValueSliderVertical; |
500 break; | 490 break; |
501 case SliderThumbHorizontalPart: | 491 case SliderThumbHorizontalPart: |
502 m_value.valueID = CSSValueSliderthumbHorizontal; | 492 m_valueID = CSSValueSliderthumbHorizontal; |
503 break; | 493 break; |
504 case SliderThumbVerticalPart: | 494 case SliderThumbVerticalPart: |
505 m_value.valueID = CSSValueSliderthumbVertical; | 495 m_valueID = CSSValueSliderthumbVertical; |
506 break; | 496 break; |
507 case CaretPart: | 497 case CaretPart: |
508 m_value.valueID = CSSValueCaret; | 498 m_valueID = CSSValueCaret; |
509 break; | 499 break; |
510 case SearchFieldPart: | 500 case SearchFieldPart: |
511 m_value.valueID = CSSValueSearchfield; | 501 m_valueID = CSSValueSearchfield; |
512 break; | 502 break; |
513 case SearchFieldCancelButtonPart: | 503 case SearchFieldCancelButtonPart: |
514 m_value.valueID = CSSValueSearchfieldCancelButton; | 504 m_valueID = CSSValueSearchfieldCancelButton; |
515 break; | 505 break; |
516 case TextFieldPart: | 506 case TextFieldPart: |
517 m_value.valueID = CSSValueTextfield; | 507 m_valueID = CSSValueTextfield; |
518 break; | 508 break; |
519 case TextAreaPart: | 509 case TextAreaPart: |
520 m_value.valueID = CSSValueTextarea; | 510 m_valueID = CSSValueTextarea; |
521 break; | 511 break; |
522 case CapsLockIndicatorPart: | 512 case CapsLockIndicatorPart: |
523 m_value.valueID = CSSValueCapsLockIndicator; | 513 m_valueID = CSSValueCapsLockIndicator; |
524 break; | 514 break; |
525 } | 515 } |
526 } | 516 } |
527 | 517 |
528 template<> inline ControlPart CSSPrimitiveValue::convertTo() const | 518 template<> inline ControlPart CSSIdentifierValue::convertTo() const |
529 { | 519 { |
530 ASSERT(isValueID()); | 520 if (m_valueID == CSSValueNone) |
531 if (m_value.valueID == CSSValueNone) | |
532 return NoControlPart; | 521 return NoControlPart; |
533 return ControlPart(m_value.valueID - CSSValueCheckbox + 1); | 522 return ControlPart(m_valueID - CSSValueCheckbox + 1); |
534 } | 523 } |
535 | 524 |
536 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBackfaceVisibility e) | 525 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBackfaceVisibility e) |
537 : CSSValue(PrimitiveClass) | 526 : CSSValue(IdentifierClass) |
538 { | 527 { |
539 init(UnitType::ValueID); | |
540 switch (e) { | 528 switch (e) { |
541 case BackfaceVisibilityVisible: | 529 case BackfaceVisibilityVisible: |
542 m_value.valueID = CSSValueVisible; | 530 m_valueID = CSSValueVisible; |
543 break; | 531 break; |
544 case BackfaceVisibilityHidden: | 532 case BackfaceVisibilityHidden: |
545 m_value.valueID = CSSValueHidden; | 533 m_valueID = CSSValueHidden; |
546 break; | 534 break; |
547 } | 535 } |
548 } | 536 } |
549 | 537 |
550 template<> inline EBackfaceVisibility CSSPrimitiveValue::convertTo() const | 538 template<> inline EBackfaceVisibility CSSIdentifierValue::convertTo() const |
551 { | 539 { |
552 ASSERT(isValueID()); | 540 switch (m_valueID) { |
553 switch (m_value.valueID) { | |
554 case CSSValueVisible: | 541 case CSSValueVisible: |
555 return BackfaceVisibilityVisible; | 542 return BackfaceVisibilityVisible; |
556 case CSSValueHidden: | 543 case CSSValueHidden: |
557 return BackfaceVisibilityHidden; | 544 return BackfaceVisibilityHidden; |
558 default: | 545 default: |
559 break; | 546 break; |
560 } | 547 } |
561 | 548 |
562 ASSERT_NOT_REACHED(); | 549 ASSERT_NOT_REACHED(); |
563 return BackfaceVisibilityHidden; | 550 return BackfaceVisibilityHidden; |
564 } | 551 } |
565 | 552 |
566 | 553 |
567 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillAttachment e) | 554 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFillAttachment e) |
568 : CSSValue(PrimitiveClass) | 555 : CSSValue(IdentifierClass) |
569 { | 556 { |
570 init(UnitType::ValueID); | |
571 switch (e) { | 557 switch (e) { |
572 case ScrollBackgroundAttachment: | 558 case ScrollBackgroundAttachment: |
573 m_value.valueID = CSSValueScroll; | 559 m_valueID = CSSValueScroll; |
574 break; | 560 break; |
575 case LocalBackgroundAttachment: | 561 case LocalBackgroundAttachment: |
576 m_value.valueID = CSSValueLocal; | 562 m_valueID = CSSValueLocal; |
577 break; | 563 break; |
578 case FixedBackgroundAttachment: | 564 case FixedBackgroundAttachment: |
579 m_value.valueID = CSSValueFixed; | 565 m_valueID = CSSValueFixed; |
580 break; | 566 break; |
581 } | 567 } |
582 } | 568 } |
583 | 569 |
584 template<> inline EFillAttachment CSSPrimitiveValue::convertTo() const | 570 template<> inline EFillAttachment CSSIdentifierValue::convertTo() const |
585 { | 571 { |
586 ASSERT(isValueID()); | 572 switch (m_valueID) { |
587 switch (m_value.valueID) { | |
588 case CSSValueScroll: | 573 case CSSValueScroll: |
589 return ScrollBackgroundAttachment; | 574 return ScrollBackgroundAttachment; |
590 case CSSValueLocal: | 575 case CSSValueLocal: |
591 return LocalBackgroundAttachment; | 576 return LocalBackgroundAttachment; |
592 case CSSValueFixed: | 577 case CSSValueFixed: |
593 return FixedBackgroundAttachment; | 578 return FixedBackgroundAttachment; |
594 default: | 579 default: |
595 break; | 580 break; |
596 } | 581 } |
597 | 582 |
598 ASSERT_NOT_REACHED(); | 583 ASSERT_NOT_REACHED(); |
599 return ScrollBackgroundAttachment; | 584 return ScrollBackgroundAttachment; |
600 } | 585 } |
601 | 586 |
602 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillBox e) | 587 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFillBox e) |
603 : CSSValue(PrimitiveClass) | 588 : CSSValue(IdentifierClass) |
604 { | 589 { |
605 init(UnitType::ValueID); | |
606 switch (e) { | 590 switch (e) { |
607 case BorderFillBox: | 591 case BorderFillBox: |
608 m_value.valueID = CSSValueBorderBox; | 592 m_valueID = CSSValueBorderBox; |
609 break; | 593 break; |
610 case PaddingFillBox: | 594 case PaddingFillBox: |
611 m_value.valueID = CSSValuePaddingBox; | 595 m_valueID = CSSValuePaddingBox; |
612 break; | 596 break; |
613 case ContentFillBox: | 597 case ContentFillBox: |
614 m_value.valueID = CSSValueContentBox; | 598 m_valueID = CSSValueContentBox; |
615 break; | 599 break; |
616 case TextFillBox: | 600 case TextFillBox: |
617 m_value.valueID = CSSValueText; | 601 m_valueID = CSSValueText; |
618 break; | 602 break; |
619 } | 603 } |
620 } | 604 } |
621 | 605 |
622 template<> inline EFillBox CSSPrimitiveValue::convertTo() const | 606 template<> inline EFillBox CSSIdentifierValue::convertTo() const |
623 { | 607 { |
624 ASSERT(isValueID()); | 608 switch (m_valueID) { |
625 switch (m_value.valueID) { | |
626 case CSSValueBorder: | 609 case CSSValueBorder: |
627 case CSSValueBorderBox: | 610 case CSSValueBorderBox: |
628 return BorderFillBox; | 611 return BorderFillBox; |
629 case CSSValuePadding: | 612 case CSSValuePadding: |
630 case CSSValuePaddingBox: | 613 case CSSValuePaddingBox: |
631 return PaddingFillBox; | 614 return PaddingFillBox; |
632 case CSSValueContent: | 615 case CSSValueContent: |
633 case CSSValueContentBox: | 616 case CSSValueContentBox: |
634 return ContentFillBox; | 617 return ContentFillBox; |
635 case CSSValueText: | 618 case CSSValueText: |
636 return TextFillBox; | 619 return TextFillBox; |
637 default: | 620 default: |
638 break; | 621 break; |
639 } | 622 } |
640 | 623 |
641 ASSERT_NOT_REACHED(); | 624 ASSERT_NOT_REACHED(); |
642 return BorderFillBox; | 625 return BorderFillBox; |
643 } | 626 } |
644 | 627 |
645 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillRepeat e) | 628 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFillRepeat e) |
646 : CSSValue(PrimitiveClass) | 629 : CSSValue(IdentifierClass) |
647 { | 630 { |
648 init(UnitType::ValueID); | |
649 switch (e) { | 631 switch (e) { |
650 case RepeatFill: | 632 case RepeatFill: |
651 m_value.valueID = CSSValueRepeat; | 633 m_valueID = CSSValueRepeat; |
652 break; | 634 break; |
653 case NoRepeatFill: | 635 case NoRepeatFill: |
654 m_value.valueID = CSSValueNoRepeat; | 636 m_valueID = CSSValueNoRepeat; |
655 break; | 637 break; |
656 case RoundFill: | 638 case RoundFill: |
657 m_value.valueID = CSSValueRound; | 639 m_valueID = CSSValueRound; |
658 break; | 640 break; |
659 case SpaceFill: | 641 case SpaceFill: |
660 m_value.valueID = CSSValueSpace; | 642 m_valueID = CSSValueSpace; |
661 break; | 643 break; |
662 } | 644 } |
663 } | 645 } |
664 | 646 |
665 template<> inline EFillRepeat CSSPrimitiveValue::convertTo() const | 647 template<> inline EFillRepeat CSSIdentifierValue::convertTo() const |
666 { | 648 { |
667 ASSERT(isValueID()); | 649 switch (m_valueID) { |
668 switch (m_value.valueID) { | |
669 case CSSValueRepeat: | 650 case CSSValueRepeat: |
670 return RepeatFill; | 651 return RepeatFill; |
671 case CSSValueNoRepeat: | 652 case CSSValueNoRepeat: |
672 return NoRepeatFill; | 653 return NoRepeatFill; |
673 case CSSValueRound: | 654 case CSSValueRound: |
674 return RoundFill; | 655 return RoundFill; |
675 case CSSValueSpace: | 656 case CSSValueSpace: |
676 return SpaceFill; | 657 return SpaceFill; |
677 default: | 658 default: |
678 break; | 659 break; |
679 } | 660 } |
680 | 661 |
681 ASSERT_NOT_REACHED(); | 662 ASSERT_NOT_REACHED(); |
682 return RepeatFill; | 663 return RepeatFill; |
683 } | 664 } |
684 | 665 |
685 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxPack e) | 666 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxPack e) |
686 : CSSValue(PrimitiveClass) | 667 : CSSValue(IdentifierClass) |
687 { | 668 { |
688 init(UnitType::ValueID); | |
689 switch (e) { | 669 switch (e) { |
690 case BoxPackStart: | 670 case BoxPackStart: |
691 m_value.valueID = CSSValueStart; | 671 m_valueID = CSSValueStart; |
692 break; | 672 break; |
693 case BoxPackCenter: | 673 case BoxPackCenter: |
694 m_value.valueID = CSSValueCenter; | 674 m_valueID = CSSValueCenter; |
695 break; | 675 break; |
696 case BoxPackEnd: | 676 case BoxPackEnd: |
697 m_value.valueID = CSSValueEnd; | 677 m_valueID = CSSValueEnd; |
698 break; | 678 break; |
699 case BoxPackJustify: | 679 case BoxPackJustify: |
700 m_value.valueID = CSSValueJustify; | 680 m_valueID = CSSValueJustify; |
701 break; | 681 break; |
702 } | 682 } |
703 } | 683 } |
704 | 684 |
705 template<> inline EBoxPack CSSPrimitiveValue::convertTo() const | 685 template<> inline EBoxPack CSSIdentifierValue::convertTo() const |
706 { | 686 { |
707 ASSERT(isValueID()); | 687 switch (m_valueID) { |
708 switch (m_value.valueID) { | |
709 case CSSValueStart: | 688 case CSSValueStart: |
710 return BoxPackStart; | 689 return BoxPackStart; |
711 case CSSValueEnd: | 690 case CSSValueEnd: |
712 return BoxPackEnd; | 691 return BoxPackEnd; |
713 case CSSValueCenter: | 692 case CSSValueCenter: |
714 return BoxPackCenter; | 693 return BoxPackCenter; |
715 case CSSValueJustify: | 694 case CSSValueJustify: |
716 return BoxPackJustify; | 695 return BoxPackJustify; |
717 default: | 696 default: |
718 break; | 697 break; |
719 } | 698 } |
720 | 699 |
721 ASSERT_NOT_REACHED(); | 700 ASSERT_NOT_REACHED(); |
722 return BoxPackJustify; | 701 return BoxPackJustify; |
723 } | 702 } |
724 | 703 |
725 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxAlignment e) | 704 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxAlignment e) |
726 : CSSValue(PrimitiveClass) | 705 : CSSValue(IdentifierClass) |
727 { | 706 { |
728 init(UnitType::ValueID); | |
729 switch (e) { | 707 switch (e) { |
730 case BSTRETCH: | 708 case BSTRETCH: |
731 m_value.valueID = CSSValueStretch; | 709 m_valueID = CSSValueStretch; |
732 break; | 710 break; |
733 case BSTART: | 711 case BSTART: |
734 m_value.valueID = CSSValueStart; | 712 m_valueID = CSSValueStart; |
735 break; | 713 break; |
736 case BCENTER: | 714 case BCENTER: |
737 m_value.valueID = CSSValueCenter; | 715 m_valueID = CSSValueCenter; |
738 break; | 716 break; |
739 case BEND: | 717 case BEND: |
740 m_value.valueID = CSSValueEnd; | 718 m_valueID = CSSValueEnd; |
741 break; | 719 break; |
742 case BBASELINE: | 720 case BBASELINE: |
743 m_value.valueID = CSSValueBaseline; | 721 m_valueID = CSSValueBaseline; |
744 break; | 722 break; |
745 } | 723 } |
746 } | 724 } |
747 | 725 |
748 template<> inline EBoxAlignment CSSPrimitiveValue::convertTo() const | 726 template<> inline EBoxAlignment CSSIdentifierValue::convertTo() const |
749 { | 727 { |
750 ASSERT(isValueID()); | 728 switch (m_valueID) { |
751 switch (m_value.valueID) { | |
752 case CSSValueStretch: | 729 case CSSValueStretch: |
753 return BSTRETCH; | 730 return BSTRETCH; |
754 case CSSValueStart: | 731 case CSSValueStart: |
755 return BSTART; | 732 return BSTART; |
756 case CSSValueEnd: | 733 case CSSValueEnd: |
757 return BEND; | 734 return BEND; |
758 case CSSValueCenter: | 735 case CSSValueCenter: |
759 return BCENTER; | 736 return BCENTER; |
760 case CSSValueBaseline: | 737 case CSSValueBaseline: |
761 return BBASELINE; | 738 return BBASELINE; |
762 default: | 739 default: |
763 break; | 740 break; |
764 } | 741 } |
765 | 742 |
766 ASSERT_NOT_REACHED(); | 743 ASSERT_NOT_REACHED(); |
767 return BSTRETCH; | 744 return BSTRETCH; |
768 } | 745 } |
769 | 746 |
770 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxDecorationBreak e) | 747 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxDecorationBreak e) |
771 : CSSValue(PrimitiveClass) | 748 : CSSValue(IdentifierClass) |
772 { | 749 { |
773 init(UnitType::ValueID); | |
774 switch (e) { | 750 switch (e) { |
775 case BoxDecorationBreakSlice: | 751 case BoxDecorationBreakSlice: |
776 m_value.valueID = CSSValueSlice; | 752 m_valueID = CSSValueSlice; |
777 break; | 753 break; |
778 case BoxDecorationBreakClone: | 754 case BoxDecorationBreakClone: |
779 m_value.valueID = CSSValueClone; | 755 m_valueID = CSSValueClone; |
780 break; | 756 break; |
781 } | 757 } |
782 } | 758 } |
783 | 759 |
784 template<> inline EBoxDecorationBreak CSSPrimitiveValue::convertTo() const | 760 template<> inline EBoxDecorationBreak CSSIdentifierValue::convertTo() const |
785 { | 761 { |
786 ASSERT(isValueID()); | 762 switch (m_valueID) { |
787 switch (m_value.valueID) { | |
788 case CSSValueSlice: | 763 case CSSValueSlice: |
789 return BoxDecorationBreakSlice; | 764 return BoxDecorationBreakSlice; |
790 case CSSValueClone: | 765 case CSSValueClone: |
791 return BoxDecorationBreakClone; | 766 return BoxDecorationBreakClone; |
792 default: | 767 default: |
793 break; | 768 break; |
794 } | 769 } |
795 | 770 |
796 ASSERT_NOT_REACHED(); | 771 ASSERT_NOT_REACHED(); |
797 return BoxDecorationBreakSlice; | 772 return BoxDecorationBreakSlice; |
798 } | 773 } |
799 | 774 |
800 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(BackgroundEdgeOrigin e) | 775 template<> inline CSSIdentifierValue::CSSIdentifierValue(BackgroundEdgeOrigin e) |
801 : CSSValue(PrimitiveClass) | 776 : CSSValue(IdentifierClass) |
802 { | 777 { |
803 init(UnitType::ValueID); | |
804 switch (e) { | 778 switch (e) { |
805 case TopEdge: | 779 case TopEdge: |
806 m_value.valueID = CSSValueTop; | 780 m_valueID = CSSValueTop; |
807 break; | 781 break; |
808 case RightEdge: | 782 case RightEdge: |
809 m_value.valueID = CSSValueRight; | 783 m_valueID = CSSValueRight; |
810 break; | 784 break; |
811 case BottomEdge: | 785 case BottomEdge: |
812 m_value.valueID = CSSValueBottom; | 786 m_valueID = CSSValueBottom; |
813 break; | 787 break; |
814 case LeftEdge: | 788 case LeftEdge: |
815 m_value.valueID = CSSValueLeft; | 789 m_valueID = CSSValueLeft; |
816 break; | 790 break; |
817 } | 791 } |
818 } | 792 } |
819 | 793 |
820 template<> inline BackgroundEdgeOrigin CSSPrimitiveValue::convertTo() const | 794 template<> inline BackgroundEdgeOrigin CSSIdentifierValue::convertTo() const |
821 { | 795 { |
822 ASSERT(isValueID()); | 796 switch (m_valueID) { |
823 switch (m_value.valueID) { | |
824 case CSSValueTop: | 797 case CSSValueTop: |
825 return TopEdge; | 798 return TopEdge; |
826 case CSSValueRight: | 799 case CSSValueRight: |
827 return RightEdge; | 800 return RightEdge; |
828 case CSSValueBottom: | 801 case CSSValueBottom: |
829 return BottomEdge; | 802 return BottomEdge; |
830 case CSSValueLeft: | 803 case CSSValueLeft: |
831 return LeftEdge; | 804 return LeftEdge; |
832 default: | 805 default: |
833 break; | 806 break; |
834 } | 807 } |
835 | 808 |
836 ASSERT_NOT_REACHED(); | 809 ASSERT_NOT_REACHED(); |
837 return TopEdge; | 810 return TopEdge; |
838 } | 811 } |
839 | 812 |
840 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxSizing e) | 813 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxSizing e) |
841 : CSSValue(PrimitiveClass) | 814 : CSSValue(IdentifierClass) |
842 { | 815 { |
843 init(UnitType::ValueID); | |
844 switch (e) { | 816 switch (e) { |
845 case BoxSizingBorderBox: | 817 case BoxSizingBorderBox: |
846 m_value.valueID = CSSValueBorderBox; | 818 m_valueID = CSSValueBorderBox; |
847 break; | 819 break; |
848 case BoxSizingContentBox: | 820 case BoxSizingContentBox: |
849 m_value.valueID = CSSValueContentBox; | 821 m_valueID = CSSValueContentBox; |
850 break; | 822 break; |
851 } | 823 } |
852 } | 824 } |
853 | 825 |
854 template<> inline EBoxSizing CSSPrimitiveValue::convertTo() const | 826 template<> inline EBoxSizing CSSIdentifierValue::convertTo() const |
855 { | 827 { |
856 ASSERT(isValueID()); | 828 switch (m_valueID) { |
857 switch (m_value.valueID) { | |
858 case CSSValueBorderBox: | 829 case CSSValueBorderBox: |
859 return BoxSizingBorderBox; | 830 return BoxSizingBorderBox; |
860 case CSSValueContentBox: | 831 case CSSValueContentBox: |
861 return BoxSizingContentBox; | 832 return BoxSizingContentBox; |
862 default: | 833 default: |
863 break; | 834 break; |
864 } | 835 } |
865 | 836 |
866 ASSERT_NOT_REACHED(); | 837 ASSERT_NOT_REACHED(); |
867 return BoxSizingBorderBox; | 838 return BoxSizingBorderBox; |
868 } | 839 } |
869 | 840 |
870 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxDirection e) | 841 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxDirection e) |
871 : CSSValue(PrimitiveClass) | 842 : CSSValue(IdentifierClass) |
872 { | 843 { |
873 init(UnitType::ValueID); | |
874 switch (e) { | 844 switch (e) { |
875 case BNORMAL: | 845 case BNORMAL: |
876 m_value.valueID = CSSValueNormal; | 846 m_valueID = CSSValueNormal; |
877 break; | 847 break; |
878 case BREVERSE: | 848 case BREVERSE: |
879 m_value.valueID = CSSValueReverse; | 849 m_valueID = CSSValueReverse; |
880 break; | 850 break; |
881 } | 851 } |
882 } | 852 } |
883 | 853 |
884 template<> inline EBoxDirection CSSPrimitiveValue::convertTo() const | 854 template<> inline EBoxDirection CSSIdentifierValue::convertTo() const |
885 { | 855 { |
886 ASSERT(isValueID()); | 856 switch (m_valueID) { |
887 switch (m_value.valueID) { | |
888 case CSSValueNormal: | 857 case CSSValueNormal: |
889 return BNORMAL; | 858 return BNORMAL; |
890 case CSSValueReverse: | 859 case CSSValueReverse: |
891 return BREVERSE; | 860 return BREVERSE; |
892 default: | 861 default: |
893 break; | 862 break; |
894 } | 863 } |
895 | 864 |
896 ASSERT_NOT_REACHED(); | 865 ASSERT_NOT_REACHED(); |
897 return BNORMAL; | 866 return BNORMAL; |
898 } | 867 } |
899 | 868 |
900 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxLines e) | 869 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxLines e) |
901 : CSSValue(PrimitiveClass) | 870 : CSSValue(IdentifierClass) |
902 { | 871 { |
903 init(UnitType::ValueID); | |
904 switch (e) { | 872 switch (e) { |
905 case SINGLE: | 873 case SINGLE: |
906 m_value.valueID = CSSValueSingle; | 874 m_valueID = CSSValueSingle; |
907 break; | 875 break; |
908 case MULTIPLE: | 876 case MULTIPLE: |
909 m_value.valueID = CSSValueMultiple; | 877 m_valueID = CSSValueMultiple; |
910 break; | 878 break; |
911 } | 879 } |
912 } | 880 } |
913 | 881 |
914 template<> inline EBoxLines CSSPrimitiveValue::convertTo() const | 882 template<> inline EBoxLines CSSIdentifierValue::convertTo() const |
915 { | 883 { |
916 ASSERT(isValueID()); | 884 switch (m_valueID) { |
917 switch (m_value.valueID) { | |
918 case CSSValueSingle: | 885 case CSSValueSingle: |
919 return SINGLE; | 886 return SINGLE; |
920 case CSSValueMultiple: | 887 case CSSValueMultiple: |
921 return MULTIPLE; | 888 return MULTIPLE; |
922 default: | 889 default: |
923 break; | 890 break; |
924 } | 891 } |
925 | 892 |
926 ASSERT_NOT_REACHED(); | 893 ASSERT_NOT_REACHED(); |
927 return SINGLE; | 894 return SINGLE; |
928 } | 895 } |
929 | 896 |
930 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxOrient e) | 897 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBoxOrient e) |
931 : CSSValue(PrimitiveClass) | 898 : CSSValue(IdentifierClass) |
932 { | 899 { |
933 init(UnitType::ValueID); | |
934 switch (e) { | 900 switch (e) { |
935 case HORIZONTAL: | 901 case HORIZONTAL: |
936 m_value.valueID = CSSValueHorizontal; | 902 m_valueID = CSSValueHorizontal; |
937 break; | 903 break; |
938 case VERTICAL: | 904 case VERTICAL: |
939 m_value.valueID = CSSValueVertical; | 905 m_valueID = CSSValueVertical; |
940 break; | 906 break; |
941 } | 907 } |
942 } | 908 } |
943 | 909 |
944 template<> inline EBoxOrient CSSPrimitiveValue::convertTo() const | 910 template<> inline EBoxOrient CSSIdentifierValue::convertTo() const |
945 { | 911 { |
946 ASSERT(isValueID()); | 912 switch (m_valueID) { |
947 switch (m_value.valueID) { | |
948 case CSSValueHorizontal: | 913 case CSSValueHorizontal: |
949 case CSSValueInlineAxis: | 914 case CSSValueInlineAxis: |
950 return HORIZONTAL; | 915 return HORIZONTAL; |
951 case CSSValueVertical: | 916 case CSSValueVertical: |
952 case CSSValueBlockAxis: | 917 case CSSValueBlockAxis: |
953 return VERTICAL; | 918 return VERTICAL; |
954 default: | 919 default: |
955 break; | 920 break; |
956 } | 921 } |
957 | 922 |
958 ASSERT_NOT_REACHED(); | 923 ASSERT_NOT_REACHED(); |
959 return HORIZONTAL; | 924 return HORIZONTAL; |
960 } | 925 } |
961 | 926 |
962 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ECaptionSide e) | 927 template<> inline CSSIdentifierValue::CSSIdentifierValue(ECaptionSide e) |
963 : CSSValue(PrimitiveClass) | 928 : CSSValue(IdentifierClass) |
964 { | 929 { |
965 init(UnitType::ValueID); | |
966 switch (e) { | 930 switch (e) { |
967 case ECaptionSide::Left: | 931 case ECaptionSide::Left: |
968 m_value.valueID = CSSValueLeft; | 932 m_valueID = CSSValueLeft; |
969 break; | 933 break; |
970 case ECaptionSide::Right: | 934 case ECaptionSide::Right: |
971 m_value.valueID = CSSValueRight; | 935 m_valueID = CSSValueRight; |
972 break; | 936 break; |
973 case ECaptionSide::Top: | 937 case ECaptionSide::Top: |
974 m_value.valueID = CSSValueTop; | 938 m_valueID = CSSValueTop; |
975 break; | 939 break; |
976 case ECaptionSide::Bottom: | 940 case ECaptionSide::Bottom: |
977 m_value.valueID = CSSValueBottom; | 941 m_valueID = CSSValueBottom; |
978 break; | 942 break; |
979 } | 943 } |
980 } | 944 } |
981 | 945 |
982 template<> inline ECaptionSide CSSPrimitiveValue::convertTo() const | 946 template<> inline ECaptionSide CSSIdentifierValue::convertTo() const |
983 { | 947 { |
984 ASSERT(isValueID()); | 948 switch (m_valueID) { |
985 switch (m_value.valueID) { | |
986 case CSSValueLeft: | 949 case CSSValueLeft: |
987 return ECaptionSide::Left; | 950 return ECaptionSide::Left; |
988 case CSSValueRight: | 951 case CSSValueRight: |
989 return ECaptionSide::Right; | 952 return ECaptionSide::Right; |
990 case CSSValueTop: | 953 case CSSValueTop: |
991 return ECaptionSide::Top; | 954 return ECaptionSide::Top; |
992 case CSSValueBottom: | 955 case CSSValueBottom: |
993 return ECaptionSide::Bottom; | 956 return ECaptionSide::Bottom; |
994 default: | 957 default: |
995 break; | 958 break; |
996 } | 959 } |
997 | 960 |
998 ASSERT_NOT_REACHED(); | 961 ASSERT_NOT_REACHED(); |
999 return ECaptionSide::Top; | 962 return ECaptionSide::Top; |
1000 } | 963 } |
1001 | 964 |
1002 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EClear e) | 965 template<> inline CSSIdentifierValue::CSSIdentifierValue(EClear e) |
1003 : CSSValue(PrimitiveClass) | 966 : CSSValue(IdentifierClass) |
1004 { | 967 { |
1005 init(UnitType::ValueID); | |
1006 switch (e) { | 968 switch (e) { |
1007 case ClearNone: | 969 case ClearNone: |
1008 m_value.valueID = CSSValueNone; | 970 m_valueID = CSSValueNone; |
1009 break; | 971 break; |
1010 case ClearLeft: | 972 case ClearLeft: |
1011 m_value.valueID = CSSValueLeft; | 973 m_valueID = CSSValueLeft; |
1012 break; | 974 break; |
1013 case ClearRight: | 975 case ClearRight: |
1014 m_value.valueID = CSSValueRight; | 976 m_valueID = CSSValueRight; |
1015 break; | 977 break; |
1016 case ClearBoth: | 978 case ClearBoth: |
1017 m_value.valueID = CSSValueBoth; | 979 m_valueID = CSSValueBoth; |
1018 break; | 980 break; |
1019 } | 981 } |
1020 } | 982 } |
1021 | 983 |
1022 template<> inline EClear CSSPrimitiveValue::convertTo() const | 984 template<> inline EClear CSSIdentifierValue::convertTo() const |
1023 { | 985 { |
1024 ASSERT(isValueID()); | 986 switch (m_valueID) { |
1025 switch (m_value.valueID) { | |
1026 case CSSValueNone: | 987 case CSSValueNone: |
1027 return ClearNone; | 988 return ClearNone; |
1028 case CSSValueLeft: | 989 case CSSValueLeft: |
1029 return ClearLeft; | 990 return ClearLeft; |
1030 case CSSValueRight: | 991 case CSSValueRight: |
1031 return ClearRight; | 992 return ClearRight; |
1032 case CSSValueBoth: | 993 case CSSValueBoth: |
1033 return ClearBoth; | 994 return ClearBoth; |
1034 default: | 995 default: |
1035 break; | 996 break; |
1036 } | 997 } |
1037 | 998 |
1038 ASSERT_NOT_REACHED(); | 999 ASSERT_NOT_REACHED(); |
1039 return ClearNone; | 1000 return ClearNone; |
1040 } | 1001 } |
1041 | 1002 |
1042 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ECursor e) | 1003 template<> inline CSSIdentifierValue::CSSIdentifierValue(ECursor e) |
1043 : CSSValue(PrimitiveClass) | 1004 : CSSValue(IdentifierClass) |
1044 { | 1005 { |
1045 init(UnitType::ValueID); | |
1046 switch (e) { | 1006 switch (e) { |
1047 case CURSOR_AUTO: | 1007 case CURSOR_AUTO: |
1048 m_value.valueID = CSSValueAuto; | 1008 m_valueID = CSSValueAuto; |
1049 break; | 1009 break; |
1050 case CURSOR_CROSS: | 1010 case CURSOR_CROSS: |
1051 m_value.valueID = CSSValueCrosshair; | 1011 m_valueID = CSSValueCrosshair; |
1052 break; | 1012 break; |
1053 case CURSOR_DEFAULT: | 1013 case CURSOR_DEFAULT: |
1054 m_value.valueID = CSSValueDefault; | 1014 m_valueID = CSSValueDefault; |
1055 break; | 1015 break; |
1056 case CURSOR_POINTER: | 1016 case CURSOR_POINTER: |
1057 m_value.valueID = CSSValuePointer; | 1017 m_valueID = CSSValuePointer; |
1058 break; | 1018 break; |
1059 case CURSOR_MOVE: | 1019 case CURSOR_MOVE: |
1060 m_value.valueID = CSSValueMove; | 1020 m_valueID = CSSValueMove; |
1061 break; | 1021 break; |
1062 case CURSOR_CELL: | 1022 case CURSOR_CELL: |
1063 m_value.valueID = CSSValueCell; | 1023 m_valueID = CSSValueCell; |
1064 break; | 1024 break; |
1065 case CURSOR_VERTICAL_TEXT: | 1025 case CURSOR_VERTICAL_TEXT: |
1066 m_value.valueID = CSSValueVerticalText; | 1026 m_valueID = CSSValueVerticalText; |
1067 break; | 1027 break; |
1068 case CURSOR_CONTEXT_MENU: | 1028 case CURSOR_CONTEXT_MENU: |
1069 m_value.valueID = CSSValueContextMenu; | 1029 m_valueID = CSSValueContextMenu; |
1070 break; | 1030 break; |
1071 case CURSOR_ALIAS: | 1031 case CURSOR_ALIAS: |
1072 m_value.valueID = CSSValueAlias; | 1032 m_valueID = CSSValueAlias; |
1073 break; | 1033 break; |
1074 case CURSOR_COPY: | 1034 case CURSOR_COPY: |
1075 m_value.valueID = CSSValueCopy; | 1035 m_valueID = CSSValueCopy; |
1076 break; | 1036 break; |
1077 case CURSOR_NONE: | 1037 case CURSOR_NONE: |
1078 m_value.valueID = CSSValueNone; | 1038 m_valueID = CSSValueNone; |
1079 break; | 1039 break; |
1080 case CURSOR_PROGRESS: | 1040 case CURSOR_PROGRESS: |
1081 m_value.valueID = CSSValueProgress; | 1041 m_valueID = CSSValueProgress; |
1082 break; | 1042 break; |
1083 case CURSOR_NO_DROP: | 1043 case CURSOR_NO_DROP: |
1084 m_value.valueID = CSSValueNoDrop; | 1044 m_valueID = CSSValueNoDrop; |
1085 break; | 1045 break; |
1086 case CURSOR_NOT_ALLOWED: | 1046 case CURSOR_NOT_ALLOWED: |
1087 m_value.valueID = CSSValueNotAllowed; | 1047 m_valueID = CSSValueNotAllowed; |
1088 break; | 1048 break; |
1089 case CURSOR_ZOOM_IN: | 1049 case CURSOR_ZOOM_IN: |
1090 m_value.valueID = CSSValueZoomIn; | 1050 m_valueID = CSSValueZoomIn; |
1091 break; | 1051 break; |
1092 case CURSOR_ZOOM_OUT: | 1052 case CURSOR_ZOOM_OUT: |
1093 m_value.valueID = CSSValueZoomOut; | 1053 m_valueID = CSSValueZoomOut; |
1094 break; | 1054 break; |
1095 case CURSOR_E_RESIZE: | 1055 case CURSOR_E_RESIZE: |
1096 m_value.valueID = CSSValueEResize; | 1056 m_valueID = CSSValueEResize; |
1097 break; | 1057 break; |
1098 case CURSOR_NE_RESIZE: | 1058 case CURSOR_NE_RESIZE: |
1099 m_value.valueID = CSSValueNeResize; | 1059 m_valueID = CSSValueNeResize; |
1100 break; | 1060 break; |
1101 case CURSOR_NW_RESIZE: | 1061 case CURSOR_NW_RESIZE: |
1102 m_value.valueID = CSSValueNwResize; | 1062 m_valueID = CSSValueNwResize; |
1103 break; | 1063 break; |
1104 case CURSOR_N_RESIZE: | 1064 case CURSOR_N_RESIZE: |
1105 m_value.valueID = CSSValueNResize; | 1065 m_valueID = CSSValueNResize; |
1106 break; | 1066 break; |
1107 case CURSOR_SE_RESIZE: | 1067 case CURSOR_SE_RESIZE: |
1108 m_value.valueID = CSSValueSeResize; | 1068 m_valueID = CSSValueSeResize; |
1109 break; | 1069 break; |
1110 case CURSOR_SW_RESIZE: | 1070 case CURSOR_SW_RESIZE: |
1111 m_value.valueID = CSSValueSwResize; | 1071 m_valueID = CSSValueSwResize; |
1112 break; | 1072 break; |
1113 case CURSOR_S_RESIZE: | 1073 case CURSOR_S_RESIZE: |
1114 m_value.valueID = CSSValueSResize; | 1074 m_valueID = CSSValueSResize; |
1115 break; | 1075 break; |
1116 case CURSOR_W_RESIZE: | 1076 case CURSOR_W_RESIZE: |
1117 m_value.valueID = CSSValueWResize; | 1077 m_valueID = CSSValueWResize; |
1118 break; | 1078 break; |
1119 case CURSOR_EW_RESIZE: | 1079 case CURSOR_EW_RESIZE: |
1120 m_value.valueID = CSSValueEwResize; | 1080 m_valueID = CSSValueEwResize; |
1121 break; | 1081 break; |
1122 case CURSOR_NS_RESIZE: | 1082 case CURSOR_NS_RESIZE: |
1123 m_value.valueID = CSSValueNsResize; | 1083 m_valueID = CSSValueNsResize; |
1124 break; | 1084 break; |
1125 case CURSOR_NESW_RESIZE: | 1085 case CURSOR_NESW_RESIZE: |
1126 m_value.valueID = CSSValueNeswResize; | 1086 m_valueID = CSSValueNeswResize; |
1127 break; | 1087 break; |
1128 case CURSOR_NWSE_RESIZE: | 1088 case CURSOR_NWSE_RESIZE: |
1129 m_value.valueID = CSSValueNwseResize; | 1089 m_valueID = CSSValueNwseResize; |
1130 break; | 1090 break; |
1131 case CURSOR_COL_RESIZE: | 1091 case CURSOR_COL_RESIZE: |
1132 m_value.valueID = CSSValueColResize; | 1092 m_valueID = CSSValueColResize; |
1133 break; | 1093 break; |
1134 case CURSOR_ROW_RESIZE: | 1094 case CURSOR_ROW_RESIZE: |
1135 m_value.valueID = CSSValueRowResize; | 1095 m_valueID = CSSValueRowResize; |
1136 break; | 1096 break; |
1137 case CURSOR_TEXT: | 1097 case CURSOR_TEXT: |
1138 m_value.valueID = CSSValueText; | 1098 m_valueID = CSSValueText; |
1139 break; | 1099 break; |
1140 case CURSOR_WAIT: | 1100 case CURSOR_WAIT: |
1141 m_value.valueID = CSSValueWait; | 1101 m_valueID = CSSValueWait; |
1142 break; | 1102 break; |
1143 case CURSOR_HELP: | 1103 case CURSOR_HELP: |
1144 m_value.valueID = CSSValueHelp; | 1104 m_valueID = CSSValueHelp; |
1145 break; | 1105 break; |
1146 case CURSOR_ALL_SCROLL: | 1106 case CURSOR_ALL_SCROLL: |
1147 m_value.valueID = CSSValueAllScroll; | 1107 m_valueID = CSSValueAllScroll; |
1148 break; | 1108 break; |
1149 case CURSOR_WEBKIT_GRAB: | 1109 case CURSOR_WEBKIT_GRAB: |
1150 m_value.valueID = CSSValueWebkitGrab; | 1110 m_valueID = CSSValueWebkitGrab; |
1151 break; | 1111 break; |
1152 case CURSOR_WEBKIT_GRABBING: | 1112 case CURSOR_WEBKIT_GRABBING: |
1153 m_value.valueID = CSSValueWebkitGrabbing; | 1113 m_valueID = CSSValueWebkitGrabbing; |
1154 break; | 1114 break; |
1155 } | 1115 } |
1156 } | 1116 } |
1157 | 1117 |
1158 template<> inline ECursor CSSPrimitiveValue::convertTo() const | 1118 template<> inline ECursor CSSIdentifierValue::convertTo() const |
1159 { | 1119 { |
1160 ASSERT(isValueID()); | 1120 switch (m_valueID) { |
1161 switch (m_value.valueID) { | |
1162 case CSSValueCopy: | 1121 case CSSValueCopy: |
1163 return CURSOR_COPY; | 1122 return CURSOR_COPY; |
1164 case CSSValueWebkitZoomIn: | 1123 case CSSValueWebkitZoomIn: |
1165 return CURSOR_ZOOM_IN; | 1124 return CURSOR_ZOOM_IN; |
1166 case CSSValueWebkitZoomOut: | 1125 case CSSValueWebkitZoomOut: |
1167 return CURSOR_ZOOM_OUT; | 1126 return CURSOR_ZOOM_OUT; |
1168 case CSSValueNone: | 1127 case CSSValueNone: |
1169 return CURSOR_NONE; | 1128 return CURSOR_NONE; |
1170 default: | 1129 default: |
1171 return static_cast<ECursor>(m_value.valueID - CSSValueAuto); | 1130 return static_cast<ECursor>(m_valueID - CSSValueAuto); |
1172 } | 1131 } |
1173 } | 1132 } |
1174 | 1133 |
1175 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDisplay e) | 1134 template<> inline CSSIdentifierValue::CSSIdentifierValue(EDisplay e) |
1176 : CSSValue(PrimitiveClass) | 1135 : CSSValue(IdentifierClass) |
1177 { | 1136 { |
1178 init(UnitType::ValueID); | |
1179 switch (e) { | 1137 switch (e) { |
1180 case EDisplay::Inline: | 1138 case EDisplay::Inline: |
1181 m_value.valueID = CSSValueInline; | 1139 m_valueID = CSSValueInline; |
1182 break; | 1140 break; |
1183 case EDisplay::Block: | 1141 case EDisplay::Block: |
1184 m_value.valueID = CSSValueBlock; | 1142 m_valueID = CSSValueBlock; |
1185 break; | 1143 break; |
1186 case EDisplay::ListItem: | 1144 case EDisplay::ListItem: |
1187 m_value.valueID = CSSValueListItem; | 1145 m_valueID = CSSValueListItem; |
1188 break; | 1146 break; |
1189 case EDisplay::InlineBlock: | 1147 case EDisplay::InlineBlock: |
1190 m_value.valueID = CSSValueInlineBlock; | 1148 m_valueID = CSSValueInlineBlock; |
1191 break; | 1149 break; |
1192 case EDisplay::Table: | 1150 case EDisplay::Table: |
1193 m_value.valueID = CSSValueTable; | 1151 m_valueID = CSSValueTable; |
1194 break; | 1152 break; |
1195 case EDisplay::InlineTable: | 1153 case EDisplay::InlineTable: |
1196 m_value.valueID = CSSValueInlineTable; | 1154 m_valueID = CSSValueInlineTable; |
1197 break; | 1155 break; |
1198 case EDisplay::TableRowGroup: | 1156 case EDisplay::TableRowGroup: |
1199 m_value.valueID = CSSValueTableRowGroup; | 1157 m_valueID = CSSValueTableRowGroup; |
1200 break; | 1158 break; |
1201 case EDisplay::TableHeaderGroup: | 1159 case EDisplay::TableHeaderGroup: |
1202 m_value.valueID = CSSValueTableHeaderGroup; | 1160 m_valueID = CSSValueTableHeaderGroup; |
1203 break; | 1161 break; |
1204 case EDisplay::TableFooterGroup: | 1162 case EDisplay::TableFooterGroup: |
1205 m_value.valueID = CSSValueTableFooterGroup; | 1163 m_valueID = CSSValueTableFooterGroup; |
1206 break; | 1164 break; |
1207 case EDisplay::TableRow: | 1165 case EDisplay::TableRow: |
1208 m_value.valueID = CSSValueTableRow; | 1166 m_valueID = CSSValueTableRow; |
1209 break; | 1167 break; |
1210 case EDisplay::TableColumnGroup: | 1168 case EDisplay::TableColumnGroup: |
1211 m_value.valueID = CSSValueTableColumnGroup; | 1169 m_valueID = CSSValueTableColumnGroup; |
1212 break; | 1170 break; |
1213 case EDisplay::TableColumn: | 1171 case EDisplay::TableColumn: |
1214 m_value.valueID = CSSValueTableColumn; | 1172 m_valueID = CSSValueTableColumn; |
1215 break; | 1173 break; |
1216 case EDisplay::TableCell: | 1174 case EDisplay::TableCell: |
1217 m_value.valueID = CSSValueTableCell; | 1175 m_valueID = CSSValueTableCell; |
1218 break; | 1176 break; |
1219 case EDisplay::TableCaption: | 1177 case EDisplay::TableCaption: |
1220 m_value.valueID = CSSValueTableCaption; | 1178 m_valueID = CSSValueTableCaption; |
1221 break; | 1179 break; |
1222 case EDisplay::Box: | 1180 case EDisplay::Box: |
1223 m_value.valueID = CSSValueWebkitBox; | 1181 m_valueID = CSSValueWebkitBox; |
1224 break; | 1182 break; |
1225 case EDisplay::InlineBox: | 1183 case EDisplay::InlineBox: |
1226 m_value.valueID = CSSValueWebkitInlineBox; | 1184 m_valueID = CSSValueWebkitInlineBox; |
1227 break; | 1185 break; |
1228 case EDisplay::Flex: | 1186 case EDisplay::Flex: |
1229 m_value.valueID = CSSValueFlex; | 1187 m_valueID = CSSValueFlex; |
1230 break; | 1188 break; |
1231 case EDisplay::InlineFlex: | 1189 case EDisplay::InlineFlex: |
1232 m_value.valueID = CSSValueInlineFlex; | 1190 m_valueID = CSSValueInlineFlex; |
1233 break; | 1191 break; |
1234 case EDisplay::Grid: | 1192 case EDisplay::Grid: |
1235 m_value.valueID = CSSValueGrid; | 1193 m_valueID = CSSValueGrid; |
1236 break; | 1194 break; |
1237 case EDisplay::InlineGrid: | 1195 case EDisplay::InlineGrid: |
1238 m_value.valueID = CSSValueInlineGrid; | 1196 m_valueID = CSSValueInlineGrid; |
1239 break; | 1197 break; |
1240 case EDisplay::None: | 1198 case EDisplay::None: |
1241 m_value.valueID = CSSValueNone; | 1199 m_valueID = CSSValueNone; |
1242 break; | 1200 break; |
1243 } | 1201 } |
1244 } | 1202 } |
1245 | 1203 |
1246 template<> inline EDisplay CSSPrimitiveValue::convertTo() const | 1204 template<> inline EDisplay CSSIdentifierValue::convertTo() const |
1247 { | 1205 { |
1248 ASSERT(isValueID()); | 1206 if (m_valueID == CSSValueNone) |
1249 if (m_value.valueID == CSSValueNone) | |
1250 return EDisplay::None; | 1207 return EDisplay::None; |
1251 | 1208 |
1252 if (m_value.valueID == CSSValueWebkitFlex) | 1209 if (m_valueID == CSSValueWebkitFlex) |
1253 return EDisplay::Flex; | 1210 return EDisplay::Flex; |
1254 if (m_value.valueID == CSSValueWebkitInlineFlex) | 1211 if (m_valueID == CSSValueWebkitInlineFlex) |
1255 return EDisplay::InlineFlex; | 1212 return EDisplay::InlineFlex; |
1256 | 1213 |
1257 EDisplay display = static_cast<EDisplay>(m_value.valueID - CSSValueInline); | 1214 EDisplay display = static_cast<EDisplay>(m_valueID - CSSValueInline); |
1258 // TODO(sashab): Check display is a valid EDisplay here. | 1215 // TODO(sashab): Check display is a valid EDisplay here. |
1259 return display; | 1216 return display; |
1260 } | 1217 } |
1261 | 1218 |
1262 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EEmptyCells e) | 1219 template<> inline CSSIdentifierValue::CSSIdentifierValue(EEmptyCells e) |
1263 : CSSValue(PrimitiveClass) | 1220 : CSSValue(IdentifierClass) |
1264 { | 1221 { |
1265 init(UnitType::ValueID); | |
1266 switch (e) { | 1222 switch (e) { |
1267 case EEmptyCells::Show: | 1223 case EEmptyCells::Show: |
1268 m_value.valueID = CSSValueShow; | 1224 m_valueID = CSSValueShow; |
1269 break; | 1225 break; |
1270 case EEmptyCells::Hide: | 1226 case EEmptyCells::Hide: |
1271 m_value.valueID = CSSValueHide; | 1227 m_valueID = CSSValueHide; |
1272 break; | 1228 break; |
1273 } | 1229 } |
1274 } | 1230 } |
1275 | 1231 |
1276 template<> inline EEmptyCells CSSPrimitiveValue::convertTo() const | 1232 template<> inline EEmptyCells CSSIdentifierValue::convertTo() const |
1277 { | 1233 { |
1278 ASSERT(isValueID()); | 1234 switch (m_valueID) { |
1279 switch (m_value.valueID) { | |
1280 case CSSValueShow: | 1235 case CSSValueShow: |
1281 return EEmptyCells::Show; | 1236 return EEmptyCells::Show; |
1282 case CSSValueHide: | 1237 case CSSValueHide: |
1283 return EEmptyCells::Hide; | 1238 return EEmptyCells::Hide; |
1284 default: | 1239 default: |
1285 break; | 1240 break; |
1286 } | 1241 } |
1287 | 1242 |
1288 ASSERT_NOT_REACHED(); | 1243 ASSERT_NOT_REACHED(); |
1289 return EEmptyCells::Show; | 1244 return EEmptyCells::Show; |
1290 } | 1245 } |
1291 | 1246 |
1292 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexDirection e) | 1247 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFlexDirection e) |
1293 : CSSValue(PrimitiveClass) | 1248 : CSSValue(IdentifierClass) |
1294 { | 1249 { |
1295 init(UnitType::ValueID); | |
1296 switch (e) { | 1250 switch (e) { |
1297 case FlowRow: | 1251 case FlowRow: |
1298 m_value.valueID = CSSValueRow; | 1252 m_valueID = CSSValueRow; |
1299 break; | 1253 break; |
1300 case FlowRowReverse: | 1254 case FlowRowReverse: |
1301 m_value.valueID = CSSValueRowReverse; | 1255 m_valueID = CSSValueRowReverse; |
1302 break; | 1256 break; |
1303 case FlowColumn: | 1257 case FlowColumn: |
1304 m_value.valueID = CSSValueColumn; | 1258 m_valueID = CSSValueColumn; |
1305 break; | 1259 break; |
1306 case FlowColumnReverse: | 1260 case FlowColumnReverse: |
1307 m_value.valueID = CSSValueColumnReverse; | 1261 m_valueID = CSSValueColumnReverse; |
1308 break; | 1262 break; |
1309 } | 1263 } |
1310 } | 1264 } |
1311 | 1265 |
1312 template<> inline EFlexDirection CSSPrimitiveValue::convertTo() const | 1266 template<> inline EFlexDirection CSSIdentifierValue::convertTo() const |
1313 { | 1267 { |
1314 ASSERT(isValueID()); | 1268 switch (m_valueID) { |
1315 switch (m_value.valueID) { | |
1316 case CSSValueRow: | 1269 case CSSValueRow: |
1317 return FlowRow; | 1270 return FlowRow; |
1318 case CSSValueRowReverse: | 1271 case CSSValueRowReverse: |
1319 return FlowRowReverse; | 1272 return FlowRowReverse; |
1320 case CSSValueColumn: | 1273 case CSSValueColumn: |
1321 return FlowColumn; | 1274 return FlowColumn; |
1322 case CSSValueColumnReverse: | 1275 case CSSValueColumnReverse: |
1323 return FlowColumnReverse; | 1276 return FlowColumnReverse; |
1324 default: | 1277 default: |
1325 break; | 1278 break; |
1326 } | 1279 } |
1327 | 1280 |
1328 ASSERT_NOT_REACHED(); | 1281 ASSERT_NOT_REACHED(); |
1329 return FlowRow; | 1282 return FlowRow; |
1330 } | 1283 } |
1331 | 1284 |
1332 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexWrap e) | 1285 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFlexWrap e) |
1333 : CSSValue(PrimitiveClass) | 1286 : CSSValue(IdentifierClass) |
1334 { | 1287 { |
1335 init(UnitType::ValueID); | |
1336 switch (e) { | 1288 switch (e) { |
1337 case FlexNoWrap: | 1289 case FlexNoWrap: |
1338 m_value.valueID = CSSValueNowrap; | 1290 m_valueID = CSSValueNowrap; |
1339 break; | 1291 break; |
1340 case FlexWrap: | 1292 case FlexWrap: |
1341 m_value.valueID = CSSValueWrap; | 1293 m_valueID = CSSValueWrap; |
1342 break; | 1294 break; |
1343 case FlexWrapReverse: | 1295 case FlexWrapReverse: |
1344 m_value.valueID = CSSValueWrapReverse; | 1296 m_valueID = CSSValueWrapReverse; |
1345 break; | 1297 break; |
1346 } | 1298 } |
1347 } | 1299 } |
1348 | 1300 |
1349 template<> inline EFlexWrap CSSPrimitiveValue::convertTo() const | 1301 template<> inline EFlexWrap CSSIdentifierValue::convertTo() const |
1350 { | 1302 { |
1351 ASSERT(isValueID()); | 1303 switch (m_valueID) { |
1352 switch (m_value.valueID) { | |
1353 case CSSValueNowrap: | 1304 case CSSValueNowrap: |
1354 return FlexNoWrap; | 1305 return FlexNoWrap; |
1355 case CSSValueWrap: | 1306 case CSSValueWrap: |
1356 return FlexWrap; | 1307 return FlexWrap; |
1357 case CSSValueWrapReverse: | 1308 case CSSValueWrapReverse: |
1358 return FlexWrapReverse; | 1309 return FlexWrapReverse; |
1359 default: | 1310 default: |
1360 break; | 1311 break; |
1361 } | 1312 } |
1362 | 1313 |
1363 ASSERT_NOT_REACHED(); | 1314 ASSERT_NOT_REACHED(); |
1364 return FlexNoWrap; | 1315 return FlexNoWrap; |
1365 } | 1316 } |
1366 | 1317 |
1367 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFloat e) | 1318 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFloat e) |
1368 : CSSValue(PrimitiveClass) | 1319 : CSSValue(IdentifierClass) |
1369 { | 1320 { |
1370 init(UnitType::ValueID); | |
1371 switch (e) { | 1321 switch (e) { |
1372 case EFloat::None: | 1322 case EFloat::None: |
1373 m_value.valueID = CSSValueNone; | 1323 m_valueID = CSSValueNone; |
1374 break; | 1324 break; |
1375 case EFloat::Left: | 1325 case EFloat::Left: |
1376 m_value.valueID = CSSValueLeft; | 1326 m_valueID = CSSValueLeft; |
1377 break; | 1327 break; |
1378 case EFloat::Right: | 1328 case EFloat::Right: |
1379 m_value.valueID = CSSValueRight; | 1329 m_valueID = CSSValueRight; |
1380 break; | 1330 break; |
1381 } | 1331 } |
1382 } | 1332 } |
1383 | 1333 |
1384 template<> inline EFloat CSSPrimitiveValue::convertTo() const | 1334 template<> inline EFloat CSSIdentifierValue::convertTo() const |
1385 { | 1335 { |
1386 ASSERT(isValueID()); | 1336 switch (m_valueID) { |
1387 switch (m_value.valueID) { | |
1388 case CSSValueLeft: | 1337 case CSSValueLeft: |
1389 return EFloat::Left; | 1338 return EFloat::Left; |
1390 case CSSValueRight: | 1339 case CSSValueRight: |
1391 return EFloat::Right; | 1340 return EFloat::Right; |
1392 case CSSValueNone: | 1341 case CSSValueNone: |
1393 return EFloat::None; | 1342 return EFloat::None; |
1394 default: | 1343 default: |
1395 break; | 1344 break; |
1396 } | 1345 } |
1397 | 1346 |
1398 ASSERT_NOT_REACHED(); | 1347 ASSERT_NOT_REACHED(); |
1399 return EFloat::None; | 1348 return EFloat::None; |
1400 } | 1349 } |
1401 | 1350 |
1402 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(Hyphens e) | 1351 template<> inline CSSIdentifierValue::CSSIdentifierValue(Hyphens e) |
1403 : CSSValue(PrimitiveClass) | 1352 : CSSValue(IdentifierClass) |
1404 { | 1353 { |
1405 init(UnitType::ValueID); | |
1406 switch (e) { | 1354 switch (e) { |
1407 case HyphensAuto: | 1355 case HyphensAuto: |
1408 m_value.valueID = CSSValueAuto; | 1356 m_valueID = CSSValueAuto; |
1409 break; | 1357 break; |
1410 case HyphensManual: | 1358 case HyphensManual: |
1411 m_value.valueID = CSSValueManual; | 1359 m_valueID = CSSValueManual; |
1412 break; | 1360 break; |
1413 case HyphensNone: | 1361 case HyphensNone: |
1414 m_value.valueID = CSSValueNone; | 1362 m_valueID = CSSValueNone; |
1415 break; | 1363 break; |
1416 } | 1364 } |
1417 } | 1365 } |
1418 | 1366 |
1419 template<> inline Hyphens CSSPrimitiveValue::convertTo() const | 1367 template<> inline Hyphens CSSIdentifierValue::convertTo() const |
1420 { | 1368 { |
1421 DCHECK(isValueID()); | 1369 switch (m_valueID) { |
1422 switch (m_value.valueID) { | |
1423 case CSSValueAuto: | 1370 case CSSValueAuto: |
1424 return HyphensAuto; | 1371 return HyphensAuto; |
1425 case CSSValueManual: | 1372 case CSSValueManual: |
1426 return HyphensManual; | 1373 return HyphensManual; |
1427 case CSSValueNone: | 1374 case CSSValueNone: |
1428 return HyphensNone; | 1375 return HyphensNone; |
1429 default: | 1376 default: |
1430 break; | 1377 break; |
1431 } | 1378 } |
1432 | 1379 |
1433 NOTREACHED(); | 1380 NOTREACHED(); |
1434 return HyphensManual; | 1381 return HyphensManual; |
1435 } | 1382 } |
1436 | 1383 |
1437 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineBreak e) | 1384 template<> inline CSSIdentifierValue::CSSIdentifierValue(LineBreak e) |
1438 : CSSValue(PrimitiveClass) | 1385 : CSSValue(IdentifierClass) |
1439 { | 1386 { |
1440 init(UnitType::ValueID); | |
1441 switch (e) { | 1387 switch (e) { |
1442 case LineBreakAuto: | 1388 case LineBreakAuto: |
1443 m_value.valueID = CSSValueAuto; | 1389 m_valueID = CSSValueAuto; |
1444 break; | 1390 break; |
1445 case LineBreakLoose: | 1391 case LineBreakLoose: |
1446 m_value.valueID = CSSValueLoose; | 1392 m_valueID = CSSValueLoose; |
1447 break; | 1393 break; |
1448 case LineBreakNormal: | 1394 case LineBreakNormal: |
1449 m_value.valueID = CSSValueNormal; | 1395 m_valueID = CSSValueNormal; |
1450 break; | 1396 break; |
1451 case LineBreakStrict: | 1397 case LineBreakStrict: |
1452 m_value.valueID = CSSValueStrict; | 1398 m_valueID = CSSValueStrict; |
1453 break; | 1399 break; |
1454 case LineBreakAfterWhiteSpace: | 1400 case LineBreakAfterWhiteSpace: |
1455 m_value.valueID = CSSValueAfterWhiteSpace; | 1401 m_valueID = CSSValueAfterWhiteSpace; |
1456 break; | 1402 break; |
1457 } | 1403 } |
1458 } | 1404 } |
1459 | 1405 |
1460 template<> inline LineBreak CSSPrimitiveValue::convertTo() const | 1406 template<> inline LineBreak CSSIdentifierValue::convertTo() const |
1461 { | 1407 { |
1462 ASSERT(isValueID()); | 1408 switch (m_valueID) { |
1463 switch (m_value.valueID) { | |
1464 case CSSValueAuto: | 1409 case CSSValueAuto: |
1465 return LineBreakAuto; | 1410 return LineBreakAuto; |
1466 case CSSValueLoose: | 1411 case CSSValueLoose: |
1467 return LineBreakLoose; | 1412 return LineBreakLoose; |
1468 case CSSValueNormal: | 1413 case CSSValueNormal: |
1469 return LineBreakNormal; | 1414 return LineBreakNormal; |
1470 case CSSValueStrict: | 1415 case CSSValueStrict: |
1471 return LineBreakStrict; | 1416 return LineBreakStrict; |
1472 case CSSValueAfterWhiteSpace: | 1417 case CSSValueAfterWhiteSpace: |
1473 return LineBreakAfterWhiteSpace; | 1418 return LineBreakAfterWhiteSpace; |
1474 default: | 1419 default: |
1475 break; | 1420 break; |
1476 } | 1421 } |
1477 | 1422 |
1478 ASSERT_NOT_REACHED(); | 1423 ASSERT_NOT_REACHED(); |
1479 return LineBreakAuto; | 1424 return LineBreakAuto; |
1480 } | 1425 } |
1481 | 1426 |
1482 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EListStylePosition e) | 1427 template<> inline CSSIdentifierValue::CSSIdentifierValue(EListStylePosition e) |
1483 : CSSValue(PrimitiveClass) | 1428 : CSSValue(IdentifierClass) |
1484 { | 1429 { |
1485 init(UnitType::ValueID); | |
1486 switch (e) { | 1430 switch (e) { |
1487 case ListStylePositionOutside: | 1431 case ListStylePositionOutside: |
1488 m_value.valueID = CSSValueOutside; | 1432 m_valueID = CSSValueOutside; |
1489 break; | 1433 break; |
1490 case ListStylePositionInside: | 1434 case ListStylePositionInside: |
1491 m_value.valueID = CSSValueInside; | 1435 m_valueID = CSSValueInside; |
1492 break; | 1436 break; |
1493 } | 1437 } |
1494 } | 1438 } |
1495 | 1439 |
1496 template<> inline EListStylePosition CSSPrimitiveValue::convertTo() const | 1440 template<> inline EListStylePosition CSSIdentifierValue::convertTo() const |
1497 { | 1441 { |
1498 ASSERT(isValueID()); | 1442 switch (m_valueID) { |
1499 switch (m_value.valueID) { | |
1500 case CSSValueOutside: | 1443 case CSSValueOutside: |
1501 return ListStylePositionOutside; | 1444 return ListStylePositionOutside; |
1502 case CSSValueInside: | 1445 case CSSValueInside: |
1503 return ListStylePositionInside; | 1446 return ListStylePositionInside; |
1504 default: | 1447 default: |
1505 break; | 1448 break; |
1506 } | 1449 } |
1507 | 1450 |
1508 ASSERT_NOT_REACHED(); | 1451 ASSERT_NOT_REACHED(); |
1509 return ListStylePositionOutside; | 1452 return ListStylePositionOutside; |
1510 } | 1453 } |
1511 | 1454 |
1512 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EListStyleType e) | 1455 template<> inline CSSIdentifierValue::CSSIdentifierValue(EListStyleType e) |
1513 : CSSValue(PrimitiveClass) | 1456 : CSSValue(IdentifierClass) |
1514 { | 1457 { |
1515 init(UnitType::ValueID); | |
1516 switch (e) { | 1458 switch (e) { |
1517 case ArabicIndic: | 1459 case ArabicIndic: |
1518 m_value.valueID = CSSValueArabicIndic; | 1460 m_valueID = CSSValueArabicIndic; |
1519 break; | 1461 break; |
1520 case Armenian: | 1462 case Armenian: |
1521 m_value.valueID = CSSValueArmenian; | 1463 m_valueID = CSSValueArmenian; |
1522 break; | 1464 break; |
1523 case Bengali: | 1465 case Bengali: |
1524 m_value.valueID = CSSValueBengali; | 1466 m_valueID = CSSValueBengali; |
1525 break; | 1467 break; |
1526 case Cambodian: | 1468 case Cambodian: |
1527 m_value.valueID = CSSValueCambodian; | 1469 m_valueID = CSSValueCambodian; |
1528 break; | 1470 break; |
1529 case Circle: | 1471 case Circle: |
1530 m_value.valueID = CSSValueCircle; | 1472 m_valueID = CSSValueCircle; |
1531 break; | 1473 break; |
1532 case CjkEarthlyBranch: | 1474 case CjkEarthlyBranch: |
1533 m_value.valueID = CSSValueCjkEarthlyBranch; | 1475 m_valueID = CSSValueCjkEarthlyBranch; |
1534 break; | 1476 break; |
1535 case CjkHeavenlyStem: | 1477 case CjkHeavenlyStem: |
1536 m_value.valueID = CSSValueCjkHeavenlyStem; | 1478 m_valueID = CSSValueCjkHeavenlyStem; |
1537 break; | 1479 break; |
1538 case CJKIdeographic: | 1480 case CJKIdeographic: |
1539 m_value.valueID = CSSValueCjkIdeographic; | 1481 m_valueID = CSSValueCjkIdeographic; |
1540 break; | 1482 break; |
1541 case DecimalLeadingZero: | 1483 case DecimalLeadingZero: |
1542 m_value.valueID = CSSValueDecimalLeadingZero; | 1484 m_valueID = CSSValueDecimalLeadingZero; |
1543 break; | 1485 break; |
1544 case DecimalListStyle: | 1486 case DecimalListStyle: |
1545 m_value.valueID = CSSValueDecimal; | 1487 m_valueID = CSSValueDecimal; |
1546 break; | 1488 break; |
1547 case Devanagari: | 1489 case Devanagari: |
1548 m_value.valueID = CSSValueDevanagari; | 1490 m_valueID = CSSValueDevanagari; |
1549 break; | 1491 break; |
1550 case Disc: | 1492 case Disc: |
1551 m_value.valueID = CSSValueDisc; | 1493 m_valueID = CSSValueDisc; |
1552 break; | 1494 break; |
1553 case EthiopicHalehame: | 1495 case EthiopicHalehame: |
1554 m_value.valueID = CSSValueEthiopicHalehame; | 1496 m_valueID = CSSValueEthiopicHalehame; |
1555 break; | 1497 break; |
1556 case EthiopicHalehameAm: | 1498 case EthiopicHalehameAm: |
1557 m_value.valueID = CSSValueEthiopicHalehameAm; | 1499 m_valueID = CSSValueEthiopicHalehameAm; |
1558 break; | 1500 break; |
1559 case EthiopicHalehameTiEt: | 1501 case EthiopicHalehameTiEt: |
1560 m_value.valueID = CSSValueEthiopicHalehameTiEt; | 1502 m_valueID = CSSValueEthiopicHalehameTiEt; |
1561 break; | 1503 break; |
1562 case EthiopicHalehameTiEr: | 1504 case EthiopicHalehameTiEr: |
1563 m_value.valueID = CSSValueEthiopicHalehameTiEr; | 1505 m_valueID = CSSValueEthiopicHalehameTiEr; |
1564 break; | 1506 break; |
1565 case Georgian: | 1507 case Georgian: |
1566 m_value.valueID = CSSValueGeorgian; | 1508 m_valueID = CSSValueGeorgian; |
1567 break; | 1509 break; |
1568 case Gujarati: | 1510 case Gujarati: |
1569 m_value.valueID = CSSValueGujarati; | 1511 m_valueID = CSSValueGujarati; |
1570 break; | 1512 break; |
1571 case Gurmukhi: | 1513 case Gurmukhi: |
1572 m_value.valueID = CSSValueGurmukhi; | 1514 m_valueID = CSSValueGurmukhi; |
1573 break; | 1515 break; |
1574 case Hangul: | 1516 case Hangul: |
1575 m_value.valueID = CSSValueHangul; | 1517 m_valueID = CSSValueHangul; |
1576 break; | 1518 break; |
1577 case HangulConsonant: | 1519 case HangulConsonant: |
1578 m_value.valueID = CSSValueHangulConsonant; | 1520 m_valueID = CSSValueHangulConsonant; |
1579 break; | 1521 break; |
1580 case KoreanHangulFormal: | 1522 case KoreanHangulFormal: |
1581 m_value.valueID = CSSValueKoreanHangulFormal; | 1523 m_valueID = CSSValueKoreanHangulFormal; |
1582 break; | 1524 break; |
1583 case KoreanHanjaFormal: | 1525 case KoreanHanjaFormal: |
1584 m_value.valueID = CSSValueKoreanHanjaFormal; | 1526 m_valueID = CSSValueKoreanHanjaFormal; |
1585 break; | 1527 break; |
1586 case KoreanHanjaInformal: | 1528 case KoreanHanjaInformal: |
1587 m_value.valueID = CSSValueKoreanHanjaInformal; | 1529 m_valueID = CSSValueKoreanHanjaInformal; |
1588 break; | 1530 break; |
1589 case Hebrew: | 1531 case Hebrew: |
1590 m_value.valueID = CSSValueHebrew; | 1532 m_valueID = CSSValueHebrew; |
1591 break; | 1533 break; |
1592 case Hiragana: | 1534 case Hiragana: |
1593 m_value.valueID = CSSValueHiragana; | 1535 m_valueID = CSSValueHiragana; |
1594 break; | 1536 break; |
1595 case HiraganaIroha: | 1537 case HiraganaIroha: |
1596 m_value.valueID = CSSValueHiraganaIroha; | 1538 m_valueID = CSSValueHiraganaIroha; |
1597 break; | 1539 break; |
1598 case Kannada: | 1540 case Kannada: |
1599 m_value.valueID = CSSValueKannada; | 1541 m_valueID = CSSValueKannada; |
1600 break; | 1542 break; |
1601 case Katakana: | 1543 case Katakana: |
1602 m_value.valueID = CSSValueKatakana; | 1544 m_valueID = CSSValueKatakana; |
1603 break; | 1545 break; |
1604 case KatakanaIroha: | 1546 case KatakanaIroha: |
1605 m_value.valueID = CSSValueKatakanaIroha; | 1547 m_valueID = CSSValueKatakanaIroha; |
1606 break; | 1548 break; |
1607 case Khmer: | 1549 case Khmer: |
1608 m_value.valueID = CSSValueKhmer; | 1550 m_valueID = CSSValueKhmer; |
1609 break; | 1551 break; |
1610 case Lao: | 1552 case Lao: |
1611 m_value.valueID = CSSValueLao; | 1553 m_valueID = CSSValueLao; |
1612 break; | 1554 break; |
1613 case LowerAlpha: | 1555 case LowerAlpha: |
1614 m_value.valueID = CSSValueLowerAlpha; | 1556 m_valueID = CSSValueLowerAlpha; |
1615 break; | 1557 break; |
1616 case LowerArmenian: | 1558 case LowerArmenian: |
1617 m_value.valueID = CSSValueLowerArmenian; | 1559 m_valueID = CSSValueLowerArmenian; |
1618 break; | 1560 break; |
1619 case LowerGreek: | 1561 case LowerGreek: |
1620 m_value.valueID = CSSValueLowerGreek; | 1562 m_valueID = CSSValueLowerGreek; |
1621 break; | 1563 break; |
1622 case LowerLatin: | 1564 case LowerLatin: |
1623 m_value.valueID = CSSValueLowerLatin; | 1565 m_valueID = CSSValueLowerLatin; |
1624 break; | 1566 break; |
1625 case LowerRoman: | 1567 case LowerRoman: |
1626 m_value.valueID = CSSValueLowerRoman; | 1568 m_valueID = CSSValueLowerRoman; |
1627 break; | 1569 break; |
1628 case Malayalam: | 1570 case Malayalam: |
1629 m_value.valueID = CSSValueMalayalam; | 1571 m_valueID = CSSValueMalayalam; |
1630 break; | 1572 break; |
1631 case Mongolian: | 1573 case Mongolian: |
1632 m_value.valueID = CSSValueMongolian; | 1574 m_valueID = CSSValueMongolian; |
1633 break; | 1575 break; |
1634 case Myanmar: | 1576 case Myanmar: |
1635 m_value.valueID = CSSValueMyanmar; | 1577 m_valueID = CSSValueMyanmar; |
1636 break; | 1578 break; |
1637 case NoneListStyle: | 1579 case NoneListStyle: |
1638 m_value.valueID = CSSValueNone; | 1580 m_valueID = CSSValueNone; |
1639 break; | 1581 break; |
1640 case Oriya: | 1582 case Oriya: |
1641 m_value.valueID = CSSValueOriya; | 1583 m_valueID = CSSValueOriya; |
1642 break; | 1584 break; |
1643 case Persian: | 1585 case Persian: |
1644 m_value.valueID = CSSValuePersian; | 1586 m_valueID = CSSValuePersian; |
1645 break; | 1587 break; |
1646 case SimpChineseFormal: | 1588 case SimpChineseFormal: |
1647 m_value.valueID = CSSValueSimpChineseFormal; | 1589 m_valueID = CSSValueSimpChineseFormal; |
1648 break; | 1590 break; |
1649 case SimpChineseInformal: | 1591 case SimpChineseInformal: |
1650 m_value.valueID = CSSValueSimpChineseInformal; | 1592 m_valueID = CSSValueSimpChineseInformal; |
1651 break; | 1593 break; |
1652 case Square: | 1594 case Square: |
1653 m_value.valueID = CSSValueSquare; | 1595 m_valueID = CSSValueSquare; |
1654 break; | 1596 break; |
1655 case Telugu: | 1597 case Telugu: |
1656 m_value.valueID = CSSValueTelugu; | 1598 m_valueID = CSSValueTelugu; |
1657 break; | 1599 break; |
1658 case Thai: | 1600 case Thai: |
1659 m_value.valueID = CSSValueThai; | 1601 m_valueID = CSSValueThai; |
1660 break; | 1602 break; |
1661 case Tibetan: | 1603 case Tibetan: |
1662 m_value.valueID = CSSValueTibetan; | 1604 m_valueID = CSSValueTibetan; |
1663 break; | 1605 break; |
1664 case TradChineseFormal: | 1606 case TradChineseFormal: |
1665 m_value.valueID = CSSValueTradChineseFormal; | 1607 m_valueID = CSSValueTradChineseFormal; |
1666 break; | 1608 break; |
1667 case TradChineseInformal: | 1609 case TradChineseInformal: |
1668 m_value.valueID = CSSValueTradChineseInformal; | 1610 m_valueID = CSSValueTradChineseInformal; |
1669 break; | 1611 break; |
1670 case UpperAlpha: | 1612 case UpperAlpha: |
1671 m_value.valueID = CSSValueUpperAlpha; | 1613 m_valueID = CSSValueUpperAlpha; |
1672 break; | 1614 break; |
1673 case UpperArmenian: | 1615 case UpperArmenian: |
1674 m_value.valueID = CSSValueUpperArmenian; | 1616 m_valueID = CSSValueUpperArmenian; |
1675 break; | 1617 break; |
1676 case UpperLatin: | 1618 case UpperLatin: |
1677 m_value.valueID = CSSValueUpperLatin; | 1619 m_valueID = CSSValueUpperLatin; |
1678 break; | 1620 break; |
1679 case UpperRoman: | 1621 case UpperRoman: |
1680 m_value.valueID = CSSValueUpperRoman; | 1622 m_valueID = CSSValueUpperRoman; |
1681 break; | 1623 break; |
1682 case Urdu: | 1624 case Urdu: |
1683 m_value.valueID = CSSValueUrdu; | 1625 m_valueID = CSSValueUrdu; |
1684 break; | 1626 break; |
1685 } | 1627 } |
1686 } | 1628 } |
1687 | 1629 |
1688 template<> inline EListStyleType CSSPrimitiveValue::convertTo() const | 1630 template<> inline EListStyleType CSSIdentifierValue::convertTo() const |
1689 { | 1631 { |
1690 ASSERT(isValueID()); | 1632 switch (m_valueID) { |
1691 switch (m_value.valueID) { | |
1692 case CSSValueNone: | 1633 case CSSValueNone: |
1693 return NoneListStyle; | 1634 return NoneListStyle; |
1694 default: | 1635 default: |
1695 return static_cast<EListStyleType>(m_value.valueID - CSSValueDisc); | 1636 return static_cast<EListStyleType>(m_valueID - CSSValueDisc); |
1696 } | 1637 } |
1697 } | 1638 } |
1698 | 1639 |
1699 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMarginCollapse e) | 1640 template<> inline CSSIdentifierValue::CSSIdentifierValue(EMarginCollapse e) |
1700 : CSSValue(PrimitiveClass) | 1641 : CSSValue(IdentifierClass) |
1701 { | 1642 { |
1702 init(UnitType::ValueID); | |
1703 switch (e) { | 1643 switch (e) { |
1704 case MarginCollapseCollapse: | 1644 case MarginCollapseCollapse: |
1705 m_value.valueID = CSSValueCollapse; | 1645 m_valueID = CSSValueCollapse; |
1706 break; | 1646 break; |
1707 case MarginCollapseSeparate: | 1647 case MarginCollapseSeparate: |
1708 m_value.valueID = CSSValueSeparate; | 1648 m_valueID = CSSValueSeparate; |
1709 break; | 1649 break; |
1710 case MarginCollapseDiscard: | 1650 case MarginCollapseDiscard: |
1711 m_value.valueID = CSSValueDiscard; | 1651 m_valueID = CSSValueDiscard; |
1712 break; | 1652 break; |
1713 } | 1653 } |
1714 } | 1654 } |
1715 | 1655 |
1716 template<> inline EMarginCollapse CSSPrimitiveValue::convertTo() const | 1656 template<> inline EMarginCollapse CSSIdentifierValue::convertTo() const |
1717 { | 1657 { |
1718 ASSERT(isValueID()); | 1658 switch (m_valueID) { |
1719 switch (m_value.valueID) { | |
1720 case CSSValueCollapse: | 1659 case CSSValueCollapse: |
1721 return MarginCollapseCollapse; | 1660 return MarginCollapseCollapse; |
1722 case CSSValueSeparate: | 1661 case CSSValueSeparate: |
1723 return MarginCollapseSeparate; | 1662 return MarginCollapseSeparate; |
1724 case CSSValueDiscard: | 1663 case CSSValueDiscard: |
1725 return MarginCollapseDiscard; | 1664 return MarginCollapseDiscard; |
1726 default: | 1665 default: |
1727 break; | 1666 break; |
1728 } | 1667 } |
1729 | 1668 |
1730 ASSERT_NOT_REACHED(); | 1669 ASSERT_NOT_REACHED(); |
1731 return MarginCollapseCollapse; | 1670 return MarginCollapseCollapse; |
1732 } | 1671 } |
1733 | 1672 |
1734 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EOverflow e) | 1673 template<> inline CSSIdentifierValue::CSSIdentifierValue(EOverflow e) |
1735 : CSSValue(PrimitiveClass) | 1674 : CSSValue(IdentifierClass) |
1736 { | 1675 { |
1737 init(UnitType::ValueID); | |
1738 switch (e) { | 1676 switch (e) { |
1739 case OverflowVisible: | 1677 case OverflowVisible: |
1740 m_value.valueID = CSSValueVisible; | 1678 m_valueID = CSSValueVisible; |
1741 break; | 1679 break; |
1742 case OverflowHidden: | 1680 case OverflowHidden: |
1743 m_value.valueID = CSSValueHidden; | 1681 m_valueID = CSSValueHidden; |
1744 break; | 1682 break; |
1745 case OverflowScroll: | 1683 case OverflowScroll: |
1746 m_value.valueID = CSSValueScroll; | 1684 m_valueID = CSSValueScroll; |
1747 break; | 1685 break; |
1748 case OverflowAuto: | 1686 case OverflowAuto: |
1749 m_value.valueID = CSSValueAuto; | 1687 m_valueID = CSSValueAuto; |
1750 break; | 1688 break; |
1751 case OverflowOverlay: | 1689 case OverflowOverlay: |
1752 m_value.valueID = CSSValueOverlay; | 1690 m_valueID = CSSValueOverlay; |
1753 break; | 1691 break; |
1754 case OverflowPagedX: | 1692 case OverflowPagedX: |
1755 m_value.valueID = CSSValueWebkitPagedX; | 1693 m_valueID = CSSValueWebkitPagedX; |
1756 break; | 1694 break; |
1757 case OverflowPagedY: | 1695 case OverflowPagedY: |
1758 m_value.valueID = CSSValueWebkitPagedY; | 1696 m_valueID = CSSValueWebkitPagedY; |
1759 break; | 1697 break; |
1760 } | 1698 } |
1761 } | 1699 } |
1762 | 1700 |
1763 template<> inline EOverflow CSSPrimitiveValue::convertTo() const | 1701 template<> inline EOverflow CSSIdentifierValue::convertTo() const |
1764 { | 1702 { |
1765 ASSERT(isValueID()); | 1703 switch (m_valueID) { |
1766 switch (m_value.valueID) { | |
1767 case CSSValueVisible: | 1704 case CSSValueVisible: |
1768 return OverflowVisible; | 1705 return OverflowVisible; |
1769 case CSSValueHidden: | 1706 case CSSValueHidden: |
1770 return OverflowHidden; | 1707 return OverflowHidden; |
1771 case CSSValueScroll: | 1708 case CSSValueScroll: |
1772 return OverflowScroll; | 1709 return OverflowScroll; |
1773 case CSSValueAuto: | 1710 case CSSValueAuto: |
1774 return OverflowAuto; | 1711 return OverflowAuto; |
1775 case CSSValueOverlay: | 1712 case CSSValueOverlay: |
1776 return OverflowOverlay; | 1713 return OverflowOverlay; |
1777 case CSSValueWebkitPagedX: | 1714 case CSSValueWebkitPagedX: |
1778 return OverflowPagedX; | 1715 return OverflowPagedX; |
1779 case CSSValueWebkitPagedY: | 1716 case CSSValueWebkitPagedY: |
1780 return OverflowPagedY; | 1717 return OverflowPagedY; |
1781 default: | 1718 default: |
1782 break; | 1719 break; |
1783 } | 1720 } |
1784 | 1721 |
1785 ASSERT_NOT_REACHED(); | 1722 ASSERT_NOT_REACHED(); |
1786 return OverflowVisible; | 1723 return OverflowVisible; |
1787 } | 1724 } |
1788 | 1725 |
1789 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBreak e) | 1726 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBreak e) |
1790 : CSSValue(PrimitiveClass) | 1727 : CSSValue(IdentifierClass) |
1791 { | 1728 { |
1792 init(UnitType::ValueID); | |
1793 switch (e) { | 1729 switch (e) { |
1794 default: | 1730 default: |
1795 ASSERT_NOT_REACHED(); | 1731 ASSERT_NOT_REACHED(); |
1796 case BreakAuto: | 1732 case BreakAuto: |
1797 m_value.valueID = CSSValueAuto; | 1733 m_valueID = CSSValueAuto; |
1798 break; | 1734 break; |
1799 case BreakAlways: | 1735 case BreakAlways: |
1800 m_value.valueID = CSSValueAlways; | 1736 m_valueID = CSSValueAlways; |
1801 break; | 1737 break; |
1802 case BreakAvoid: | 1738 case BreakAvoid: |
1803 m_value.valueID = CSSValueAvoid; | 1739 m_valueID = CSSValueAvoid; |
1804 break; | 1740 break; |
1805 case BreakAvoidPage: | 1741 case BreakAvoidPage: |
1806 m_value.valueID = CSSValueAvoidPage; | 1742 m_valueID = CSSValueAvoidPage; |
1807 break; | 1743 break; |
1808 case BreakPage: | 1744 case BreakPage: |
1809 m_value.valueID = CSSValuePage; | 1745 m_valueID = CSSValuePage; |
1810 break; | 1746 break; |
1811 case BreakLeft: | 1747 case BreakLeft: |
1812 m_value.valueID = CSSValueLeft; | 1748 m_valueID = CSSValueLeft; |
1813 break; | 1749 break; |
1814 case BreakRight: | 1750 case BreakRight: |
1815 m_value.valueID = CSSValueRight; | 1751 m_valueID = CSSValueRight; |
1816 break; | 1752 break; |
1817 case BreakRecto: | 1753 case BreakRecto: |
1818 m_value.valueID = CSSValueRecto; | 1754 m_valueID = CSSValueRecto; |
1819 break; | 1755 break; |
1820 case BreakVerso: | 1756 case BreakVerso: |
1821 m_value.valueID = CSSValueVerso; | 1757 m_valueID = CSSValueVerso; |
1822 break; | 1758 break; |
1823 case BreakAvoidColumn: | 1759 case BreakAvoidColumn: |
1824 m_value.valueID = CSSValueAvoidColumn; | 1760 m_valueID = CSSValueAvoidColumn; |
1825 break; | 1761 break; |
1826 case BreakColumn: | 1762 case BreakColumn: |
1827 m_value.valueID = CSSValueColumn; | 1763 m_valueID = CSSValueColumn; |
1828 break; | 1764 break; |
1829 } | 1765 } |
1830 } | 1766 } |
1831 | 1767 |
1832 template<> inline EBreak CSSPrimitiveValue::convertTo() const | 1768 template<> inline EBreak CSSIdentifierValue::convertTo() const |
1833 { | 1769 { |
1834 ASSERT(isValueID()); | 1770 switch (m_valueID) { |
1835 switch (m_value.valueID) { | |
1836 default: | 1771 default: |
1837 ASSERT_NOT_REACHED(); | 1772 ASSERT_NOT_REACHED(); |
1838 case CSSValueAuto: | 1773 case CSSValueAuto: |
1839 return BreakAuto; | 1774 return BreakAuto; |
1840 case CSSValueAvoid: | 1775 case CSSValueAvoid: |
1841 return BreakAvoid; | 1776 return BreakAvoid; |
1842 case CSSValueAlways: | 1777 case CSSValueAlways: |
1843 return BreakAlways; | 1778 return BreakAlways; |
1844 case CSSValueAvoidPage: | 1779 case CSSValueAvoidPage: |
1845 return BreakAvoidPage; | 1780 return BreakAvoidPage; |
1846 case CSSValuePage: | 1781 case CSSValuePage: |
1847 return BreakPage; | 1782 return BreakPage; |
1848 case CSSValueLeft: | 1783 case CSSValueLeft: |
1849 return BreakLeft; | 1784 return BreakLeft; |
1850 case CSSValueRight: | 1785 case CSSValueRight: |
1851 return BreakRight; | 1786 return BreakRight; |
1852 case CSSValueRecto: | 1787 case CSSValueRecto: |
1853 return BreakRecto; | 1788 return BreakRecto; |
1854 case CSSValueVerso: | 1789 case CSSValueVerso: |
1855 return BreakVerso; | 1790 return BreakVerso; |
1856 case CSSValueAvoidColumn: | 1791 case CSSValueAvoidColumn: |
1857 return BreakAvoidColumn; | 1792 return BreakAvoidColumn; |
1858 case CSSValueColumn: | 1793 case CSSValueColumn: |
1859 return BreakColumn; | 1794 return BreakColumn; |
1860 } | 1795 } |
1861 } | 1796 } |
1862 | 1797 |
1863 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPosition e) | 1798 template<> inline CSSIdentifierValue::CSSIdentifierValue(EPosition e) |
1864 : CSSValue(PrimitiveClass) | 1799 : CSSValue(IdentifierClass) |
1865 { | 1800 { |
1866 init(UnitType::ValueID); | |
1867 switch (e) { | 1801 switch (e) { |
1868 case StaticPosition: | 1802 case StaticPosition: |
1869 m_value.valueID = CSSValueStatic; | 1803 m_valueID = CSSValueStatic; |
1870 break; | 1804 break; |
1871 case RelativePosition: | 1805 case RelativePosition: |
1872 m_value.valueID = CSSValueRelative; | 1806 m_valueID = CSSValueRelative; |
1873 break; | 1807 break; |
1874 case AbsolutePosition: | 1808 case AbsolutePosition: |
1875 m_value.valueID = CSSValueAbsolute; | 1809 m_valueID = CSSValueAbsolute; |
1876 break; | 1810 break; |
1877 case FixedPosition: | 1811 case FixedPosition: |
1878 m_value.valueID = CSSValueFixed; | 1812 m_valueID = CSSValueFixed; |
1879 break; | 1813 break; |
1880 case StickyPosition: | 1814 case StickyPosition: |
1881 m_value.valueID = CSSValueSticky; | 1815 m_valueID = CSSValueSticky; |
1882 break; | 1816 break; |
1883 } | 1817 } |
1884 } | 1818 } |
1885 | 1819 |
1886 template<> inline EPosition CSSPrimitiveValue::convertTo() const | 1820 template<> inline EPosition CSSIdentifierValue::convertTo() const |
1887 { | 1821 { |
1888 ASSERT(isValueID()); | 1822 switch (m_valueID) { |
1889 switch (m_value.valueID) { | |
1890 case CSSValueStatic: | 1823 case CSSValueStatic: |
1891 return StaticPosition; | 1824 return StaticPosition; |
1892 case CSSValueRelative: | 1825 case CSSValueRelative: |
1893 return RelativePosition; | 1826 return RelativePosition; |
1894 case CSSValueAbsolute: | 1827 case CSSValueAbsolute: |
1895 return AbsolutePosition; | 1828 return AbsolutePosition; |
1896 case CSSValueFixed: | 1829 case CSSValueFixed: |
1897 return FixedPosition; | 1830 return FixedPosition; |
1898 case CSSValueSticky: | 1831 case CSSValueSticky: |
1899 return StickyPosition; | 1832 return StickyPosition; |
1900 default: | 1833 default: |
1901 break; | 1834 break; |
1902 } | 1835 } |
1903 | 1836 |
1904 ASSERT_NOT_REACHED(); | 1837 ASSERT_NOT_REACHED(); |
1905 return StaticPosition; | 1838 return StaticPosition; |
1906 } | 1839 } |
1907 | 1840 |
1908 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EResize e) | 1841 template<> inline CSSIdentifierValue::CSSIdentifierValue(EResize e) |
1909 : CSSValue(PrimitiveClass) | 1842 : CSSValue(IdentifierClass) |
1910 { | 1843 { |
1911 init(UnitType::ValueID); | |
1912 switch (e) { | 1844 switch (e) { |
1913 case RESIZE_BOTH: | 1845 case RESIZE_BOTH: |
1914 m_value.valueID = CSSValueBoth; | 1846 m_valueID = CSSValueBoth; |
1915 break; | 1847 break; |
1916 case RESIZE_HORIZONTAL: | 1848 case RESIZE_HORIZONTAL: |
1917 m_value.valueID = CSSValueHorizontal; | 1849 m_valueID = CSSValueHorizontal; |
1918 break; | 1850 break; |
1919 case RESIZE_VERTICAL: | 1851 case RESIZE_VERTICAL: |
1920 m_value.valueID = CSSValueVertical; | 1852 m_valueID = CSSValueVertical; |
1921 break; | 1853 break; |
1922 case RESIZE_NONE: | 1854 case RESIZE_NONE: |
1923 m_value.valueID = CSSValueNone; | 1855 m_valueID = CSSValueNone; |
1924 break; | 1856 break; |
1925 } | 1857 } |
1926 } | 1858 } |
1927 | 1859 |
1928 template<> inline EResize CSSPrimitiveValue::convertTo() const | 1860 template<> inline EResize CSSIdentifierValue::convertTo() const |
1929 { | 1861 { |
1930 ASSERT(isValueID()); | 1862 switch (m_valueID) { |
1931 switch (m_value.valueID) { | |
1932 case CSSValueBoth: | 1863 case CSSValueBoth: |
1933 return RESIZE_BOTH; | 1864 return RESIZE_BOTH; |
1934 case CSSValueHorizontal: | 1865 case CSSValueHorizontal: |
1935 return RESIZE_HORIZONTAL; | 1866 return RESIZE_HORIZONTAL; |
1936 case CSSValueVertical: | 1867 case CSSValueVertical: |
1937 return RESIZE_VERTICAL; | 1868 return RESIZE_VERTICAL; |
1938 case CSSValueAuto: | 1869 case CSSValueAuto: |
1939 ASSERT_NOT_REACHED(); // Depends on settings, thus should be handled by
the caller. | 1870 ASSERT_NOT_REACHED(); // Depends on settings, thus should be handled by
the caller. |
1940 return RESIZE_NONE; | 1871 return RESIZE_NONE; |
1941 case CSSValueNone: | 1872 case CSSValueNone: |
1942 return RESIZE_NONE; | 1873 return RESIZE_NONE; |
1943 default: | 1874 default: |
1944 break; | 1875 break; |
1945 } | 1876 } |
1946 | 1877 |
1947 ASSERT_NOT_REACHED(); | 1878 ASSERT_NOT_REACHED(); |
1948 return RESIZE_NONE; | 1879 return RESIZE_NONE; |
1949 } | 1880 } |
1950 | 1881 |
1951 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETableLayout e) | 1882 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETableLayout e) |
1952 : CSSValue(PrimitiveClass) | 1883 : CSSValue(IdentifierClass) |
1953 { | 1884 { |
1954 init(UnitType::ValueID); | |
1955 switch (e) { | 1885 switch (e) { |
1956 case TableLayoutAuto: | 1886 case TableLayoutAuto: |
1957 m_value.valueID = CSSValueAuto; | 1887 m_valueID = CSSValueAuto; |
1958 break; | 1888 break; |
1959 case TableLayoutFixed: | 1889 case TableLayoutFixed: |
1960 m_value.valueID = CSSValueFixed; | 1890 m_valueID = CSSValueFixed; |
1961 break; | 1891 break; |
1962 } | 1892 } |
1963 } | 1893 } |
1964 | 1894 |
1965 template<> inline ETableLayout CSSPrimitiveValue::convertTo() const | 1895 template<> inline ETableLayout CSSIdentifierValue::convertTo() const |
1966 { | 1896 { |
1967 ASSERT(isValueID()); | 1897 switch (m_valueID) { |
1968 switch (m_value.valueID) { | |
1969 case CSSValueFixed: | 1898 case CSSValueFixed: |
1970 return TableLayoutFixed; | 1899 return TableLayoutFixed; |
1971 case CSSValueAuto: | 1900 case CSSValueAuto: |
1972 return TableLayoutAuto; | 1901 return TableLayoutAuto; |
1973 default: | 1902 default: |
1974 break; | 1903 break; |
1975 } | 1904 } |
1976 | 1905 |
1977 ASSERT_NOT_REACHED(); | 1906 ASSERT_NOT_REACHED(); |
1978 return TableLayoutAuto; | 1907 return TableLayoutAuto; |
1979 } | 1908 } |
1980 | 1909 |
1981 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextAlign e) | 1910 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETextAlign e) |
1982 : CSSValue(PrimitiveClass) | 1911 : CSSValue(IdentifierClass) |
1983 { | 1912 { |
1984 init(UnitType::ValueID); | |
1985 switch (e) { | 1913 switch (e) { |
1986 case TASTART: | 1914 case TASTART: |
1987 m_value.valueID = CSSValueStart; | 1915 m_valueID = CSSValueStart; |
1988 break; | 1916 break; |
1989 case TAEND: | 1917 case TAEND: |
1990 m_value.valueID = CSSValueEnd; | 1918 m_valueID = CSSValueEnd; |
1991 break; | 1919 break; |
1992 case LEFT: | 1920 case LEFT: |
1993 m_value.valueID = CSSValueLeft; | 1921 m_valueID = CSSValueLeft; |
1994 break; | 1922 break; |
1995 case RIGHT: | 1923 case RIGHT: |
1996 m_value.valueID = CSSValueRight; | 1924 m_valueID = CSSValueRight; |
1997 break; | 1925 break; |
1998 case CENTER: | 1926 case CENTER: |
1999 m_value.valueID = CSSValueCenter; | 1927 m_valueID = CSSValueCenter; |
2000 break; | 1928 break; |
2001 case JUSTIFY: | 1929 case JUSTIFY: |
2002 m_value.valueID = CSSValueJustify; | 1930 m_valueID = CSSValueJustify; |
2003 break; | 1931 break; |
2004 case WEBKIT_LEFT: | 1932 case WEBKIT_LEFT: |
2005 m_value.valueID = CSSValueWebkitLeft; | 1933 m_valueID = CSSValueWebkitLeft; |
2006 break; | 1934 break; |
2007 case WEBKIT_RIGHT: | 1935 case WEBKIT_RIGHT: |
2008 m_value.valueID = CSSValueWebkitRight; | 1936 m_valueID = CSSValueWebkitRight; |
2009 break; | 1937 break; |
2010 case WEBKIT_CENTER: | 1938 case WEBKIT_CENTER: |
2011 m_value.valueID = CSSValueWebkitCenter; | 1939 m_valueID = CSSValueWebkitCenter; |
2012 break; | 1940 break; |
2013 } | 1941 } |
2014 } | 1942 } |
2015 | 1943 |
2016 template<> inline ETextAlign CSSPrimitiveValue::convertTo() const | 1944 template<> inline ETextAlign CSSIdentifierValue::convertTo() const |
2017 { | 1945 { |
2018 ASSERT(isValueID()); | 1946 switch (m_valueID) { |
2019 switch (m_value.valueID) { | |
2020 case CSSValueWebkitAuto: // Legacy -webkit-auto. Eqiuvalent to start. | 1947 case CSSValueWebkitAuto: // Legacy -webkit-auto. Eqiuvalent to start. |
2021 case CSSValueStart: | 1948 case CSSValueStart: |
2022 return TASTART; | 1949 return TASTART; |
2023 case CSSValueEnd: | 1950 case CSSValueEnd: |
2024 return TAEND; | 1951 return TAEND; |
2025 case CSSValueInternalCenter: | 1952 case CSSValueInternalCenter: |
2026 return CENTER; | 1953 return CENTER; |
2027 default: | 1954 default: |
2028 return static_cast<ETextAlign>(m_value.valueID - CSSValueLeft); | 1955 return static_cast<ETextAlign>(m_valueID - CSSValueLeft); |
2029 } | 1956 } |
2030 } | 1957 } |
2031 | 1958 |
2032 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextAlignLast e) | 1959 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextAlignLast e) |
2033 : CSSValue(PrimitiveClass) | 1960 : CSSValue(IdentifierClass) |
2034 { | 1961 { |
2035 init(UnitType::ValueID); | |
2036 switch (e) { | 1962 switch (e) { |
2037 case TextAlignLastStart: | 1963 case TextAlignLastStart: |
2038 m_value.valueID = CSSValueStart; | 1964 m_valueID = CSSValueStart; |
2039 break; | 1965 break; |
2040 case TextAlignLastEnd: | 1966 case TextAlignLastEnd: |
2041 m_value.valueID = CSSValueEnd; | 1967 m_valueID = CSSValueEnd; |
2042 break; | 1968 break; |
2043 case TextAlignLastLeft: | 1969 case TextAlignLastLeft: |
2044 m_value.valueID = CSSValueLeft; | 1970 m_valueID = CSSValueLeft; |
2045 break; | 1971 break; |
2046 case TextAlignLastRight: | 1972 case TextAlignLastRight: |
2047 m_value.valueID = CSSValueRight; | 1973 m_valueID = CSSValueRight; |
2048 break; | 1974 break; |
2049 case TextAlignLastCenter: | 1975 case TextAlignLastCenter: |
2050 m_value.valueID = CSSValueCenter; | 1976 m_valueID = CSSValueCenter; |
2051 break; | 1977 break; |
2052 case TextAlignLastJustify: | 1978 case TextAlignLastJustify: |
2053 m_value.valueID = CSSValueJustify; | 1979 m_valueID = CSSValueJustify; |
2054 break; | 1980 break; |
2055 case TextAlignLastAuto: | 1981 case TextAlignLastAuto: |
2056 m_value.valueID = CSSValueAuto; | 1982 m_valueID = CSSValueAuto; |
2057 break; | 1983 break; |
2058 } | 1984 } |
2059 } | 1985 } |
2060 | 1986 |
2061 template<> inline TextAlignLast CSSPrimitiveValue::convertTo() const | 1987 template<> inline TextAlignLast CSSIdentifierValue::convertTo() const |
2062 { | 1988 { |
2063 ASSERT(isValueID()); | 1989 switch (m_valueID) { |
2064 switch (m_value.valueID) { | |
2065 case CSSValueAuto: | 1990 case CSSValueAuto: |
2066 return TextAlignLastAuto; | 1991 return TextAlignLastAuto; |
2067 case CSSValueStart: | 1992 case CSSValueStart: |
2068 return TextAlignLastStart; | 1993 return TextAlignLastStart; |
2069 case CSSValueEnd: | 1994 case CSSValueEnd: |
2070 return TextAlignLastEnd; | 1995 return TextAlignLastEnd; |
2071 case CSSValueLeft: | 1996 case CSSValueLeft: |
2072 return TextAlignLastLeft; | 1997 return TextAlignLastLeft; |
2073 case CSSValueRight: | 1998 case CSSValueRight: |
2074 return TextAlignLastRight; | 1999 return TextAlignLastRight; |
2075 case CSSValueCenter: | 2000 case CSSValueCenter: |
2076 return TextAlignLastCenter; | 2001 return TextAlignLastCenter; |
2077 case CSSValueJustify: | 2002 case CSSValueJustify: |
2078 return TextAlignLastJustify; | 2003 return TextAlignLastJustify; |
2079 default: | 2004 default: |
2080 break; | 2005 break; |
2081 } | 2006 } |
2082 | 2007 |
2083 ASSERT_NOT_REACHED(); | 2008 ASSERT_NOT_REACHED(); |
2084 return TextAlignLastAuto; | 2009 return TextAlignLastAuto; |
2085 } | 2010 } |
2086 | 2011 |
2087 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextJustify e) | 2012 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextJustify e) |
2088 : CSSValue(PrimitiveClass) | 2013 : CSSValue(IdentifierClass) |
2089 { | 2014 { |
2090 init(UnitType::ValueID); | |
2091 switch (e) { | 2015 switch (e) { |
2092 case TextJustifyAuto: | 2016 case TextJustifyAuto: |
2093 m_value.valueID = CSSValueAuto; | 2017 m_valueID = CSSValueAuto; |
2094 break; | 2018 break; |
2095 case TextJustifyNone: | 2019 case TextJustifyNone: |
2096 m_value.valueID = CSSValueNone; | 2020 m_valueID = CSSValueNone; |
2097 break; | 2021 break; |
2098 case TextJustifyInterWord: | 2022 case TextJustifyInterWord: |
2099 m_value.valueID = CSSValueInterWord; | 2023 m_valueID = CSSValueInterWord; |
2100 break; | 2024 break; |
2101 case TextJustifyDistribute: | 2025 case TextJustifyDistribute: |
2102 m_value.valueID = CSSValueDistribute; | 2026 m_valueID = CSSValueDistribute; |
2103 break; | 2027 break; |
2104 } | 2028 } |
2105 } | 2029 } |
2106 | 2030 |
2107 template<> inline TextJustify CSSPrimitiveValue::convertTo() const | 2031 template<> inline TextJustify CSSIdentifierValue::convertTo() const |
2108 { | 2032 { |
2109 switch (m_value.valueID) { | 2033 switch (m_valueID) { |
2110 case CSSValueAuto: | 2034 case CSSValueAuto: |
2111 return TextJustifyAuto; | 2035 return TextJustifyAuto; |
2112 case CSSValueNone: | 2036 case CSSValueNone: |
2113 return TextJustifyNone; | 2037 return TextJustifyNone; |
2114 case CSSValueInterWord: | 2038 case CSSValueInterWord: |
2115 return TextJustifyInterWord; | 2039 return TextJustifyInterWord; |
2116 case CSSValueDistribute: | 2040 case CSSValueDistribute: |
2117 return TextJustifyDistribute; | 2041 return TextJustifyDistribute; |
2118 default: | 2042 default: |
2119 break; | 2043 break; |
2120 } | 2044 } |
2121 | 2045 |
2122 ASSERT_NOT_REACHED(); | 2046 ASSERT_NOT_REACHED(); |
2123 return TextJustifyAuto; | 2047 return TextJustifyAuto; |
2124 } | 2048 } |
2125 | 2049 |
2126 template<> inline TextDecoration CSSPrimitiveValue::convertTo() const | 2050 template<> inline TextDecoration CSSIdentifierValue::convertTo() const |
2127 { | 2051 { |
2128 ASSERT(isValueID()); | 2052 switch (m_valueID) { |
2129 switch (m_value.valueID) { | |
2130 case CSSValueNone: | 2053 case CSSValueNone: |
2131 return TextDecorationNone; | 2054 return TextDecorationNone; |
2132 case CSSValueUnderline: | 2055 case CSSValueUnderline: |
2133 return TextDecorationUnderline; | 2056 return TextDecorationUnderline; |
2134 case CSSValueOverline: | 2057 case CSSValueOverline: |
2135 return TextDecorationOverline; | 2058 return TextDecorationOverline; |
2136 case CSSValueLineThrough: | 2059 case CSSValueLineThrough: |
2137 return TextDecorationLineThrough; | 2060 return TextDecorationLineThrough; |
2138 case CSSValueBlink: | 2061 case CSSValueBlink: |
2139 return TextDecorationBlink; | 2062 return TextDecorationBlink; |
2140 default: | 2063 default: |
2141 break; | 2064 break; |
2142 } | 2065 } |
2143 | 2066 |
2144 ASSERT_NOT_REACHED(); | 2067 ASSERT_NOT_REACHED(); |
2145 return TextDecorationNone; | 2068 return TextDecorationNone; |
2146 } | 2069 } |
2147 | 2070 |
2148 template<> inline TextDecorationStyle CSSPrimitiveValue::convertTo() const | 2071 template<> inline TextDecorationStyle CSSIdentifierValue::convertTo() const |
2149 { | 2072 { |
2150 ASSERT(isValueID()); | 2073 switch (m_valueID) { |
2151 switch (m_value.valueID) { | |
2152 case CSSValueSolid: | 2074 case CSSValueSolid: |
2153 return TextDecorationStyleSolid; | 2075 return TextDecorationStyleSolid; |
2154 case CSSValueDouble: | 2076 case CSSValueDouble: |
2155 return TextDecorationStyleDouble; | 2077 return TextDecorationStyleDouble; |
2156 case CSSValueDotted: | 2078 case CSSValueDotted: |
2157 return TextDecorationStyleDotted; | 2079 return TextDecorationStyleDotted; |
2158 case CSSValueDashed: | 2080 case CSSValueDashed: |
2159 return TextDecorationStyleDashed; | 2081 return TextDecorationStyleDashed; |
2160 case CSSValueWavy: | 2082 case CSSValueWavy: |
2161 return TextDecorationStyleWavy; | 2083 return TextDecorationStyleWavy; |
2162 default: | 2084 default: |
2163 break; | 2085 break; |
2164 } | 2086 } |
2165 | 2087 |
2166 ASSERT_NOT_REACHED(); | 2088 ASSERT_NOT_REACHED(); |
2167 return TextDecorationStyleSolid; | 2089 return TextDecorationStyleSolid; |
2168 } | 2090 } |
2169 | 2091 |
2170 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextUnderlinePosition e) | 2092 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextUnderlinePosition e
) |
2171 : CSSValue(PrimitiveClass) | 2093 : CSSValue(IdentifierClass) |
2172 { | 2094 { |
2173 init(UnitType::ValueID); | |
2174 switch (e) { | 2095 switch (e) { |
2175 case TextUnderlinePositionAuto: | 2096 case TextUnderlinePositionAuto: |
2176 m_value.valueID = CSSValueAuto; | 2097 m_valueID = CSSValueAuto; |
2177 break; | 2098 break; |
2178 case TextUnderlinePositionUnder: | 2099 case TextUnderlinePositionUnder: |
2179 m_value.valueID = CSSValueUnder; | 2100 m_valueID = CSSValueUnder; |
2180 break; | 2101 break; |
2181 } | 2102 } |
2182 | 2103 |
2183 // FIXME: Implement support for 'under left' and 'under right' values. | 2104 // FIXME: Implement support for 'under left' and 'under right' values. |
2184 } | 2105 } |
2185 | 2106 |
2186 template<> inline TextUnderlinePosition CSSPrimitiveValue::convertTo() const | 2107 template<> inline TextUnderlinePosition CSSIdentifierValue::convertTo() const |
2187 { | 2108 { |
2188 ASSERT(isValueID()); | 2109 switch (m_valueID) { |
2189 switch (m_value.valueID) { | |
2190 case CSSValueAuto: | 2110 case CSSValueAuto: |
2191 return TextUnderlinePositionAuto; | 2111 return TextUnderlinePositionAuto; |
2192 case CSSValueUnder: | 2112 case CSSValueUnder: |
2193 return TextUnderlinePositionUnder; | 2113 return TextUnderlinePositionUnder; |
2194 default: | 2114 default: |
2195 break; | 2115 break; |
2196 } | 2116 } |
2197 | 2117 |
2198 // FIXME: Implement support for 'under left' and 'under right' values. | 2118 // FIXME: Implement support for 'under left' and 'under right' values. |
2199 | 2119 |
2200 ASSERT_NOT_REACHED(); | 2120 ASSERT_NOT_REACHED(); |
2201 return TextUnderlinePositionAuto; | 2121 return TextUnderlinePositionAuto; |
2202 } | 2122 } |
2203 | 2123 |
2204 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextSecurity e) | 2124 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETextSecurity e) |
2205 : CSSValue(PrimitiveClass) | 2125 : CSSValue(IdentifierClass) |
2206 { | 2126 { |
2207 init(UnitType::ValueID); | |
2208 switch (e) { | 2127 switch (e) { |
2209 case TSNONE: | 2128 case TSNONE: |
2210 m_value.valueID = CSSValueNone; | 2129 m_valueID = CSSValueNone; |
2211 break; | 2130 break; |
2212 case TSDISC: | 2131 case TSDISC: |
2213 m_value.valueID = CSSValueDisc; | 2132 m_valueID = CSSValueDisc; |
2214 break; | 2133 break; |
2215 case TSCIRCLE: | 2134 case TSCIRCLE: |
2216 m_value.valueID = CSSValueCircle; | 2135 m_valueID = CSSValueCircle; |
2217 break; | 2136 break; |
2218 case TSSQUARE: | 2137 case TSSQUARE: |
2219 m_value.valueID = CSSValueSquare; | 2138 m_valueID = CSSValueSquare; |
2220 break; | 2139 break; |
2221 } | 2140 } |
2222 } | 2141 } |
2223 | 2142 |
2224 template<> inline ETextSecurity CSSPrimitiveValue::convertTo() const | 2143 template<> inline ETextSecurity CSSIdentifierValue::convertTo() const |
2225 { | 2144 { |
2226 ASSERT(isValueID()); | 2145 switch (m_valueID) { |
2227 switch (m_value.valueID) { | |
2228 case CSSValueNone: | 2146 case CSSValueNone: |
2229 return TSNONE; | 2147 return TSNONE; |
2230 case CSSValueDisc: | 2148 case CSSValueDisc: |
2231 return TSDISC; | 2149 return TSDISC; |
2232 case CSSValueCircle: | 2150 case CSSValueCircle: |
2233 return TSCIRCLE; | 2151 return TSCIRCLE; |
2234 case CSSValueSquare: | 2152 case CSSValueSquare: |
2235 return TSSQUARE; | 2153 return TSSQUARE; |
2236 default: | 2154 default: |
2237 break; | 2155 break; |
2238 } | 2156 } |
2239 | 2157 |
2240 ASSERT_NOT_REACHED(); | 2158 ASSERT_NOT_REACHED(); |
2241 return TSNONE; | 2159 return TSNONE; |
2242 } | 2160 } |
2243 | 2161 |
2244 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextTransform e) | 2162 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETextTransform e) |
2245 : CSSValue(PrimitiveClass) | 2163 : CSSValue(IdentifierClass) |
2246 { | 2164 { |
2247 init(UnitType::ValueID); | |
2248 switch (e) { | 2165 switch (e) { |
2249 case CAPITALIZE: | 2166 case CAPITALIZE: |
2250 m_value.valueID = CSSValueCapitalize; | 2167 m_valueID = CSSValueCapitalize; |
2251 break; | 2168 break; |
2252 case UPPERCASE: | 2169 case UPPERCASE: |
2253 m_value.valueID = CSSValueUppercase; | 2170 m_valueID = CSSValueUppercase; |
2254 break; | 2171 break; |
2255 case LOWERCASE: | 2172 case LOWERCASE: |
2256 m_value.valueID = CSSValueLowercase; | 2173 m_valueID = CSSValueLowercase; |
2257 break; | 2174 break; |
2258 case TTNONE: | 2175 case TTNONE: |
2259 m_value.valueID = CSSValueNone; | 2176 m_valueID = CSSValueNone; |
2260 break; | 2177 break; |
2261 } | 2178 } |
2262 } | 2179 } |
2263 | 2180 |
2264 template<> inline ETextTransform CSSPrimitiveValue::convertTo() const | 2181 template<> inline ETextTransform CSSIdentifierValue::convertTo() const |
2265 { | 2182 { |
2266 ASSERT(isValueID()); | 2183 switch (m_valueID) { |
2267 switch (m_value.valueID) { | |
2268 case CSSValueCapitalize: | 2184 case CSSValueCapitalize: |
2269 return CAPITALIZE; | 2185 return CAPITALIZE; |
2270 case CSSValueUppercase: | 2186 case CSSValueUppercase: |
2271 return UPPERCASE; | 2187 return UPPERCASE; |
2272 case CSSValueLowercase: | 2188 case CSSValueLowercase: |
2273 return LOWERCASE; | 2189 return LOWERCASE; |
2274 case CSSValueNone: | 2190 case CSSValueNone: |
2275 return TTNONE; | 2191 return TTNONE; |
2276 default: | 2192 default: |
2277 break; | 2193 break; |
2278 } | 2194 } |
2279 | 2195 |
2280 ASSERT_NOT_REACHED(); | 2196 ASSERT_NOT_REACHED(); |
2281 return TTNONE; | 2197 return TTNONE; |
2282 } | 2198 } |
2283 | 2199 |
2284 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUnicodeBidi e) | 2200 template<> inline CSSIdentifierValue::CSSIdentifierValue(EUnicodeBidi e) |
2285 : CSSValue(PrimitiveClass) | 2201 : CSSValue(IdentifierClass) |
2286 { | 2202 { |
2287 init(UnitType::ValueID); | |
2288 switch (e) { | 2203 switch (e) { |
2289 case UBNormal: | 2204 case UBNormal: |
2290 m_value.valueID = CSSValueNormal; | 2205 m_valueID = CSSValueNormal; |
2291 break; | 2206 break; |
2292 case Embed: | 2207 case Embed: |
2293 m_value.valueID = CSSValueEmbed; | 2208 m_valueID = CSSValueEmbed; |
2294 break; | 2209 break; |
2295 case Override: | 2210 case Override: |
2296 m_value.valueID = CSSValueBidiOverride; | 2211 m_valueID = CSSValueBidiOverride; |
2297 break; | 2212 break; |
2298 case Isolate: | 2213 case Isolate: |
2299 m_value.valueID = CSSValueIsolate; | 2214 m_valueID = CSSValueIsolate; |
2300 break; | 2215 break; |
2301 case IsolateOverride: | 2216 case IsolateOverride: |
2302 m_value.valueID = CSSValueIsolateOverride; | 2217 m_valueID = CSSValueIsolateOverride; |
2303 break; | 2218 break; |
2304 case Plaintext: | 2219 case Plaintext: |
2305 m_value.valueID = CSSValuePlaintext; | 2220 m_valueID = CSSValuePlaintext; |
2306 break; | 2221 break; |
2307 } | 2222 } |
2308 } | 2223 } |
2309 | 2224 |
2310 template<> inline EUnicodeBidi CSSPrimitiveValue::convertTo() const | 2225 template<> inline EUnicodeBidi CSSIdentifierValue::convertTo() const |
2311 { | 2226 { |
2312 ASSERT(isValueID()); | 2227 switch (m_valueID) { |
2313 switch (m_value.valueID) { | |
2314 case CSSValueNormal: | 2228 case CSSValueNormal: |
2315 return UBNormal; | 2229 return UBNormal; |
2316 case CSSValueEmbed: | 2230 case CSSValueEmbed: |
2317 return Embed; | 2231 return Embed; |
2318 case CSSValueBidiOverride: | 2232 case CSSValueBidiOverride: |
2319 return Override; | 2233 return Override; |
2320 case CSSValueIsolate: | 2234 case CSSValueIsolate: |
2321 case CSSValueWebkitIsolate: | 2235 case CSSValueWebkitIsolate: |
2322 return Isolate; | 2236 return Isolate; |
2323 case CSSValueIsolateOverride: | 2237 case CSSValueIsolateOverride: |
2324 case CSSValueWebkitIsolateOverride: | 2238 case CSSValueWebkitIsolateOverride: |
2325 return IsolateOverride; | 2239 return IsolateOverride; |
2326 case CSSValuePlaintext: | 2240 case CSSValuePlaintext: |
2327 case CSSValueWebkitPlaintext: | 2241 case CSSValueWebkitPlaintext: |
2328 return Plaintext; | 2242 return Plaintext; |
2329 default: | 2243 default: |
2330 break; | 2244 break; |
2331 } | 2245 } |
2332 | 2246 |
2333 ASSERT_NOT_REACHED(); | 2247 ASSERT_NOT_REACHED(); |
2334 return UBNormal; | 2248 return UBNormal; |
2335 } | 2249 } |
2336 | 2250 |
2337 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserDrag e) | 2251 template<> inline CSSIdentifierValue::CSSIdentifierValue(EUserDrag e) |
2338 : CSSValue(PrimitiveClass) | 2252 : CSSValue(IdentifierClass) |
2339 { | 2253 { |
2340 init(UnitType::ValueID); | |
2341 switch (e) { | 2254 switch (e) { |
2342 case DRAG_AUTO: | 2255 case DRAG_AUTO: |
2343 m_value.valueID = CSSValueAuto; | 2256 m_valueID = CSSValueAuto; |
2344 break; | 2257 break; |
2345 case DRAG_NONE: | 2258 case DRAG_NONE: |
2346 m_value.valueID = CSSValueNone; | 2259 m_valueID = CSSValueNone; |
2347 break; | 2260 break; |
2348 case DRAG_ELEMENT: | 2261 case DRAG_ELEMENT: |
2349 m_value.valueID = CSSValueElement; | 2262 m_valueID = CSSValueElement; |
2350 break; | 2263 break; |
2351 default: | 2264 default: |
2352 break; | 2265 break; |
2353 } | 2266 } |
2354 } | 2267 } |
2355 | 2268 |
2356 template<> inline EUserDrag CSSPrimitiveValue::convertTo() const | 2269 template<> inline EUserDrag CSSIdentifierValue::convertTo() const |
2357 { | 2270 { |
2358 ASSERT(isValueID()); | 2271 switch (m_valueID) { |
2359 switch (m_value.valueID) { | |
2360 case CSSValueAuto: | 2272 case CSSValueAuto: |
2361 return DRAG_AUTO; | 2273 return DRAG_AUTO; |
2362 case CSSValueNone: | 2274 case CSSValueNone: |
2363 return DRAG_NONE; | 2275 return DRAG_NONE; |
2364 case CSSValueElement: | 2276 case CSSValueElement: |
2365 return DRAG_ELEMENT; | 2277 return DRAG_ELEMENT; |
2366 default: | 2278 default: |
2367 break; | 2279 break; |
2368 } | 2280 } |
2369 | 2281 |
2370 ASSERT_NOT_REACHED(); | 2282 ASSERT_NOT_REACHED(); |
2371 return DRAG_AUTO; | 2283 return DRAG_AUTO; |
2372 } | 2284 } |
2373 | 2285 |
2374 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserModify e) | 2286 template<> inline CSSIdentifierValue::CSSIdentifierValue(EUserModify e) |
2375 : CSSValue(PrimitiveClass) | 2287 : CSSValue(IdentifierClass) |
2376 { | 2288 { |
2377 init(UnitType::ValueID); | |
2378 switch (e) { | 2289 switch (e) { |
2379 case READ_ONLY: | 2290 case READ_ONLY: |
2380 m_value.valueID = CSSValueReadOnly; | 2291 m_valueID = CSSValueReadOnly; |
2381 break; | 2292 break; |
2382 case READ_WRITE: | 2293 case READ_WRITE: |
2383 m_value.valueID = CSSValueReadWrite; | 2294 m_valueID = CSSValueReadWrite; |
2384 break; | 2295 break; |
2385 case READ_WRITE_PLAINTEXT_ONLY: | 2296 case READ_WRITE_PLAINTEXT_ONLY: |
2386 m_value.valueID = CSSValueReadWritePlaintextOnly; | 2297 m_valueID = CSSValueReadWritePlaintextOnly; |
2387 break; | 2298 break; |
2388 } | 2299 } |
2389 } | 2300 } |
2390 | 2301 |
2391 template<> inline EUserModify CSSPrimitiveValue::convertTo() const | 2302 template<> inline EUserModify CSSIdentifierValue::convertTo() const |
2392 { | 2303 { |
2393 ASSERT(isValueID()); | 2304 switch (m_valueID) { |
2394 switch (m_value.valueID) { | |
2395 case CSSValueReadOnly: | 2305 case CSSValueReadOnly: |
2396 return READ_ONLY; | 2306 return READ_ONLY; |
2397 case CSSValueReadWrite: | 2307 case CSSValueReadWrite: |
2398 return READ_WRITE; | 2308 return READ_WRITE; |
2399 case CSSValueReadWritePlaintextOnly: | 2309 case CSSValueReadWritePlaintextOnly: |
2400 return READ_WRITE_PLAINTEXT_ONLY; | 2310 return READ_WRITE_PLAINTEXT_ONLY; |
2401 default: | 2311 default: |
2402 break; | 2312 break; |
2403 } | 2313 } |
2404 | 2314 |
2405 ASSERT_NOT_REACHED(); | 2315 ASSERT_NOT_REACHED(); |
2406 return READ_ONLY; | 2316 return READ_ONLY; |
2407 } | 2317 } |
2408 | 2318 |
2409 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserSelect e) | 2319 template<> inline CSSIdentifierValue::CSSIdentifierValue(EUserSelect e) |
2410 : CSSValue(PrimitiveClass) | 2320 : CSSValue(IdentifierClass) |
2411 { | 2321 { |
2412 init(UnitType::ValueID); | |
2413 switch (e) { | 2322 switch (e) { |
2414 case SELECT_NONE: | 2323 case SELECT_NONE: |
2415 m_value.valueID = CSSValueNone; | 2324 m_valueID = CSSValueNone; |
2416 break; | 2325 break; |
2417 case SELECT_TEXT: | 2326 case SELECT_TEXT: |
2418 m_value.valueID = CSSValueText; | 2327 m_valueID = CSSValueText; |
2419 break; | 2328 break; |
2420 case SELECT_ALL: | 2329 case SELECT_ALL: |
2421 m_value.valueID = CSSValueAll; | 2330 m_valueID = CSSValueAll; |
2422 break; | 2331 break; |
2423 } | 2332 } |
2424 } | 2333 } |
2425 | 2334 |
2426 template<> inline EUserSelect CSSPrimitiveValue::convertTo() const | 2335 template<> inline EUserSelect CSSIdentifierValue::convertTo() const |
2427 { | 2336 { |
2428 ASSERT(isValueID()); | 2337 switch (m_valueID) { |
2429 switch (m_value.valueID) { | |
2430 case CSSValueAuto: | 2338 case CSSValueAuto: |
2431 return SELECT_TEXT; | 2339 return SELECT_TEXT; |
2432 case CSSValueNone: | 2340 case CSSValueNone: |
2433 return SELECT_NONE; | 2341 return SELECT_NONE; |
2434 case CSSValueText: | 2342 case CSSValueText: |
2435 return SELECT_TEXT; | 2343 return SELECT_TEXT; |
2436 case CSSValueAll: | 2344 case CSSValueAll: |
2437 return SELECT_ALL; | 2345 return SELECT_ALL; |
2438 default: | 2346 default: |
2439 break; | 2347 break; |
2440 } | 2348 } |
2441 | 2349 |
2442 ASSERT_NOT_REACHED(); | 2350 ASSERT_NOT_REACHED(); |
2443 return SELECT_TEXT; | 2351 return SELECT_TEXT; |
2444 } | 2352 } |
2445 | 2353 |
2446 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVerticalAlign a) | 2354 template<> inline CSSIdentifierValue::CSSIdentifierValue(EVerticalAlign a) |
2447 : CSSValue(PrimitiveClass) | 2355 : CSSValue(IdentifierClass) |
2448 { | 2356 { |
2449 init(UnitType::ValueID); | |
2450 switch (a) { | 2357 switch (a) { |
2451 case VerticalAlignTop: | 2358 case VerticalAlignTop: |
2452 m_value.valueID = CSSValueTop; | 2359 m_valueID = CSSValueTop; |
2453 break; | 2360 break; |
2454 case VerticalAlignBottom: | 2361 case VerticalAlignBottom: |
2455 m_value.valueID = CSSValueBottom; | 2362 m_valueID = CSSValueBottom; |
2456 break; | 2363 break; |
2457 case VerticalAlignMiddle: | 2364 case VerticalAlignMiddle: |
2458 m_value.valueID = CSSValueMiddle; | 2365 m_valueID = CSSValueMiddle; |
2459 break; | 2366 break; |
2460 case VerticalAlignBaseline: | 2367 case VerticalAlignBaseline: |
2461 m_value.valueID = CSSValueBaseline; | 2368 m_valueID = CSSValueBaseline; |
2462 break; | 2369 break; |
2463 case VerticalAlignTextBottom: | 2370 case VerticalAlignTextBottom: |
2464 m_value.valueID = CSSValueTextBottom; | 2371 m_valueID = CSSValueTextBottom; |
2465 break; | 2372 break; |
2466 case VerticalAlignTextTop: | 2373 case VerticalAlignTextTop: |
2467 m_value.valueID = CSSValueTextTop; | 2374 m_valueID = CSSValueTextTop; |
2468 break; | 2375 break; |
2469 case VerticalAlignSub: | 2376 case VerticalAlignSub: |
2470 m_value.valueID = CSSValueSub; | 2377 m_valueID = CSSValueSub; |
2471 break; | 2378 break; |
2472 case VerticalAlignSuper: | 2379 case VerticalAlignSuper: |
2473 m_value.valueID = CSSValueSuper; | 2380 m_valueID = CSSValueSuper; |
2474 break; | 2381 break; |
2475 case VerticalAlignBaselineMiddle: | 2382 case VerticalAlignBaselineMiddle: |
2476 m_value.valueID = CSSValueWebkitBaselineMiddle; | 2383 m_valueID = CSSValueWebkitBaselineMiddle; |
2477 break; | 2384 break; |
2478 case VerticalAlignLength: | 2385 case VerticalAlignLength: |
2479 m_value.valueID = CSSValueInvalid; | 2386 m_valueID = CSSValueInvalid; |
2480 } | 2387 } |
2481 } | 2388 } |
2482 | 2389 |
2483 template<> inline EVerticalAlign CSSPrimitiveValue::convertTo() const | 2390 template<> inline EVerticalAlign CSSIdentifierValue::convertTo() const |
2484 { | 2391 { |
2485 ASSERT(isValueID()); | 2392 switch (m_valueID) { |
2486 switch (m_value.valueID) { | |
2487 case CSSValueTop: | 2393 case CSSValueTop: |
2488 return VerticalAlignTop; | 2394 return VerticalAlignTop; |
2489 case CSSValueBottom: | 2395 case CSSValueBottom: |
2490 return VerticalAlignBottom; | 2396 return VerticalAlignBottom; |
2491 case CSSValueMiddle: | 2397 case CSSValueMiddle: |
2492 return VerticalAlignMiddle; | 2398 return VerticalAlignMiddle; |
2493 case CSSValueBaseline: | 2399 case CSSValueBaseline: |
2494 return VerticalAlignBaseline; | 2400 return VerticalAlignBaseline; |
2495 case CSSValueTextBottom: | 2401 case CSSValueTextBottom: |
2496 return VerticalAlignTextBottom; | 2402 return VerticalAlignTextBottom; |
2497 case CSSValueTextTop: | 2403 case CSSValueTextTop: |
2498 return VerticalAlignTextTop; | 2404 return VerticalAlignTextTop; |
2499 case CSSValueSub: | 2405 case CSSValueSub: |
2500 return VerticalAlignSub; | 2406 return VerticalAlignSub; |
2501 case CSSValueSuper: | 2407 case CSSValueSuper: |
2502 return VerticalAlignSuper; | 2408 return VerticalAlignSuper; |
2503 case CSSValueWebkitBaselineMiddle: | 2409 case CSSValueWebkitBaselineMiddle: |
2504 return VerticalAlignBaselineMiddle; | 2410 return VerticalAlignBaselineMiddle; |
2505 default: | 2411 default: |
2506 break; | 2412 break; |
2507 } | 2413 } |
2508 | 2414 |
2509 ASSERT_NOT_REACHED(); | 2415 ASSERT_NOT_REACHED(); |
2510 return VerticalAlignTop; | 2416 return VerticalAlignTop; |
2511 } | 2417 } |
2512 | 2418 |
2513 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVisibility e) | 2419 template<> inline CSSIdentifierValue::CSSIdentifierValue(EVisibility e) |
2514 : CSSValue(PrimitiveClass) | 2420 : CSSValue(IdentifierClass) |
2515 { | 2421 { |
2516 init(UnitType::ValueID); | |
2517 switch (e) { | 2422 switch (e) { |
2518 case EVisibility::Visible: | 2423 case EVisibility::Visible: |
2519 m_value.valueID = CSSValueVisible; | 2424 m_valueID = CSSValueVisible; |
2520 break; | 2425 break; |
2521 case EVisibility::Hidden: | 2426 case EVisibility::Hidden: |
2522 m_value.valueID = CSSValueHidden; | 2427 m_valueID = CSSValueHidden; |
2523 break; | 2428 break; |
2524 case EVisibility::Collapse: | 2429 case EVisibility::Collapse: |
2525 m_value.valueID = CSSValueCollapse; | 2430 m_valueID = CSSValueCollapse; |
2526 break; | 2431 break; |
2527 } | 2432 } |
2528 } | 2433 } |
2529 | 2434 |
2530 template<> inline EVisibility CSSPrimitiveValue::convertTo() const | 2435 template<> inline EVisibility CSSIdentifierValue::convertTo() const |
2531 { | 2436 { |
2532 ASSERT(isValueID()); | 2437 switch (m_valueID) { |
2533 switch (m_value.valueID) { | |
2534 case CSSValueHidden: | 2438 case CSSValueHidden: |
2535 return EVisibility::Hidden; | 2439 return EVisibility::Hidden; |
2536 case CSSValueVisible: | 2440 case CSSValueVisible: |
2537 return EVisibility::Visible; | 2441 return EVisibility::Visible; |
2538 case CSSValueCollapse: | 2442 case CSSValueCollapse: |
2539 return EVisibility::Collapse; | 2443 return EVisibility::Collapse; |
2540 default: | 2444 default: |
2541 break; | 2445 break; |
2542 } | 2446 } |
2543 | 2447 |
2544 ASSERT_NOT_REACHED(); | 2448 ASSERT_NOT_REACHED(); |
2545 return EVisibility::Visible; | 2449 return EVisibility::Visible; |
2546 } | 2450 } |
2547 | 2451 |
2548 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWhiteSpace e) | 2452 template<> inline CSSIdentifierValue::CSSIdentifierValue(EWhiteSpace e) |
2549 : CSSValue(PrimitiveClass) | 2453 : CSSValue(IdentifierClass) |
2550 { | 2454 { |
2551 init(UnitType::ValueID); | |
2552 switch (e) { | 2455 switch (e) { |
2553 case NORMAL: | 2456 case NORMAL: |
2554 m_value.valueID = CSSValueNormal; | 2457 m_valueID = CSSValueNormal; |
2555 break; | 2458 break; |
2556 case PRE: | 2459 case PRE: |
2557 m_value.valueID = CSSValuePre; | 2460 m_valueID = CSSValuePre; |
2558 break; | 2461 break; |
2559 case PRE_WRAP: | 2462 case PRE_WRAP: |
2560 m_value.valueID = CSSValuePreWrap; | 2463 m_valueID = CSSValuePreWrap; |
2561 break; | 2464 break; |
2562 case PRE_LINE: | 2465 case PRE_LINE: |
2563 m_value.valueID = CSSValuePreLine; | 2466 m_valueID = CSSValuePreLine; |
2564 break; | 2467 break; |
2565 case NOWRAP: | 2468 case NOWRAP: |
2566 m_value.valueID = CSSValueNowrap; | 2469 m_valueID = CSSValueNowrap; |
2567 break; | 2470 break; |
2568 case KHTML_NOWRAP: | 2471 case KHTML_NOWRAP: |
2569 m_value.valueID = CSSValueWebkitNowrap; | 2472 m_valueID = CSSValueWebkitNowrap; |
2570 break; | 2473 break; |
2571 } | 2474 } |
2572 } | 2475 } |
2573 | 2476 |
2574 template<> inline EWhiteSpace CSSPrimitiveValue::convertTo() const | 2477 template<> inline EWhiteSpace CSSIdentifierValue::convertTo() const |
2575 { | 2478 { |
2576 ASSERT(isValueID()); | 2479 switch (m_valueID) { |
2577 switch (m_value.valueID) { | |
2578 case CSSValueWebkitNowrap: | 2480 case CSSValueWebkitNowrap: |
2579 return KHTML_NOWRAP; | 2481 return KHTML_NOWRAP; |
2580 case CSSValueNowrap: | 2482 case CSSValueNowrap: |
2581 return NOWRAP; | 2483 return NOWRAP; |
2582 case CSSValuePre: | 2484 case CSSValuePre: |
2583 return PRE; | 2485 return PRE; |
2584 case CSSValuePreWrap: | 2486 case CSSValuePreWrap: |
2585 return PRE_WRAP; | 2487 return PRE_WRAP; |
2586 case CSSValuePreLine: | 2488 case CSSValuePreLine: |
2587 return PRE_LINE; | 2489 return PRE_LINE; |
2588 case CSSValueNormal: | 2490 case CSSValueNormal: |
2589 return NORMAL; | 2491 return NORMAL; |
2590 default: | 2492 default: |
2591 break; | 2493 break; |
2592 } | 2494 } |
2593 | 2495 |
2594 ASSERT_NOT_REACHED(); | 2496 ASSERT_NOT_REACHED(); |
2595 return NORMAL; | 2497 return NORMAL; |
2596 } | 2498 } |
2597 | 2499 |
2598 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWordBreak e) | 2500 template<> inline CSSIdentifierValue::CSSIdentifierValue(EWordBreak e) |
2599 : CSSValue(PrimitiveClass) | 2501 : CSSValue(IdentifierClass) |
2600 { | 2502 { |
2601 init(UnitType::ValueID); | |
2602 switch (e) { | 2503 switch (e) { |
2603 case NormalWordBreak: | 2504 case NormalWordBreak: |
2604 m_value.valueID = CSSValueNormal; | 2505 m_valueID = CSSValueNormal; |
2605 break; | 2506 break; |
2606 case BreakAllWordBreak: | 2507 case BreakAllWordBreak: |
2607 m_value.valueID = CSSValueBreakAll; | 2508 m_valueID = CSSValueBreakAll; |
2608 break; | 2509 break; |
2609 case BreakWordBreak: | 2510 case BreakWordBreak: |
2610 m_value.valueID = CSSValueBreakWord; | 2511 m_valueID = CSSValueBreakWord; |
2611 break; | 2512 break; |
2612 case KeepAllWordBreak: | 2513 case KeepAllWordBreak: |
2613 m_value.valueID = CSSValueKeepAll; | 2514 m_valueID = CSSValueKeepAll; |
2614 break; | 2515 break; |
2615 } | 2516 } |
2616 } | 2517 } |
2617 | 2518 |
2618 template<> inline EWordBreak CSSPrimitiveValue::convertTo() const | 2519 template<> inline EWordBreak CSSIdentifierValue::convertTo() const |
2619 { | 2520 { |
2620 ASSERT(isValueID()); | 2521 switch (m_valueID) { |
2621 switch (m_value.valueID) { | |
2622 case CSSValueBreakAll: | 2522 case CSSValueBreakAll: |
2623 return BreakAllWordBreak; | 2523 return BreakAllWordBreak; |
2624 case CSSValueBreakWord: | 2524 case CSSValueBreakWord: |
2625 return BreakWordBreak; | 2525 return BreakWordBreak; |
2626 case CSSValueNormal: | 2526 case CSSValueNormal: |
2627 return NormalWordBreak; | 2527 return NormalWordBreak; |
2628 case CSSValueKeepAll: | 2528 case CSSValueKeepAll: |
2629 return KeepAllWordBreak; | 2529 return KeepAllWordBreak; |
2630 default: | 2530 default: |
2631 break; | 2531 break; |
2632 } | 2532 } |
2633 | 2533 |
2634 ASSERT_NOT_REACHED(); | 2534 ASSERT_NOT_REACHED(); |
2635 return NormalWordBreak; | 2535 return NormalWordBreak; |
2636 } | 2536 } |
2637 | 2537 |
2638 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EOverflowAnchor e) | 2538 template<> inline CSSIdentifierValue::CSSIdentifierValue(EOverflowAnchor e) |
2639 : CSSValue(PrimitiveClass) | 2539 : CSSValue(IdentifierClass) |
2640 { | 2540 { |
2641 init(UnitType::ValueID); | |
2642 switch (e) { | 2541 switch (e) { |
2643 case AnchorVisible: | 2542 case AnchorVisible: |
2644 m_value.valueID = CSSValueVisible; | 2543 m_valueID = CSSValueVisible; |
2645 break; | 2544 break; |
2646 case AnchorNone: | 2545 case AnchorNone: |
2647 m_value.valueID = CSSValueNone; | 2546 m_valueID = CSSValueNone; |
2648 break; | 2547 break; |
2649 case AnchorAuto: | 2548 case AnchorAuto: |
2650 m_value.valueID = CSSValueAuto; | 2549 m_valueID = CSSValueAuto; |
2651 break; | 2550 break; |
2652 } | 2551 } |
2653 } | 2552 } |
2654 | 2553 |
2655 template<> inline EOverflowAnchor CSSPrimitiveValue::convertTo() const | 2554 template<> inline EOverflowAnchor CSSIdentifierValue::convertTo() const |
2656 { | 2555 { |
2657 DCHECK(isValueID()); | 2556 switch (m_valueID) { |
2658 switch (m_value.valueID) { | |
2659 case CSSValueVisible: | 2557 case CSSValueVisible: |
2660 return AnchorVisible; | 2558 return AnchorVisible; |
2661 case CSSValueNone: | 2559 case CSSValueNone: |
2662 return AnchorNone; | 2560 return AnchorNone; |
2663 case CSSValueAuto: | 2561 case CSSValueAuto: |
2664 return AnchorAuto; | 2562 return AnchorAuto; |
2665 default: | 2563 default: |
2666 break; | 2564 break; |
2667 } | 2565 } |
2668 | 2566 |
2669 NOTREACHED(); | 2567 NOTREACHED(); |
2670 return AnchorNone; | 2568 return AnchorNone; |
2671 } | 2569 } |
2672 | 2570 |
2673 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EOverflowWrap e) | 2571 template<> inline CSSIdentifierValue::CSSIdentifierValue(EOverflowWrap e) |
2674 : CSSValue(PrimitiveClass) | 2572 : CSSValue(IdentifierClass) |
2675 { | 2573 { |
2676 init(UnitType::ValueID); | |
2677 switch (e) { | 2574 switch (e) { |
2678 case NormalOverflowWrap: | 2575 case NormalOverflowWrap: |
2679 m_value.valueID = CSSValueNormal; | 2576 m_valueID = CSSValueNormal; |
2680 break; | 2577 break; |
2681 case BreakOverflowWrap: | 2578 case BreakOverflowWrap: |
2682 m_value.valueID = CSSValueBreakWord; | 2579 m_valueID = CSSValueBreakWord; |
2683 break; | 2580 break; |
2684 } | 2581 } |
2685 } | 2582 } |
2686 | 2583 |
2687 template<> inline EOverflowWrap CSSPrimitiveValue::convertTo() const | 2584 template<> inline EOverflowWrap CSSIdentifierValue::convertTo() const |
2688 { | 2585 { |
2689 ASSERT(isValueID()); | 2586 switch (m_valueID) { |
2690 switch (m_value.valueID) { | |
2691 case CSSValueBreakWord: | 2587 case CSSValueBreakWord: |
2692 return BreakOverflowWrap; | 2588 return BreakOverflowWrap; |
2693 case CSSValueNormal: | 2589 case CSSValueNormal: |
2694 return NormalOverflowWrap; | 2590 return NormalOverflowWrap; |
2695 default: | 2591 default: |
2696 break; | 2592 break; |
2697 } | 2593 } |
2698 | 2594 |
2699 ASSERT_NOT_REACHED(); | 2595 ASSERT_NOT_REACHED(); |
2700 return NormalOverflowWrap; | 2596 return NormalOverflowWrap; |
2701 } | 2597 } |
2702 | 2598 |
2703 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextDirection e) | 2599 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextDirection e) |
2704 : CSSValue(PrimitiveClass) | 2600 : CSSValue(IdentifierClass) |
2705 { | 2601 { |
2706 init(UnitType::ValueID); | |
2707 switch (e) { | 2602 switch (e) { |
2708 case LTR: | 2603 case LTR: |
2709 m_value.valueID = CSSValueLtr; | 2604 m_valueID = CSSValueLtr; |
2710 break; | 2605 break; |
2711 case RTL: | 2606 case RTL: |
2712 m_value.valueID = CSSValueRtl; | 2607 m_valueID = CSSValueRtl; |
2713 break; | 2608 break; |
2714 } | 2609 } |
2715 } | 2610 } |
2716 | 2611 |
2717 template<> inline TextDirection CSSPrimitiveValue::convertTo() const | 2612 template<> inline TextDirection CSSIdentifierValue::convertTo() const |
2718 { | 2613 { |
2719 ASSERT(isValueID()); | 2614 switch (m_valueID) { |
2720 switch (m_value.valueID) { | |
2721 case CSSValueLtr: | 2615 case CSSValueLtr: |
2722 return LTR; | 2616 return LTR; |
2723 case CSSValueRtl: | 2617 case CSSValueRtl: |
2724 return RTL; | 2618 return RTL; |
2725 default: | 2619 default: |
2726 break; | 2620 break; |
2727 } | 2621 } |
2728 | 2622 |
2729 ASSERT_NOT_REACHED(); | 2623 ASSERT_NOT_REACHED(); |
2730 return LTR; | 2624 return LTR; |
2731 } | 2625 } |
2732 | 2626 |
2733 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WritingMode e) | 2627 template<> inline CSSIdentifierValue::CSSIdentifierValue(WritingMode e) |
2734 : CSSValue(PrimitiveClass) | 2628 : CSSValue(IdentifierClass) |
2735 { | 2629 { |
2736 init(UnitType::ValueID); | |
2737 switch (e) { | 2630 switch (e) { |
2738 case TopToBottomWritingMode: | 2631 case TopToBottomWritingMode: |
2739 m_value.valueID = CSSValueHorizontalTb; | 2632 m_valueID = CSSValueHorizontalTb; |
2740 break; | 2633 break; |
2741 case RightToLeftWritingMode: | 2634 case RightToLeftWritingMode: |
2742 m_value.valueID = CSSValueVerticalRl; | 2635 m_valueID = CSSValueVerticalRl; |
2743 break; | 2636 break; |
2744 case LeftToRightWritingMode: | 2637 case LeftToRightWritingMode: |
2745 m_value.valueID = CSSValueVerticalLr; | 2638 m_valueID = CSSValueVerticalLr; |
2746 break; | 2639 break; |
2747 } | 2640 } |
2748 } | 2641 } |
2749 | 2642 |
2750 template<> inline WritingMode CSSPrimitiveValue::convertTo() const | 2643 template<> inline WritingMode CSSIdentifierValue::convertTo() const |
2751 { | 2644 { |
2752 ASSERT(isValueID()); | 2645 switch (m_valueID) { |
2753 switch (m_value.valueID) { | |
2754 case CSSValueHorizontalTb: | 2646 case CSSValueHorizontalTb: |
2755 case CSSValueLr: | 2647 case CSSValueLr: |
2756 case CSSValueLrTb: | 2648 case CSSValueLrTb: |
2757 case CSSValueRl: | 2649 case CSSValueRl: |
2758 case CSSValueRlTb: | 2650 case CSSValueRlTb: |
2759 return TopToBottomWritingMode; | 2651 return TopToBottomWritingMode; |
2760 case CSSValueVerticalRl: | 2652 case CSSValueVerticalRl: |
2761 case CSSValueTb: | 2653 case CSSValueTb: |
2762 case CSSValueTbRl: | 2654 case CSSValueTbRl: |
2763 return RightToLeftWritingMode; | 2655 return RightToLeftWritingMode; |
2764 case CSSValueVerticalLr: | 2656 case CSSValueVerticalLr: |
2765 return LeftToRightWritingMode; | 2657 return LeftToRightWritingMode; |
2766 default: | 2658 default: |
2767 break; | 2659 break; |
2768 } | 2660 } |
2769 | 2661 |
2770 ASSERT_NOT_REACHED(); | 2662 ASSERT_NOT_REACHED(); |
2771 return TopToBottomWritingMode; | 2663 return TopToBottomWritingMode; |
2772 } | 2664 } |
2773 | 2665 |
2774 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextCombine e) | 2666 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextCombine e) |
2775 : CSSValue(PrimitiveClass) | 2667 : CSSValue(IdentifierClass) |
2776 { | 2668 { |
2777 init(UnitType::ValueID); | |
2778 switch (e) { | 2669 switch (e) { |
2779 case TextCombineNone: | 2670 case TextCombineNone: |
2780 m_value.valueID = CSSValueNone; | 2671 m_valueID = CSSValueNone; |
2781 break; | 2672 break; |
2782 case TextCombineAll: | 2673 case TextCombineAll: |
2783 m_value.valueID = CSSValueAll; | 2674 m_valueID = CSSValueAll; |
2784 break; | 2675 break; |
2785 } | 2676 } |
2786 } | 2677 } |
2787 | 2678 |
2788 template<> inline TextCombine CSSPrimitiveValue::convertTo() const | 2679 template<> inline TextCombine CSSIdentifierValue::convertTo() const |
2789 { | 2680 { |
2790 ASSERT(isValueID()); | 2681 switch (m_valueID) { |
2791 switch (m_value.valueID) { | |
2792 case CSSValueNone: | 2682 case CSSValueNone: |
2793 return TextCombineNone; | 2683 return TextCombineNone; |
2794 case CSSValueAll: | 2684 case CSSValueAll: |
2795 case CSSValueHorizontal: // -webkit-text-combine | 2685 case CSSValueHorizontal: // -webkit-text-combine |
2796 return TextCombineAll; | 2686 return TextCombineAll; |
2797 default: | 2687 default: |
2798 break; | 2688 break; |
2799 } | 2689 } |
2800 | 2690 |
2801 ASSERT_NOT_REACHED(); | 2691 ASSERT_NOT_REACHED(); |
2802 return TextCombineNone; | 2692 return TextCombineNone; |
2803 } | 2693 } |
2804 | 2694 |
2805 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(RubyPosition position) | 2695 template<> inline CSSIdentifierValue::CSSIdentifierValue(RubyPosition position) |
2806 : CSSValue(PrimitiveClass) | 2696 : CSSValue(IdentifierClass) |
2807 { | 2697 { |
2808 init(UnitType::ValueID); | |
2809 switch (position) { | 2698 switch (position) { |
2810 case RubyPositionBefore: | 2699 case RubyPositionBefore: |
2811 m_value.valueID = CSSValueBefore; | 2700 m_valueID = CSSValueBefore; |
2812 break; | 2701 break; |
2813 case RubyPositionAfter: | 2702 case RubyPositionAfter: |
2814 m_value.valueID = CSSValueAfter; | 2703 m_valueID = CSSValueAfter; |
2815 break; | 2704 break; |
2816 } | 2705 } |
2817 } | 2706 } |
2818 | 2707 |
2819 template<> inline RubyPosition CSSPrimitiveValue::convertTo() const | 2708 template<> inline RubyPosition CSSIdentifierValue::convertTo() const |
2820 { | 2709 { |
2821 ASSERT(isValueID()); | 2710 switch (m_valueID) { |
2822 switch (m_value.valueID) { | |
2823 case CSSValueBefore: | 2711 case CSSValueBefore: |
2824 return RubyPositionBefore; | 2712 return RubyPositionBefore; |
2825 case CSSValueAfter: | 2713 case CSSValueAfter: |
2826 return RubyPositionAfter; | 2714 return RubyPositionAfter; |
2827 default: | 2715 default: |
2828 break; | 2716 break; |
2829 } | 2717 } |
2830 | 2718 |
2831 ASSERT_NOT_REACHED(); | 2719 ASSERT_NOT_REACHED(); |
2832 return RubyPositionBefore; | 2720 return RubyPositionBefore; |
2833 } | 2721 } |
2834 | 2722 |
2835 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisPosition posi
tion) | 2723 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextEmphasisPosition po
sition) |
2836 : CSSValue(PrimitiveClass) | 2724 : CSSValue(IdentifierClass) |
2837 { | 2725 { |
2838 init(UnitType::ValueID); | |
2839 switch (position) { | 2726 switch (position) { |
2840 case TextEmphasisPositionOver: | 2727 case TextEmphasisPositionOver: |
2841 m_value.valueID = CSSValueOver; | 2728 m_valueID = CSSValueOver; |
2842 break; | 2729 break; |
2843 case TextEmphasisPositionUnder: | 2730 case TextEmphasisPositionUnder: |
2844 m_value.valueID = CSSValueUnder; | 2731 m_valueID = CSSValueUnder; |
2845 break; | 2732 break; |
2846 } | 2733 } |
2847 } | 2734 } |
2848 | 2735 |
2849 template<> inline TextEmphasisPosition CSSPrimitiveValue::convertTo() const | 2736 template<> inline TextEmphasisPosition CSSIdentifierValue::convertTo() const |
2850 { | 2737 { |
2851 ASSERT(isValueID()); | 2738 switch (m_valueID) { |
2852 switch (m_value.valueID) { | |
2853 case CSSValueOver: | 2739 case CSSValueOver: |
2854 return TextEmphasisPositionOver; | 2740 return TextEmphasisPositionOver; |
2855 case CSSValueUnder: | 2741 case CSSValueUnder: |
2856 return TextEmphasisPositionUnder; | 2742 return TextEmphasisPositionUnder; |
2857 default: | 2743 default: |
2858 break; | 2744 break; |
2859 } | 2745 } |
2860 | 2746 |
2861 ASSERT_NOT_REACHED(); | 2747 ASSERT_NOT_REACHED(); |
2862 return TextEmphasisPositionOver; | 2748 return TextEmphasisPositionOver; |
2863 } | 2749 } |
2864 | 2750 |
2865 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextOverflow overflow) | 2751 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextOverflow overflow) |
2866 : CSSValue(PrimitiveClass) | 2752 : CSSValue(IdentifierClass) |
2867 { | 2753 { |
2868 init(UnitType::ValueID); | |
2869 switch (overflow) { | 2754 switch (overflow) { |
2870 case TextOverflowClip: | 2755 case TextOverflowClip: |
2871 m_value.valueID = CSSValueClip; | 2756 m_valueID = CSSValueClip; |
2872 break; | 2757 break; |
2873 case TextOverflowEllipsis: | 2758 case TextOverflowEllipsis: |
2874 m_value.valueID = CSSValueEllipsis; | 2759 m_valueID = CSSValueEllipsis; |
2875 break; | 2760 break; |
2876 } | 2761 } |
2877 } | 2762 } |
2878 | 2763 |
2879 template<> inline TextOverflow CSSPrimitiveValue::convertTo() const | 2764 template<> inline TextOverflow CSSIdentifierValue::convertTo() const |
2880 { | 2765 { |
2881 ASSERT(isValueID()); | 2766 switch (m_valueID) { |
2882 switch (m_value.valueID) { | |
2883 case CSSValueClip: | 2767 case CSSValueClip: |
2884 return TextOverflowClip; | 2768 return TextOverflowClip; |
2885 case CSSValueEllipsis: | 2769 case CSSValueEllipsis: |
2886 return TextOverflowEllipsis; | 2770 return TextOverflowEllipsis; |
2887 default: | 2771 default: |
2888 break; | 2772 break; |
2889 } | 2773 } |
2890 | 2774 |
2891 ASSERT_NOT_REACHED(); | 2775 ASSERT_NOT_REACHED(); |
2892 return TextOverflowClip; | 2776 return TextOverflowClip; |
2893 } | 2777 } |
2894 | 2778 |
2895 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisFill fill) | 2779 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextEmphasisFill fill) |
2896 : CSSValue(PrimitiveClass) | 2780 : CSSValue(IdentifierClass) |
2897 { | 2781 { |
2898 init(UnitType::ValueID); | |
2899 switch (fill) { | 2782 switch (fill) { |
2900 case TextEmphasisFillFilled: | 2783 case TextEmphasisFillFilled: |
2901 m_value.valueID = CSSValueFilled; | 2784 m_valueID = CSSValueFilled; |
2902 break; | 2785 break; |
2903 case TextEmphasisFillOpen: | 2786 case TextEmphasisFillOpen: |
2904 m_value.valueID = CSSValueOpen; | 2787 m_valueID = CSSValueOpen; |
2905 break; | 2788 break; |
2906 } | 2789 } |
2907 } | 2790 } |
2908 | 2791 |
2909 template<> inline TextEmphasisFill CSSPrimitiveValue::convertTo() const | 2792 template<> inline TextEmphasisFill CSSIdentifierValue::convertTo() const |
2910 { | 2793 { |
2911 ASSERT(isValueID()); | 2794 switch (m_valueID) { |
2912 switch (m_value.valueID) { | |
2913 case CSSValueFilled: | 2795 case CSSValueFilled: |
2914 return TextEmphasisFillFilled; | 2796 return TextEmphasisFillFilled; |
2915 case CSSValueOpen: | 2797 case CSSValueOpen: |
2916 return TextEmphasisFillOpen; | 2798 return TextEmphasisFillOpen; |
2917 default: | 2799 default: |
2918 break; | 2800 break; |
2919 } | 2801 } |
2920 | 2802 |
2921 ASSERT_NOT_REACHED(); | 2803 ASSERT_NOT_REACHED(); |
2922 return TextEmphasisFillFilled; | 2804 return TextEmphasisFillFilled; |
2923 } | 2805 } |
2924 | 2806 |
2925 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisMark mark) | 2807 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextEmphasisMark mark) |
2926 : CSSValue(PrimitiveClass) | 2808 : CSSValue(IdentifierClass) |
2927 { | 2809 { |
2928 init(UnitType::ValueID); | |
2929 switch (mark) { | 2810 switch (mark) { |
2930 case TextEmphasisMarkDot: | 2811 case TextEmphasisMarkDot: |
2931 m_value.valueID = CSSValueDot; | 2812 m_valueID = CSSValueDot; |
2932 break; | 2813 break; |
2933 case TextEmphasisMarkCircle: | 2814 case TextEmphasisMarkCircle: |
2934 m_value.valueID = CSSValueCircle; | 2815 m_valueID = CSSValueCircle; |
2935 break; | 2816 break; |
2936 case TextEmphasisMarkDoubleCircle: | 2817 case TextEmphasisMarkDoubleCircle: |
2937 m_value.valueID = CSSValueDoubleCircle; | 2818 m_valueID = CSSValueDoubleCircle; |
2938 break; | 2819 break; |
2939 case TextEmphasisMarkTriangle: | 2820 case TextEmphasisMarkTriangle: |
2940 m_value.valueID = CSSValueTriangle; | 2821 m_valueID = CSSValueTriangle; |
2941 break; | 2822 break; |
2942 case TextEmphasisMarkSesame: | 2823 case TextEmphasisMarkSesame: |
2943 m_value.valueID = CSSValueSesame; | 2824 m_valueID = CSSValueSesame; |
2944 break; | 2825 break; |
2945 case TextEmphasisMarkNone: | 2826 case TextEmphasisMarkNone: |
2946 case TextEmphasisMarkAuto: | 2827 case TextEmphasisMarkAuto: |
2947 case TextEmphasisMarkCustom: | 2828 case TextEmphasisMarkCustom: |
2948 ASSERT_NOT_REACHED(); | 2829 ASSERT_NOT_REACHED(); |
2949 m_value.valueID = CSSValueNone; | 2830 m_valueID = CSSValueNone; |
2950 break; | 2831 break; |
2951 } | 2832 } |
2952 } | 2833 } |
2953 | 2834 |
2954 template<> inline TextEmphasisMark CSSPrimitiveValue::convertTo() const | 2835 template<> inline TextEmphasisMark CSSIdentifierValue::convertTo() const |
2955 { | 2836 { |
2956 ASSERT(isValueID()); | 2837 switch (m_valueID) { |
2957 switch (m_value.valueID) { | |
2958 case CSSValueNone: | 2838 case CSSValueNone: |
2959 return TextEmphasisMarkNone; | 2839 return TextEmphasisMarkNone; |
2960 case CSSValueDot: | 2840 case CSSValueDot: |
2961 return TextEmphasisMarkDot; | 2841 return TextEmphasisMarkDot; |
2962 case CSSValueCircle: | 2842 case CSSValueCircle: |
2963 return TextEmphasisMarkCircle; | 2843 return TextEmphasisMarkCircle; |
2964 case CSSValueDoubleCircle: | 2844 case CSSValueDoubleCircle: |
2965 return TextEmphasisMarkDoubleCircle; | 2845 return TextEmphasisMarkDoubleCircle; |
2966 case CSSValueTriangle: | 2846 case CSSValueTriangle: |
2967 return TextEmphasisMarkTriangle; | 2847 return TextEmphasisMarkTriangle; |
2968 case CSSValueSesame: | 2848 case CSSValueSesame: |
2969 return TextEmphasisMarkSesame; | 2849 return TextEmphasisMarkSesame; |
2970 default: | 2850 default: |
2971 break; | 2851 break; |
2972 } | 2852 } |
2973 | 2853 |
2974 ASSERT_NOT_REACHED(); | 2854 ASSERT_NOT_REACHED(); |
2975 return TextEmphasisMarkNone; | 2855 return TextEmphasisMarkNone; |
2976 } | 2856 } |
2977 | 2857 |
2978 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextOrientation e) | 2858 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextOrientation e) |
2979 : CSSValue(PrimitiveClass) | 2859 : CSSValue(IdentifierClass) |
2980 { | 2860 { |
2981 init(UnitType::ValueID); | |
2982 switch (e) { | 2861 switch (e) { |
2983 case TextOrientationSideways: | 2862 case TextOrientationSideways: |
2984 m_value.valueID = CSSValueSideways; | 2863 m_valueID = CSSValueSideways; |
2985 break; | 2864 break; |
2986 case TextOrientationMixed: | 2865 case TextOrientationMixed: |
2987 m_value.valueID = CSSValueMixed; | 2866 m_valueID = CSSValueMixed; |
2988 break; | 2867 break; |
2989 case TextOrientationUpright: | 2868 case TextOrientationUpright: |
2990 m_value.valueID = CSSValueUpright; | 2869 m_valueID = CSSValueUpright; |
2991 break; | 2870 break; |
2992 } | 2871 } |
2993 } | 2872 } |
2994 | 2873 |
2995 template<> inline TextOrientation CSSPrimitiveValue::convertTo() const | 2874 template<> inline TextOrientation CSSIdentifierValue::convertTo() const |
2996 { | 2875 { |
2997 ASSERT(isValueID()); | 2876 switch (m_valueID) { |
2998 switch (m_value.valueID) { | |
2999 case CSSValueSideways: | 2877 case CSSValueSideways: |
3000 case CSSValueSidewaysRight: | 2878 case CSSValueSidewaysRight: |
3001 return TextOrientationSideways; | 2879 return TextOrientationSideways; |
3002 case CSSValueMixed: | 2880 case CSSValueMixed: |
3003 case CSSValueVerticalRight: // -webkit-text-orientation | 2881 case CSSValueVerticalRight: // -webkit-text-orientation |
3004 return TextOrientationMixed; | 2882 return TextOrientationMixed; |
3005 case CSSValueUpright: | 2883 case CSSValueUpright: |
3006 return TextOrientationUpright; | 2884 return TextOrientationUpright; |
3007 default: | 2885 default: |
3008 break; | 2886 break; |
3009 } | 2887 } |
3010 | 2888 |
3011 ASSERT_NOT_REACHED(); | 2889 ASSERT_NOT_REACHED(); |
3012 return TextOrientationMixed; | 2890 return TextOrientationMixed; |
3013 } | 2891 } |
3014 | 2892 |
3015 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPointerEvents e) | 2893 template<> inline CSSIdentifierValue::CSSIdentifierValue(EPointerEvents e) |
3016 : CSSValue(PrimitiveClass) | 2894 : CSSValue(IdentifierClass) |
3017 { | 2895 { |
3018 init(UnitType::ValueID); | |
3019 switch (e) { | 2896 switch (e) { |
3020 case PE_NONE: | 2897 case PE_NONE: |
3021 m_value.valueID = CSSValueNone; | 2898 m_valueID = CSSValueNone; |
3022 break; | 2899 break; |
3023 case PE_STROKE: | 2900 case PE_STROKE: |
3024 m_value.valueID = CSSValueStroke; | 2901 m_valueID = CSSValueStroke; |
3025 break; | 2902 break; |
3026 case PE_FILL: | 2903 case PE_FILL: |
3027 m_value.valueID = CSSValueFill; | 2904 m_valueID = CSSValueFill; |
3028 break; | 2905 break; |
3029 case PE_PAINTED: | 2906 case PE_PAINTED: |
3030 m_value.valueID = CSSValuePainted; | 2907 m_valueID = CSSValuePainted; |
3031 break; | 2908 break; |
3032 case PE_VISIBLE: | 2909 case PE_VISIBLE: |
3033 m_value.valueID = CSSValueVisible; | 2910 m_valueID = CSSValueVisible; |
3034 break; | 2911 break; |
3035 case PE_VISIBLE_STROKE: | 2912 case PE_VISIBLE_STROKE: |
3036 m_value.valueID = CSSValueVisibleStroke; | 2913 m_valueID = CSSValueVisibleStroke; |
3037 break; | 2914 break; |
3038 case PE_VISIBLE_FILL: | 2915 case PE_VISIBLE_FILL: |
3039 m_value.valueID = CSSValueVisibleFill; | 2916 m_valueID = CSSValueVisibleFill; |
3040 break; | 2917 break; |
3041 case PE_VISIBLE_PAINTED: | 2918 case PE_VISIBLE_PAINTED: |
3042 m_value.valueID = CSSValueVisiblePainted; | 2919 m_valueID = CSSValueVisiblePainted; |
3043 break; | 2920 break; |
3044 case PE_AUTO: | 2921 case PE_AUTO: |
3045 m_value.valueID = CSSValueAuto; | 2922 m_valueID = CSSValueAuto; |
3046 break; | 2923 break; |
3047 case PE_ALL: | 2924 case PE_ALL: |
3048 m_value.valueID = CSSValueAll; | 2925 m_valueID = CSSValueAll; |
3049 break; | 2926 break; |
3050 case PE_BOUNDINGBOX: | 2927 case PE_BOUNDINGBOX: |
3051 m_value.valueID = CSSValueBoundingBox; | 2928 m_valueID = CSSValueBoundingBox; |
3052 break; | 2929 break; |
3053 } | 2930 } |
3054 } | 2931 } |
3055 | 2932 |
3056 template<> inline EPointerEvents CSSPrimitiveValue::convertTo() const | 2933 template<> inline EPointerEvents CSSIdentifierValue::convertTo() const |
3057 { | 2934 { |
3058 ASSERT(isValueID()); | 2935 switch (m_valueID) { |
3059 switch (m_value.valueID) { | |
3060 case CSSValueAll: | 2936 case CSSValueAll: |
3061 return PE_ALL; | 2937 return PE_ALL; |
3062 case CSSValueAuto: | 2938 case CSSValueAuto: |
3063 return PE_AUTO; | 2939 return PE_AUTO; |
3064 case CSSValueNone: | 2940 case CSSValueNone: |
3065 return PE_NONE; | 2941 return PE_NONE; |
3066 case CSSValueVisiblePainted: | 2942 case CSSValueVisiblePainted: |
3067 return PE_VISIBLE_PAINTED; | 2943 return PE_VISIBLE_PAINTED; |
3068 case CSSValueVisibleFill: | 2944 case CSSValueVisibleFill: |
3069 return PE_VISIBLE_FILL; | 2945 return PE_VISIBLE_FILL; |
(...skipping 10 matching lines...) Expand all Loading... |
3080 case CSSValueBoundingBox: | 2956 case CSSValueBoundingBox: |
3081 return PE_BOUNDINGBOX; | 2957 return PE_BOUNDINGBOX; |
3082 default: | 2958 default: |
3083 break; | 2959 break; |
3084 } | 2960 } |
3085 | 2961 |
3086 ASSERT_NOT_REACHED(); | 2962 ASSERT_NOT_REACHED(); |
3087 return PE_ALL; | 2963 return PE_ALL; |
3088 } | 2964 } |
3089 | 2965 |
3090 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontDescription::Kerning
kerning) | 2966 template<> inline CSSIdentifierValue::CSSIdentifierValue(FontDescription::Kernin
g kerning) |
3091 : CSSValue(PrimitiveClass) | 2967 : CSSValue(IdentifierClass) |
3092 { | 2968 { |
3093 init(UnitType::ValueID); | |
3094 switch (kerning) { | 2969 switch (kerning) { |
3095 case FontDescription::AutoKerning: | 2970 case FontDescription::AutoKerning: |
3096 m_value.valueID = CSSValueAuto; | 2971 m_valueID = CSSValueAuto; |
3097 return; | 2972 return; |
3098 case FontDescription::NormalKerning: | 2973 case FontDescription::NormalKerning: |
3099 m_value.valueID = CSSValueNormal; | 2974 m_valueID = CSSValueNormal; |
3100 return; | 2975 return; |
3101 case FontDescription::NoneKerning: | 2976 case FontDescription::NoneKerning: |
3102 m_value.valueID = CSSValueNone; | 2977 m_valueID = CSSValueNone; |
3103 return; | 2978 return; |
3104 } | 2979 } |
3105 | 2980 |
3106 ASSERT_NOT_REACHED(); | 2981 ASSERT_NOT_REACHED(); |
3107 m_value.valueID = CSSValueAuto; | 2982 m_valueID = CSSValueAuto; |
3108 } | 2983 } |
3109 | 2984 |
3110 template<> inline FontDescription::Kerning CSSPrimitiveValue::convertTo() const | 2985 template<> inline FontDescription::Kerning CSSIdentifierValue::convertTo() const |
3111 { | 2986 { |
3112 ASSERT(isValueID()); | 2987 switch (m_valueID) { |
3113 switch (m_value.valueID) { | |
3114 case CSSValueAuto: | 2988 case CSSValueAuto: |
3115 return FontDescription::AutoKerning; | 2989 return FontDescription::AutoKerning; |
3116 case CSSValueNormal: | 2990 case CSSValueNormal: |
3117 return FontDescription::NormalKerning; | 2991 return FontDescription::NormalKerning; |
3118 case CSSValueNone: | 2992 case CSSValueNone: |
3119 return FontDescription::NoneKerning; | 2993 return FontDescription::NoneKerning; |
3120 default: | 2994 default: |
3121 break; | 2995 break; |
3122 } | 2996 } |
3123 | 2997 |
3124 ASSERT_NOT_REACHED(); | 2998 ASSERT_NOT_REACHED(); |
3125 return FontDescription::AutoKerning; | 2999 return FontDescription::AutoKerning; |
3126 } | 3000 } |
3127 | 3001 |
3128 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ObjectFit fit) | 3002 template<> inline CSSIdentifierValue::CSSIdentifierValue(ObjectFit fit) |
3129 : CSSValue(PrimitiveClass) | 3003 : CSSValue(IdentifierClass) |
3130 { | 3004 { |
3131 init(UnitType::ValueID); | |
3132 switch (fit) { | 3005 switch (fit) { |
3133 case ObjectFitFill: | 3006 case ObjectFitFill: |
3134 m_value.valueID = CSSValueFill; | 3007 m_valueID = CSSValueFill; |
3135 break; | 3008 break; |
3136 case ObjectFitContain: | 3009 case ObjectFitContain: |
3137 m_value.valueID = CSSValueContain; | 3010 m_valueID = CSSValueContain; |
3138 break; | 3011 break; |
3139 case ObjectFitCover: | 3012 case ObjectFitCover: |
3140 m_value.valueID = CSSValueCover; | 3013 m_valueID = CSSValueCover; |
3141 break; | 3014 break; |
3142 case ObjectFitNone: | 3015 case ObjectFitNone: |
3143 m_value.valueID = CSSValueNone; | 3016 m_valueID = CSSValueNone; |
3144 break; | 3017 break; |
3145 case ObjectFitScaleDown: | 3018 case ObjectFitScaleDown: |
3146 m_value.valueID = CSSValueScaleDown; | 3019 m_valueID = CSSValueScaleDown; |
3147 break; | 3020 break; |
3148 } | 3021 } |
3149 } | 3022 } |
3150 | 3023 |
3151 template<> inline ObjectFit CSSPrimitiveValue::convertTo() const | 3024 template<> inline ObjectFit CSSIdentifierValue::convertTo() const |
3152 { | 3025 { |
3153 switch (m_value.valueID) { | 3026 switch (m_valueID) { |
3154 case CSSValueFill: | 3027 case CSSValueFill: |
3155 return ObjectFitFill; | 3028 return ObjectFitFill; |
3156 case CSSValueContain: | 3029 case CSSValueContain: |
3157 return ObjectFitContain; | 3030 return ObjectFitContain; |
3158 case CSSValueCover: | 3031 case CSSValueCover: |
3159 return ObjectFitCover; | 3032 return ObjectFitCover; |
3160 case CSSValueNone: | 3033 case CSSValueNone: |
3161 return ObjectFitNone; | 3034 return ObjectFitNone; |
3162 case CSSValueScaleDown: | 3035 case CSSValueScaleDown: |
3163 return ObjectFitScaleDown; | 3036 return ObjectFitScaleDown; |
3164 default: | 3037 default: |
3165 ASSERT_NOT_REACHED(); | 3038 ASSERT_NOT_REACHED(); |
3166 return ObjectFitFill; | 3039 return ObjectFitFill; |
3167 } | 3040 } |
3168 } | 3041 } |
3169 | 3042 |
3170 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillSizeType fillSize) | 3043 template<> inline CSSIdentifierValue::CSSIdentifierValue(EFillSizeType fillSize) |
3171 : CSSValue(PrimitiveClass) | 3044 : CSSValue(IdentifierClass) |
3172 { | 3045 { |
3173 init(UnitType::ValueID); | |
3174 switch (fillSize) { | 3046 switch (fillSize) { |
3175 case Contain: | 3047 case Contain: |
3176 m_value.valueID = CSSValueContain; | 3048 m_valueID = CSSValueContain; |
3177 break; | 3049 break; |
3178 case Cover: | 3050 case Cover: |
3179 m_value.valueID = CSSValueCover; | 3051 m_valueID = CSSValueCover; |
3180 break; | 3052 break; |
3181 case SizeNone: | 3053 case SizeNone: |
3182 m_value.valueID = CSSValueNone; | 3054 m_valueID = CSSValueNone; |
3183 break; | 3055 break; |
3184 case SizeLength: | 3056 case SizeLength: |
3185 default: | 3057 default: |
3186 ASSERT_NOT_REACHED(); | 3058 ASSERT_NOT_REACHED(); |
3187 } | 3059 } |
3188 } | 3060 } |
3189 | 3061 |
3190 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontSmoothingMode smoothi
ng) | 3062 template<> inline CSSIdentifierValue::CSSIdentifierValue(FontSmoothingMode smoot
hing) |
3191 : CSSValue(PrimitiveClass) | 3063 : CSSValue(IdentifierClass) |
3192 { | 3064 { |
3193 init(UnitType::ValueID); | |
3194 switch (smoothing) { | 3065 switch (smoothing) { |
3195 case AutoSmoothing: | 3066 case AutoSmoothing: |
3196 m_value.valueID = CSSValueAuto; | 3067 m_valueID = CSSValueAuto; |
3197 return; | 3068 return; |
3198 case NoSmoothing: | 3069 case NoSmoothing: |
3199 m_value.valueID = CSSValueNone; | 3070 m_valueID = CSSValueNone; |
3200 return; | 3071 return; |
3201 case Antialiased: | 3072 case Antialiased: |
3202 m_value.valueID = CSSValueAntialiased; | 3073 m_valueID = CSSValueAntialiased; |
3203 return; | 3074 return; |
3204 case SubpixelAntialiased: | 3075 case SubpixelAntialiased: |
3205 m_value.valueID = CSSValueSubpixelAntialiased; | 3076 m_valueID = CSSValueSubpixelAntialiased; |
3206 return; | 3077 return; |
3207 } | 3078 } |
3208 | 3079 |
3209 ASSERT_NOT_REACHED(); | 3080 ASSERT_NOT_REACHED(); |
3210 m_value.valueID = CSSValueAuto; | 3081 m_valueID = CSSValueAuto; |
3211 } | 3082 } |
3212 | 3083 |
3213 template<> inline FontSmoothingMode CSSPrimitiveValue::convertTo() const | 3084 template<> inline FontSmoothingMode CSSIdentifierValue::convertTo() const |
3214 { | 3085 { |
3215 ASSERT(isValueID()); | 3086 switch (m_valueID) { |
3216 switch (m_value.valueID) { | |
3217 case CSSValueAuto: | 3087 case CSSValueAuto: |
3218 return AutoSmoothing; | 3088 return AutoSmoothing; |
3219 case CSSValueNone: | 3089 case CSSValueNone: |
3220 return NoSmoothing; | 3090 return NoSmoothing; |
3221 case CSSValueAntialiased: | 3091 case CSSValueAntialiased: |
3222 return Antialiased; | 3092 return Antialiased; |
3223 case CSSValueSubpixelAntialiased: | 3093 case CSSValueSubpixelAntialiased: |
3224 return SubpixelAntialiased; | 3094 return SubpixelAntialiased; |
3225 default: | 3095 default: |
3226 break; | 3096 break; |
3227 } | 3097 } |
3228 | 3098 |
3229 ASSERT_NOT_REACHED(); | 3099 ASSERT_NOT_REACHED(); |
3230 return AutoSmoothing; | 3100 return AutoSmoothing; |
3231 } | 3101 } |
3232 | 3102 |
3233 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontWeight weight) | 3103 template<> inline CSSIdentifierValue::CSSIdentifierValue(FontWeight weight) |
3234 : CSSValue(PrimitiveClass) | 3104 : CSSValue(IdentifierClass) |
3235 { | 3105 { |
3236 init(UnitType::ValueID); | |
3237 switch (weight) { | 3106 switch (weight) { |
3238 case FontWeight900: | 3107 case FontWeight900: |
3239 m_value.valueID = CSSValue900; | 3108 m_valueID = CSSValue900; |
3240 return; | 3109 return; |
3241 case FontWeight800: | 3110 case FontWeight800: |
3242 m_value.valueID = CSSValue800; | 3111 m_valueID = CSSValue800; |
3243 return; | 3112 return; |
3244 case FontWeight700: | 3113 case FontWeight700: |
3245 m_value.valueID = CSSValueBold; | 3114 m_valueID = CSSValueBold; |
3246 return; | 3115 return; |
3247 case FontWeight600: | 3116 case FontWeight600: |
3248 m_value.valueID = CSSValue600; | 3117 m_valueID = CSSValue600; |
3249 return; | 3118 return; |
3250 case FontWeight500: | 3119 case FontWeight500: |
3251 m_value.valueID = CSSValue500; | 3120 m_valueID = CSSValue500; |
3252 return; | 3121 return; |
3253 case FontWeight400: | 3122 case FontWeight400: |
3254 m_value.valueID = CSSValueNormal; | 3123 m_valueID = CSSValueNormal; |
3255 return; | 3124 return; |
3256 case FontWeight300: | 3125 case FontWeight300: |
3257 m_value.valueID = CSSValue300; | 3126 m_valueID = CSSValue300; |
3258 return; | 3127 return; |
3259 case FontWeight200: | 3128 case FontWeight200: |
3260 m_value.valueID = CSSValue200; | 3129 m_valueID = CSSValue200; |
3261 return; | 3130 return; |
3262 case FontWeight100: | 3131 case FontWeight100: |
3263 m_value.valueID = CSSValue100; | 3132 m_valueID = CSSValue100; |
3264 return; | 3133 return; |
3265 } | 3134 } |
3266 | 3135 |
3267 ASSERT_NOT_REACHED(); | 3136 ASSERT_NOT_REACHED(); |
3268 m_value.valueID = CSSValueNormal; | 3137 m_valueID = CSSValueNormal; |
3269 } | 3138 } |
3270 | 3139 |
3271 template<> inline FontWeight CSSPrimitiveValue::convertTo() const | 3140 template<> inline FontWeight CSSIdentifierValue::convertTo() const |
3272 { | 3141 { |
3273 ASSERT(isValueID()); | 3142 switch (m_valueID) { |
3274 switch (m_value.valueID) { | |
3275 case CSSValueBold: | 3143 case CSSValueBold: |
3276 return FontWeightBold; | 3144 return FontWeightBold; |
3277 case CSSValueNormal: | 3145 case CSSValueNormal: |
3278 return FontWeightNormal; | 3146 return FontWeightNormal; |
3279 case CSSValue900: | 3147 case CSSValue900: |
3280 return FontWeight900; | 3148 return FontWeight900; |
3281 case CSSValue800: | 3149 case CSSValue800: |
3282 return FontWeight800; | 3150 return FontWeight800; |
3283 case CSSValue700: | 3151 case CSSValue700: |
3284 return FontWeight700; | 3152 return FontWeight700; |
(...skipping 10 matching lines...) Expand all Loading... |
3295 case CSSValue100: | 3163 case CSSValue100: |
3296 return FontWeight100; | 3164 return FontWeight100; |
3297 default: | 3165 default: |
3298 break; | 3166 break; |
3299 } | 3167 } |
3300 | 3168 |
3301 ASSERT_NOT_REACHED(); | 3169 ASSERT_NOT_REACHED(); |
3302 return FontWeightNormal; | 3170 return FontWeightNormal; |
3303 } | 3171 } |
3304 | 3172 |
3305 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontStyle italic) | 3173 template<> inline CSSIdentifierValue::CSSIdentifierValue(FontStyle italic) |
3306 : CSSValue(PrimitiveClass) | 3174 : CSSValue(IdentifierClass) |
3307 { | 3175 { |
3308 init(UnitType::ValueID); | |
3309 switch (italic) { | 3176 switch (italic) { |
3310 case FontStyleNormal: | 3177 case FontStyleNormal: |
3311 m_value.valueID = CSSValueNormal; | 3178 m_valueID = CSSValueNormal; |
3312 return; | 3179 return; |
3313 case FontStyleOblique: | 3180 case FontStyleOblique: |
3314 m_value.valueID = CSSValueOblique; | 3181 m_valueID = CSSValueOblique; |
3315 return; | 3182 return; |
3316 case FontStyleItalic: | 3183 case FontStyleItalic: |
3317 m_value.valueID = CSSValueItalic; | 3184 m_valueID = CSSValueItalic; |
3318 return; | 3185 return; |
3319 } | 3186 } |
3320 | 3187 |
3321 ASSERT_NOT_REACHED(); | 3188 ASSERT_NOT_REACHED(); |
3322 m_value.valueID = CSSValueNormal; | 3189 m_valueID = CSSValueNormal; |
3323 } | 3190 } |
3324 | 3191 |
3325 template<> inline FontStyle CSSPrimitiveValue::convertTo() const | 3192 template<> inline FontStyle CSSIdentifierValue::convertTo() const |
3326 { | 3193 { |
3327 ASSERT(isValueID()); | 3194 switch (m_valueID) { |
3328 switch (m_value.valueID) { | |
3329 case CSSValueOblique: | 3195 case CSSValueOblique: |
3330 return FontStyleOblique; | 3196 return FontStyleOblique; |
3331 case CSSValueItalic: | 3197 case CSSValueItalic: |
3332 return FontStyleItalic; | 3198 return FontStyleItalic; |
3333 case CSSValueNormal: | 3199 case CSSValueNormal: |
3334 return FontStyleNormal; | 3200 return FontStyleNormal; |
3335 default: | 3201 default: |
3336 break; | 3202 break; |
3337 } | 3203 } |
3338 ASSERT_NOT_REACHED(); | 3204 ASSERT_NOT_REACHED(); |
3339 return FontStyleNormal; | 3205 return FontStyleNormal; |
3340 } | 3206 } |
3341 | 3207 |
3342 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontStretch stretch) | 3208 template<> inline CSSIdentifierValue::CSSIdentifierValue(FontStretch stretch) |
3343 : CSSValue(PrimitiveClass) | 3209 : CSSValue(IdentifierClass) |
3344 { | 3210 { |
3345 init(UnitType::ValueID); | |
3346 switch (stretch) { | 3211 switch (stretch) { |
3347 case FontStretchUltraCondensed: | 3212 case FontStretchUltraCondensed: |
3348 m_value.valueID = CSSValueUltraCondensed; | 3213 m_valueID = CSSValueUltraCondensed; |
3349 return; | 3214 return; |
3350 case FontStretchExtraCondensed: | 3215 case FontStretchExtraCondensed: |
3351 m_value.valueID = CSSValueExtraCondensed; | 3216 m_valueID = CSSValueExtraCondensed; |
3352 return; | 3217 return; |
3353 case FontStretchCondensed: | 3218 case FontStretchCondensed: |
3354 m_value.valueID = CSSValueCondensed; | 3219 m_valueID = CSSValueCondensed; |
3355 return; | 3220 return; |
3356 case FontStretchSemiCondensed: | 3221 case FontStretchSemiCondensed: |
3357 m_value.valueID = CSSValueSemiCondensed; | 3222 m_valueID = CSSValueSemiCondensed; |
3358 return; | 3223 return; |
3359 case FontStretchNormal: | 3224 case FontStretchNormal: |
3360 m_value.valueID = CSSValueNormal; | 3225 m_valueID = CSSValueNormal; |
3361 return; | 3226 return; |
3362 case FontStretchSemiExpanded: | 3227 case FontStretchSemiExpanded: |
3363 m_value.valueID = CSSValueSemiExpanded; | 3228 m_valueID = CSSValueSemiExpanded; |
3364 return; | 3229 return; |
3365 case FontStretchExpanded: | 3230 case FontStretchExpanded: |
3366 m_value.valueID = CSSValueExpanded; | 3231 m_valueID = CSSValueExpanded; |
3367 return; | 3232 return; |
3368 case FontStretchExtraExpanded: | 3233 case FontStretchExtraExpanded: |
3369 m_value.valueID = CSSValueExtraExpanded; | 3234 m_valueID = CSSValueExtraExpanded; |
3370 return; | 3235 return; |
3371 case FontStretchUltraExpanded: | 3236 case FontStretchUltraExpanded: |
3372 m_value.valueID = CSSValueUltraExpanded; | 3237 m_valueID = CSSValueUltraExpanded; |
3373 return; | 3238 return; |
3374 } | 3239 } |
3375 | 3240 |
3376 ASSERT_NOT_REACHED(); | 3241 ASSERT_NOT_REACHED(); |
3377 m_value.valueID = CSSValueNormal; | 3242 m_valueID = CSSValueNormal; |
3378 } | 3243 } |
3379 | 3244 |
3380 template<> inline FontStretch CSSPrimitiveValue::convertTo() const | 3245 template<> inline FontStretch CSSIdentifierValue::convertTo() const |
3381 { | 3246 { |
3382 ASSERT(isValueID()); | 3247 switch (m_valueID) { |
3383 switch (m_value.valueID) { | |
3384 case CSSValueUltraCondensed: | 3248 case CSSValueUltraCondensed: |
3385 return FontStretchUltraCondensed; | 3249 return FontStretchUltraCondensed; |
3386 case CSSValueExtraCondensed: | 3250 case CSSValueExtraCondensed: |
3387 return FontStretchExtraCondensed; | 3251 return FontStretchExtraCondensed; |
3388 case CSSValueCondensed: | 3252 case CSSValueCondensed: |
3389 return FontStretchCondensed; | 3253 return FontStretchCondensed; |
3390 case CSSValueSemiCondensed: | 3254 case CSSValueSemiCondensed: |
3391 return FontStretchSemiCondensed; | 3255 return FontStretchSemiCondensed; |
3392 case CSSValueNormal: | 3256 case CSSValueNormal: |
3393 return FontStretchNormal; | 3257 return FontStretchNormal; |
3394 case CSSValueSemiExpanded: | 3258 case CSSValueSemiExpanded: |
3395 return FontStretchSemiExpanded; | 3259 return FontStretchSemiExpanded; |
3396 case CSSValueExpanded: | 3260 case CSSValueExpanded: |
3397 return FontStretchExpanded; | 3261 return FontStretchExpanded; |
3398 case CSSValueExtraExpanded: | 3262 case CSSValueExtraExpanded: |
3399 return FontStretchExtraExpanded; | 3263 return FontStretchExtraExpanded; |
3400 case CSSValueUltraExpanded: | 3264 case CSSValueUltraExpanded: |
3401 return FontStretchUltraExpanded; | 3265 return FontStretchUltraExpanded; |
3402 default: | 3266 default: |
3403 break; | 3267 break; |
3404 } | 3268 } |
3405 | 3269 |
3406 ASSERT_NOT_REACHED(); | 3270 ASSERT_NOT_REACHED(); |
3407 return FontStretchNormal; | 3271 return FontStretchNormal; |
3408 } | 3272 } |
3409 | 3273 |
3410 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextRenderingMode e) | 3274 template<> inline CSSIdentifierValue::CSSIdentifierValue(TextRenderingMode e) |
3411 : CSSValue(PrimitiveClass) | 3275 : CSSValue(IdentifierClass) |
3412 { | 3276 { |
3413 init(UnitType::ValueID); | |
3414 switch (e) { | 3277 switch (e) { |
3415 case AutoTextRendering: | 3278 case AutoTextRendering: |
3416 m_value.valueID = CSSValueAuto; | 3279 m_valueID = CSSValueAuto; |
3417 break; | 3280 break; |
3418 case OptimizeSpeed: | 3281 case OptimizeSpeed: |
3419 m_value.valueID = CSSValueOptimizeSpeed; | 3282 m_valueID = CSSValueOptimizeSpeed; |
3420 break; | 3283 break; |
3421 case OptimizeLegibility: | 3284 case OptimizeLegibility: |
3422 m_value.valueID = CSSValueOptimizeLegibility; | 3285 m_valueID = CSSValueOptimizeLegibility; |
3423 break; | 3286 break; |
3424 case GeometricPrecision: | 3287 case GeometricPrecision: |
3425 m_value.valueID = CSSValueGeometricPrecision; | 3288 m_valueID = CSSValueGeometricPrecision; |
3426 break; | 3289 break; |
3427 } | 3290 } |
3428 } | 3291 } |
3429 | 3292 |
3430 template<> inline TextRenderingMode CSSPrimitiveValue::convertTo() const | 3293 template<> inline TextRenderingMode CSSIdentifierValue::convertTo() const |
3431 { | 3294 { |
3432 ASSERT(isValueID()); | 3295 switch (m_valueID) { |
3433 switch (m_value.valueID) { | |
3434 case CSSValueAuto: | 3296 case CSSValueAuto: |
3435 return AutoTextRendering; | 3297 return AutoTextRendering; |
3436 case CSSValueOptimizeSpeed: | 3298 case CSSValueOptimizeSpeed: |
3437 return OptimizeSpeed; | 3299 return OptimizeSpeed; |
3438 case CSSValueOptimizeLegibility: | 3300 case CSSValueOptimizeLegibility: |
3439 return OptimizeLegibility; | 3301 return OptimizeLegibility; |
3440 case CSSValueGeometricPrecision: | 3302 case CSSValueGeometricPrecision: |
3441 return GeometricPrecision; | 3303 return GeometricPrecision; |
3442 default: | 3304 default: |
3443 break; | 3305 break; |
3444 } | 3306 } |
3445 | 3307 |
3446 ASSERT_NOT_REACHED(); | 3308 ASSERT_NOT_REACHED(); |
3447 return AutoTextRendering; | 3309 return AutoTextRendering; |
3448 } | 3310 } |
3449 | 3311 |
3450 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ESpeak e) | 3312 template<> inline CSSIdentifierValue::CSSIdentifierValue(ESpeak e) |
3451 : CSSValue(PrimitiveClass) | 3313 : CSSValue(IdentifierClass) |
3452 { | 3314 { |
3453 init(UnitType::ValueID); | |
3454 switch (e) { | 3315 switch (e) { |
3455 case SpeakNone: | 3316 case SpeakNone: |
3456 m_value.valueID = CSSValueNone; | 3317 m_valueID = CSSValueNone; |
3457 break; | 3318 break; |
3458 case SpeakNormal: | 3319 case SpeakNormal: |
3459 m_value.valueID = CSSValueNormal; | 3320 m_valueID = CSSValueNormal; |
3460 break; | 3321 break; |
3461 case SpeakSpellOut: | 3322 case SpeakSpellOut: |
3462 m_value.valueID = CSSValueSpellOut; | 3323 m_valueID = CSSValueSpellOut; |
3463 break; | 3324 break; |
3464 case SpeakDigits: | 3325 case SpeakDigits: |
3465 m_value.valueID = CSSValueDigits; | 3326 m_valueID = CSSValueDigits; |
3466 break; | 3327 break; |
3467 case SpeakLiteralPunctuation: | 3328 case SpeakLiteralPunctuation: |
3468 m_value.valueID = CSSValueLiteralPunctuation; | 3329 m_valueID = CSSValueLiteralPunctuation; |
3469 break; | 3330 break; |
3470 case SpeakNoPunctuation: | 3331 case SpeakNoPunctuation: |
3471 m_value.valueID = CSSValueNoPunctuation; | 3332 m_valueID = CSSValueNoPunctuation; |
3472 break; | 3333 break; |
3473 } | 3334 } |
3474 } | 3335 } |
3475 | 3336 |
3476 template<> inline Order CSSPrimitiveValue::convertTo() const | 3337 template<> inline Order CSSIdentifierValue::convertTo() const |
3477 { | 3338 { |
3478 ASSERT(isValueID()); | 3339 switch (m_valueID) { |
3479 switch (m_value.valueID) { | |
3480 case CSSValueLogical: | 3340 case CSSValueLogical: |
3481 return LogicalOrder; | 3341 return LogicalOrder; |
3482 case CSSValueVisual: | 3342 case CSSValueVisual: |
3483 return VisualOrder; | 3343 return VisualOrder; |
3484 default: | 3344 default: |
3485 break; | 3345 break; |
3486 } | 3346 } |
3487 | 3347 |
3488 ASSERT_NOT_REACHED(); | 3348 ASSERT_NOT_REACHED(); |
3489 return LogicalOrder; | 3349 return LogicalOrder; |
3490 } | 3350 } |
3491 | 3351 |
3492 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(Order e) | 3352 template<> inline CSSIdentifierValue::CSSIdentifierValue(Order e) |
3493 : CSSValue(PrimitiveClass) | 3353 : CSSValue(IdentifierClass) |
3494 { | 3354 { |
3495 init(UnitType::ValueID); | |
3496 switch (e) { | 3355 switch (e) { |
3497 case LogicalOrder: | 3356 case LogicalOrder: |
3498 m_value.valueID = CSSValueLogical; | 3357 m_valueID = CSSValueLogical; |
3499 break; | 3358 break; |
3500 case VisualOrder: | 3359 case VisualOrder: |
3501 m_value.valueID = CSSValueVisual; | 3360 m_valueID = CSSValueVisual; |
3502 break; | 3361 break; |
3503 } | 3362 } |
3504 } | 3363 } |
3505 | 3364 |
3506 template<> inline ESpeak CSSPrimitiveValue::convertTo() const | 3365 template<> inline ESpeak CSSIdentifierValue::convertTo() const |
3507 { | 3366 { |
3508 ASSERT(isValueID()); | 3367 switch (m_valueID) { |
3509 switch (m_value.valueID) { | |
3510 case CSSValueNone: | 3368 case CSSValueNone: |
3511 return SpeakNone; | 3369 return SpeakNone; |
3512 case CSSValueNormal: | 3370 case CSSValueNormal: |
3513 return SpeakNormal; | 3371 return SpeakNormal; |
3514 case CSSValueSpellOut: | 3372 case CSSValueSpellOut: |
3515 return SpeakSpellOut; | 3373 return SpeakSpellOut; |
3516 case CSSValueDigits: | 3374 case CSSValueDigits: |
3517 return SpeakDigits; | 3375 return SpeakDigits; |
3518 case CSSValueLiteralPunctuation: | 3376 case CSSValueLiteralPunctuation: |
3519 return SpeakLiteralPunctuation; | 3377 return SpeakLiteralPunctuation; |
3520 case CSSValueNoPunctuation: | 3378 case CSSValueNoPunctuation: |
3521 return SpeakNoPunctuation; | 3379 return SpeakNoPunctuation; |
3522 default: | 3380 default: |
3523 break; | 3381 break; |
3524 } | 3382 } |
3525 | 3383 |
3526 ASSERT_NOT_REACHED(); | 3384 ASSERT_NOT_REACHED(); |
3527 return SpeakNormal; | 3385 return SpeakNormal; |
3528 } | 3386 } |
3529 | 3387 |
3530 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WebBlendMode blendMode) | 3388 template<> inline CSSIdentifierValue::CSSIdentifierValue(WebBlendMode blendMode) |
3531 : CSSValue(PrimitiveClass) | 3389 : CSSValue(IdentifierClass) |
3532 { | 3390 { |
3533 init(UnitType::ValueID); | |
3534 switch (blendMode) { | 3391 switch (blendMode) { |
3535 case WebBlendModeNormal: | 3392 case WebBlendModeNormal: |
3536 m_value.valueID = CSSValueNormal; | 3393 m_valueID = CSSValueNormal; |
3537 break; | 3394 break; |
3538 case WebBlendModeMultiply: | 3395 case WebBlendModeMultiply: |
3539 m_value.valueID = CSSValueMultiply; | 3396 m_valueID = CSSValueMultiply; |
3540 break; | 3397 break; |
3541 case WebBlendModeScreen: | 3398 case WebBlendModeScreen: |
3542 m_value.valueID = CSSValueScreen; | 3399 m_valueID = CSSValueScreen; |
3543 break; | 3400 break; |
3544 case WebBlendModeOverlay: | 3401 case WebBlendModeOverlay: |
3545 m_value.valueID = CSSValueOverlay; | 3402 m_valueID = CSSValueOverlay; |
3546 break; | 3403 break; |
3547 case WebBlendModeDarken: | 3404 case WebBlendModeDarken: |
3548 m_value.valueID = CSSValueDarken; | 3405 m_valueID = CSSValueDarken; |
3549 break; | 3406 break; |
3550 case WebBlendModeLighten: | 3407 case WebBlendModeLighten: |
3551 m_value.valueID = CSSValueLighten; | 3408 m_valueID = CSSValueLighten; |
3552 break; | 3409 break; |
3553 case WebBlendModeColorDodge: | 3410 case WebBlendModeColorDodge: |
3554 m_value.valueID = CSSValueColorDodge; | 3411 m_valueID = CSSValueColorDodge; |
3555 break; | 3412 break; |
3556 case WebBlendModeColorBurn: | 3413 case WebBlendModeColorBurn: |
3557 m_value.valueID = CSSValueColorBurn; | 3414 m_valueID = CSSValueColorBurn; |
3558 break; | 3415 break; |
3559 case WebBlendModeHardLight: | 3416 case WebBlendModeHardLight: |
3560 m_value.valueID = CSSValueHardLight; | 3417 m_valueID = CSSValueHardLight; |
3561 break; | 3418 break; |
3562 case WebBlendModeSoftLight: | 3419 case WebBlendModeSoftLight: |
3563 m_value.valueID = CSSValueSoftLight; | 3420 m_valueID = CSSValueSoftLight; |
3564 break; | 3421 break; |
3565 case WebBlendModeDifference: | 3422 case WebBlendModeDifference: |
3566 m_value.valueID = CSSValueDifference; | 3423 m_valueID = CSSValueDifference; |
3567 break; | 3424 break; |
3568 case WebBlendModeExclusion: | 3425 case WebBlendModeExclusion: |
3569 m_value.valueID = CSSValueExclusion; | 3426 m_valueID = CSSValueExclusion; |
3570 break; | 3427 break; |
3571 case WebBlendModeHue: | 3428 case WebBlendModeHue: |
3572 m_value.valueID = CSSValueHue; | 3429 m_valueID = CSSValueHue; |
3573 break; | 3430 break; |
3574 case WebBlendModeSaturation: | 3431 case WebBlendModeSaturation: |
3575 m_value.valueID = CSSValueSaturation; | 3432 m_valueID = CSSValueSaturation; |
3576 break; | 3433 break; |
3577 case WebBlendModeColor: | 3434 case WebBlendModeColor: |
3578 m_value.valueID = CSSValueColor; | 3435 m_valueID = CSSValueColor; |
3579 break; | 3436 break; |
3580 case WebBlendModeLuminosity: | 3437 case WebBlendModeLuminosity: |
3581 m_value.valueID = CSSValueLuminosity; | 3438 m_valueID = CSSValueLuminosity; |
3582 break; | 3439 break; |
3583 } | 3440 } |
3584 } | 3441 } |
3585 | 3442 |
3586 template<> inline WebBlendMode CSSPrimitiveValue::convertTo() const | 3443 template<> inline WebBlendMode CSSIdentifierValue::convertTo() const |
3587 { | 3444 { |
3588 ASSERT(isValueID()); | 3445 switch (m_valueID) { |
3589 switch (m_value.valueID) { | |
3590 case CSSValueNormal: | 3446 case CSSValueNormal: |
3591 return WebBlendModeNormal; | 3447 return WebBlendModeNormal; |
3592 case CSSValueMultiply: | 3448 case CSSValueMultiply: |
3593 return WebBlendModeMultiply; | 3449 return WebBlendModeMultiply; |
3594 case CSSValueScreen: | 3450 case CSSValueScreen: |
3595 return WebBlendModeScreen; | 3451 return WebBlendModeScreen; |
3596 case CSSValueOverlay: | 3452 case CSSValueOverlay: |
3597 return WebBlendModeOverlay; | 3453 return WebBlendModeOverlay; |
3598 case CSSValueDarken: | 3454 case CSSValueDarken: |
3599 return WebBlendModeDarken; | 3455 return WebBlendModeDarken; |
(...skipping 20 matching lines...) Expand all Loading... |
3620 case CSSValueLuminosity: | 3476 case CSSValueLuminosity: |
3621 return WebBlendModeLuminosity; | 3477 return WebBlendModeLuminosity; |
3622 default: | 3478 default: |
3623 break; | 3479 break; |
3624 } | 3480 } |
3625 | 3481 |
3626 ASSERT_NOT_REACHED(); | 3482 ASSERT_NOT_REACHED(); |
3627 return WebBlendModeNormal; | 3483 return WebBlendModeNormal; |
3628 } | 3484 } |
3629 | 3485 |
3630 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineCap e) | 3486 template<> inline CSSIdentifierValue::CSSIdentifierValue(LineCap e) |
3631 : CSSValue(PrimitiveClass) | 3487 : CSSValue(IdentifierClass) |
3632 { | 3488 { |
3633 init(UnitType::ValueID); | |
3634 switch (e) { | 3489 switch (e) { |
3635 case ButtCap: | 3490 case ButtCap: |
3636 m_value.valueID = CSSValueButt; | 3491 m_valueID = CSSValueButt; |
3637 break; | 3492 break; |
3638 case RoundCap: | 3493 case RoundCap: |
3639 m_value.valueID = CSSValueRound; | 3494 m_valueID = CSSValueRound; |
3640 break; | 3495 break; |
3641 case SquareCap: | 3496 case SquareCap: |
3642 m_value.valueID = CSSValueSquare; | 3497 m_valueID = CSSValueSquare; |
3643 break; | 3498 break; |
3644 } | 3499 } |
3645 } | 3500 } |
3646 | 3501 |
3647 template<> inline LineCap CSSPrimitiveValue::convertTo() const | 3502 template<> inline LineCap CSSIdentifierValue::convertTo() const |
3648 { | 3503 { |
3649 ASSERT(isValueID()); | 3504 switch (m_valueID) { |
3650 switch (m_value.valueID) { | |
3651 case CSSValueButt: | 3505 case CSSValueButt: |
3652 return ButtCap; | 3506 return ButtCap; |
3653 case CSSValueRound: | 3507 case CSSValueRound: |
3654 return RoundCap; | 3508 return RoundCap; |
3655 case CSSValueSquare: | 3509 case CSSValueSquare: |
3656 return SquareCap; | 3510 return SquareCap; |
3657 default: | 3511 default: |
3658 break; | 3512 break; |
3659 } | 3513 } |
3660 | 3514 |
3661 ASSERT_NOT_REACHED(); | 3515 ASSERT_NOT_REACHED(); |
3662 return ButtCap; | 3516 return ButtCap; |
3663 } | 3517 } |
3664 | 3518 |
3665 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineJoin e) | 3519 template<> inline CSSIdentifierValue::CSSIdentifierValue(LineJoin e) |
3666 : CSSValue(PrimitiveClass) | 3520 : CSSValue(IdentifierClass) |
3667 { | 3521 { |
3668 init(UnitType::ValueID); | |
3669 switch (e) { | 3522 switch (e) { |
3670 case MiterJoin: | 3523 case MiterJoin: |
3671 m_value.valueID = CSSValueMiter; | 3524 m_valueID = CSSValueMiter; |
3672 break; | 3525 break; |
3673 case RoundJoin: | 3526 case RoundJoin: |
3674 m_value.valueID = CSSValueRound; | 3527 m_valueID = CSSValueRound; |
3675 break; | 3528 break; |
3676 case BevelJoin: | 3529 case BevelJoin: |
3677 m_value.valueID = CSSValueBevel; | 3530 m_valueID = CSSValueBevel; |
3678 break; | 3531 break; |
3679 } | 3532 } |
3680 } | 3533 } |
3681 | 3534 |
3682 template<> inline LineJoin CSSPrimitiveValue::convertTo() const | 3535 template<> inline LineJoin CSSIdentifierValue::convertTo() const |
3683 { | 3536 { |
3684 ASSERT(isValueID()); | 3537 switch (m_valueID) { |
3685 switch (m_value.valueID) { | |
3686 case CSSValueMiter: | 3538 case CSSValueMiter: |
3687 return MiterJoin; | 3539 return MiterJoin; |
3688 case CSSValueRound: | 3540 case CSSValueRound: |
3689 return RoundJoin; | 3541 return RoundJoin; |
3690 case CSSValueBevel: | 3542 case CSSValueBevel: |
3691 return BevelJoin; | 3543 return BevelJoin; |
3692 default: | 3544 default: |
3693 break; | 3545 break; |
3694 } | 3546 } |
3695 | 3547 |
3696 ASSERT_NOT_REACHED(); | 3548 ASSERT_NOT_REACHED(); |
3697 return MiterJoin; | 3549 return MiterJoin; |
3698 } | 3550 } |
3699 | 3551 |
3700 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WindRule e) | 3552 template<> inline CSSIdentifierValue::CSSIdentifierValue(WindRule e) |
3701 : CSSValue(PrimitiveClass) | 3553 : CSSValue(IdentifierClass) |
3702 { | 3554 { |
3703 init(UnitType::ValueID); | |
3704 switch (e) { | 3555 switch (e) { |
3705 case RULE_NONZERO: | 3556 case RULE_NONZERO: |
3706 m_value.valueID = CSSValueNonzero; | 3557 m_valueID = CSSValueNonzero; |
3707 break; | 3558 break; |
3708 case RULE_EVENODD: | 3559 case RULE_EVENODD: |
3709 m_value.valueID = CSSValueEvenodd; | 3560 m_valueID = CSSValueEvenodd; |
3710 break; | 3561 break; |
3711 } | 3562 } |
3712 } | 3563 } |
3713 | 3564 |
3714 template<> inline WindRule CSSPrimitiveValue::convertTo() const | 3565 template<> inline WindRule CSSIdentifierValue::convertTo() const |
3715 { | 3566 { |
3716 ASSERT(isValueID()); | 3567 switch (m_valueID) { |
3717 switch (m_value.valueID) { | |
3718 case CSSValueNonzero: | 3568 case CSSValueNonzero: |
3719 return RULE_NONZERO; | 3569 return RULE_NONZERO; |
3720 case CSSValueEvenodd: | 3570 case CSSValueEvenodd: |
3721 return RULE_EVENODD; | 3571 return RULE_EVENODD; |
3722 default: | 3572 default: |
3723 break; | 3573 break; |
3724 } | 3574 } |
3725 | 3575 |
3726 ASSERT_NOT_REACHED(); | 3576 ASSERT_NOT_REACHED(); |
3727 return RULE_NONZERO; | 3577 return RULE_NONZERO; |
3728 } | 3578 } |
3729 | 3579 |
3730 | 3580 |
3731 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EAlignmentBaseline e) | 3581 template<> inline CSSIdentifierValue::CSSIdentifierValue(EAlignmentBaseline e) |
3732 : CSSValue(PrimitiveClass) | 3582 : CSSValue(IdentifierClass) |
3733 { | 3583 { |
3734 init(UnitType::ValueID); | |
3735 switch (e) { | 3584 switch (e) { |
3736 case AB_AUTO: | 3585 case AB_AUTO: |
3737 m_value.valueID = CSSValueAuto; | 3586 m_valueID = CSSValueAuto; |
3738 break; | 3587 break; |
3739 case AB_BASELINE: | 3588 case AB_BASELINE: |
3740 m_value.valueID = CSSValueBaseline; | 3589 m_valueID = CSSValueBaseline; |
3741 break; | 3590 break; |
3742 case AB_BEFORE_EDGE: | 3591 case AB_BEFORE_EDGE: |
3743 m_value.valueID = CSSValueBeforeEdge; | 3592 m_valueID = CSSValueBeforeEdge; |
3744 break; | 3593 break; |
3745 case AB_TEXT_BEFORE_EDGE: | 3594 case AB_TEXT_BEFORE_EDGE: |
3746 m_value.valueID = CSSValueTextBeforeEdge; | 3595 m_valueID = CSSValueTextBeforeEdge; |
3747 break; | 3596 break; |
3748 case AB_MIDDLE: | 3597 case AB_MIDDLE: |
3749 m_value.valueID = CSSValueMiddle; | 3598 m_valueID = CSSValueMiddle; |
3750 break; | 3599 break; |
3751 case AB_CENTRAL: | 3600 case AB_CENTRAL: |
3752 m_value.valueID = CSSValueCentral; | 3601 m_valueID = CSSValueCentral; |
3753 break; | 3602 break; |
3754 case AB_AFTER_EDGE: | 3603 case AB_AFTER_EDGE: |
3755 m_value.valueID = CSSValueAfterEdge; | 3604 m_valueID = CSSValueAfterEdge; |
3756 break; | 3605 break; |
3757 case AB_TEXT_AFTER_EDGE: | 3606 case AB_TEXT_AFTER_EDGE: |
3758 m_value.valueID = CSSValueTextAfterEdge; | 3607 m_valueID = CSSValueTextAfterEdge; |
3759 break; | 3608 break; |
3760 case AB_IDEOGRAPHIC: | 3609 case AB_IDEOGRAPHIC: |
3761 m_value.valueID = CSSValueIdeographic; | 3610 m_valueID = CSSValueIdeographic; |
3762 break; | 3611 break; |
3763 case AB_ALPHABETIC: | 3612 case AB_ALPHABETIC: |
3764 m_value.valueID = CSSValueAlphabetic; | 3613 m_valueID = CSSValueAlphabetic; |
3765 break; | 3614 break; |
3766 case AB_HANGING: | 3615 case AB_HANGING: |
3767 m_value.valueID = CSSValueHanging; | 3616 m_valueID = CSSValueHanging; |
3768 break; | 3617 break; |
3769 case AB_MATHEMATICAL: | 3618 case AB_MATHEMATICAL: |
3770 m_value.valueID = CSSValueMathematical; | 3619 m_valueID = CSSValueMathematical; |
3771 break; | 3620 break; |
3772 } | 3621 } |
3773 } | 3622 } |
3774 | 3623 |
3775 template<> inline EAlignmentBaseline CSSPrimitiveValue::convertTo() const | 3624 template<> inline EAlignmentBaseline CSSIdentifierValue::convertTo() const |
3776 { | 3625 { |
3777 ASSERT(isValueID()); | 3626 switch (m_valueID) { |
3778 switch (m_value.valueID) { | |
3779 case CSSValueAuto: | 3627 case CSSValueAuto: |
3780 return AB_AUTO; | 3628 return AB_AUTO; |
3781 case CSSValueBaseline: | 3629 case CSSValueBaseline: |
3782 return AB_BASELINE; | 3630 return AB_BASELINE; |
3783 case CSSValueBeforeEdge: | 3631 case CSSValueBeforeEdge: |
3784 return AB_BEFORE_EDGE; | 3632 return AB_BEFORE_EDGE; |
3785 case CSSValueTextBeforeEdge: | 3633 case CSSValueTextBeforeEdge: |
3786 return AB_TEXT_BEFORE_EDGE; | 3634 return AB_TEXT_BEFORE_EDGE; |
3787 case CSSValueMiddle: | 3635 case CSSValueMiddle: |
3788 return AB_MIDDLE; | 3636 return AB_MIDDLE; |
(...skipping 12 matching lines...) Expand all Loading... |
3801 case CSSValueMathematical: | 3649 case CSSValueMathematical: |
3802 return AB_MATHEMATICAL; | 3650 return AB_MATHEMATICAL; |
3803 default: | 3651 default: |
3804 break; | 3652 break; |
3805 } | 3653 } |
3806 | 3654 |
3807 ASSERT_NOT_REACHED(); | 3655 ASSERT_NOT_REACHED(); |
3808 return AB_AUTO; | 3656 return AB_AUTO; |
3809 } | 3657 } |
3810 | 3658 |
3811 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBorderCollapse e) | 3659 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBorderCollapse e) |
3812 : CSSValue(PrimitiveClass) | 3660 : CSSValue(IdentifierClass) |
3813 { | 3661 { |
3814 init(UnitType::ValueID); | |
3815 switch (e) { | 3662 switch (e) { |
3816 case BorderCollapseSeparate: | 3663 case BorderCollapseSeparate: |
3817 m_value.valueID = CSSValueSeparate; | 3664 m_valueID = CSSValueSeparate; |
3818 break; | 3665 break; |
3819 case BorderCollapseCollapse: | 3666 case BorderCollapseCollapse: |
3820 m_value.valueID = CSSValueCollapse; | 3667 m_valueID = CSSValueCollapse; |
3821 break; | 3668 break; |
3822 } | 3669 } |
3823 } | 3670 } |
3824 | 3671 |
3825 template<> inline EBorderCollapse CSSPrimitiveValue::convertTo() const | 3672 template<> inline EBorderCollapse CSSIdentifierValue::convertTo() const |
3826 { | 3673 { |
3827 ASSERT(isValueID()); | 3674 switch (m_valueID) { |
3828 switch (m_value.valueID) { | |
3829 case CSSValueSeparate: | 3675 case CSSValueSeparate: |
3830 return BorderCollapseSeparate; | 3676 return BorderCollapseSeparate; |
3831 case CSSValueCollapse: | 3677 case CSSValueCollapse: |
3832 return BorderCollapseCollapse; | 3678 return BorderCollapseCollapse; |
3833 default: | 3679 default: |
3834 break; | 3680 break; |
3835 } | 3681 } |
3836 | 3682 |
3837 ASSERT_NOT_REACHED(); | 3683 ASSERT_NOT_REACHED(); |
3838 return BorderCollapseSeparate; | 3684 return BorderCollapseSeparate; |
3839 } | 3685 } |
3840 | 3686 |
3841 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EImageRendering e) | 3687 template<> inline CSSIdentifierValue::CSSIdentifierValue(EImageRendering e) |
3842 : CSSValue(PrimitiveClass) | 3688 : CSSValue(IdentifierClass) |
3843 { | 3689 { |
3844 init(UnitType::ValueID); | |
3845 switch (e) { | 3690 switch (e) { |
3846 case ImageRenderingAuto: | 3691 case ImageRenderingAuto: |
3847 m_value.valueID = CSSValueAuto; | 3692 m_valueID = CSSValueAuto; |
3848 break; | 3693 break; |
3849 case ImageRenderingOptimizeSpeed: | 3694 case ImageRenderingOptimizeSpeed: |
3850 m_value.valueID = CSSValueOptimizeSpeed; | 3695 m_valueID = CSSValueOptimizeSpeed; |
3851 break; | 3696 break; |
3852 case ImageRenderingOptimizeQuality: | 3697 case ImageRenderingOptimizeQuality: |
3853 m_value.valueID = CSSValueOptimizeQuality; | 3698 m_valueID = CSSValueOptimizeQuality; |
3854 break; | 3699 break; |
3855 case ImageRenderingPixelated: | 3700 case ImageRenderingPixelated: |
3856 m_value.valueID = CSSValuePixelated; | 3701 m_valueID = CSSValuePixelated; |
3857 break; | 3702 break; |
3858 case ImageRenderingOptimizeContrast: | 3703 case ImageRenderingOptimizeContrast: |
3859 m_value.valueID = CSSValueWebkitOptimizeContrast; | 3704 m_valueID = CSSValueWebkitOptimizeContrast; |
3860 break; | 3705 break; |
3861 } | 3706 } |
3862 } | 3707 } |
3863 | 3708 |
3864 template<> inline EImageRendering CSSPrimitiveValue::convertTo() const | 3709 template<> inline EImageRendering CSSIdentifierValue::convertTo() const |
3865 { | 3710 { |
3866 ASSERT(isValueID()); | 3711 switch (m_valueID) { |
3867 switch (m_value.valueID) { | |
3868 case CSSValueAuto: | 3712 case CSSValueAuto: |
3869 return ImageRenderingAuto; | 3713 return ImageRenderingAuto; |
3870 case CSSValueOptimizeSpeed: | 3714 case CSSValueOptimizeSpeed: |
3871 return ImageRenderingOptimizeSpeed; | 3715 return ImageRenderingOptimizeSpeed; |
3872 case CSSValueOptimizeQuality: | 3716 case CSSValueOptimizeQuality: |
3873 return ImageRenderingOptimizeQuality; | 3717 return ImageRenderingOptimizeQuality; |
3874 case CSSValuePixelated: | 3718 case CSSValuePixelated: |
3875 return ImageRenderingPixelated; | 3719 return ImageRenderingPixelated; |
3876 case CSSValueWebkitOptimizeContrast: | 3720 case CSSValueWebkitOptimizeContrast: |
3877 return ImageRenderingOptimizeContrast; | 3721 return ImageRenderingOptimizeContrast; |
3878 default: | 3722 default: |
3879 break; | 3723 break; |
3880 } | 3724 } |
3881 | 3725 |
3882 ASSERT_NOT_REACHED(); | 3726 ASSERT_NOT_REACHED(); |
3883 return ImageRenderingAuto; | 3727 return ImageRenderingAuto; |
3884 } | 3728 } |
3885 | 3729 |
3886 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETransformStyle3D e) | 3730 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETransformStyle3D e) |
3887 : CSSValue(PrimitiveClass) | 3731 : CSSValue(IdentifierClass) |
3888 { | 3732 { |
3889 init(UnitType::ValueID); | |
3890 switch (e) { | 3733 switch (e) { |
3891 case TransformStyle3DFlat: | 3734 case TransformStyle3DFlat: |
3892 m_value.valueID = CSSValueFlat; | 3735 m_valueID = CSSValueFlat; |
3893 break; | 3736 break; |
3894 case TransformStyle3DPreserve3D: | 3737 case TransformStyle3DPreserve3D: |
3895 m_value.valueID = CSSValuePreserve3d; | 3738 m_valueID = CSSValuePreserve3d; |
3896 break; | 3739 break; |
3897 } | 3740 } |
3898 } | 3741 } |
3899 | 3742 |
3900 template<> inline ETransformStyle3D CSSPrimitiveValue::convertTo() const | 3743 template<> inline ETransformStyle3D CSSIdentifierValue::convertTo() const |
3901 { | 3744 { |
3902 ASSERT(isValueID()); | 3745 switch (m_valueID) { |
3903 switch (m_value.valueID) { | |
3904 case CSSValueFlat: | 3746 case CSSValueFlat: |
3905 return TransformStyle3DFlat; | 3747 return TransformStyle3DFlat; |
3906 case CSSValuePreserve3d: | 3748 case CSSValuePreserve3d: |
3907 return TransformStyle3DPreserve3D; | 3749 return TransformStyle3DPreserve3D; |
3908 default: | 3750 default: |
3909 break; | 3751 break; |
3910 } | 3752 } |
3911 | 3753 |
3912 ASSERT_NOT_REACHED(); | 3754 ASSERT_NOT_REACHED(); |
3913 return TransformStyle3DFlat; | 3755 return TransformStyle3DFlat; |
3914 } | 3756 } |
3915 | 3757 |
3916 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBufferedRendering e) | 3758 template<> inline CSSIdentifierValue::CSSIdentifierValue(EBufferedRendering e) |
3917 : CSSValue(PrimitiveClass) | 3759 : CSSValue(IdentifierClass) |
3918 { | 3760 { |
3919 init(UnitType::ValueID); | |
3920 switch (e) { | 3761 switch (e) { |
3921 case BR_AUTO: | 3762 case BR_AUTO: |
3922 m_value.valueID = CSSValueAuto; | 3763 m_valueID = CSSValueAuto; |
3923 break; | 3764 break; |
3924 case BR_DYNAMIC: | 3765 case BR_DYNAMIC: |
3925 m_value.valueID = CSSValueDynamic; | 3766 m_valueID = CSSValueDynamic; |
3926 break; | 3767 break; |
3927 case BR_STATIC: | 3768 case BR_STATIC: |
3928 m_value.valueID = CSSValueStatic; | 3769 m_valueID = CSSValueStatic; |
3929 break; | 3770 break; |
3930 } | 3771 } |
3931 } | 3772 } |
3932 | 3773 |
3933 template<> inline EBufferedRendering CSSPrimitiveValue::convertTo() const | 3774 template<> inline EBufferedRendering CSSIdentifierValue::convertTo() const |
3934 { | 3775 { |
3935 ASSERT(isValueID()); | 3776 switch (m_valueID) { |
3936 switch (m_value.valueID) { | |
3937 case CSSValueAuto: | 3777 case CSSValueAuto: |
3938 return BR_AUTO; | 3778 return BR_AUTO; |
3939 case CSSValueDynamic: | 3779 case CSSValueDynamic: |
3940 return BR_DYNAMIC; | 3780 return BR_DYNAMIC; |
3941 case CSSValueStatic: | 3781 case CSSValueStatic: |
3942 return BR_STATIC; | 3782 return BR_STATIC; |
3943 default: | 3783 default: |
3944 break; | 3784 break; |
3945 } | 3785 } |
3946 | 3786 |
3947 ASSERT_NOT_REACHED(); | 3787 ASSERT_NOT_REACHED(); |
3948 return BR_AUTO; | 3788 return BR_AUTO; |
3949 } | 3789 } |
3950 | 3790 |
3951 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EColorInterpolation e) | 3791 template<> inline CSSIdentifierValue::CSSIdentifierValue(EColorInterpolation e) |
3952 : CSSValue(PrimitiveClass) | 3792 : CSSValue(IdentifierClass) |
3953 { | 3793 { |
3954 init(UnitType::ValueID); | |
3955 switch (e) { | 3794 switch (e) { |
3956 case CI_AUTO: | 3795 case CI_AUTO: |
3957 m_value.valueID = CSSValueAuto; | 3796 m_valueID = CSSValueAuto; |
3958 break; | 3797 break; |
3959 case CI_SRGB: | 3798 case CI_SRGB: |
3960 m_value.valueID = CSSValueSRGB; | 3799 m_valueID = CSSValueSRGB; |
3961 break; | 3800 break; |
3962 case CI_LINEARRGB: | 3801 case CI_LINEARRGB: |
3963 m_value.valueID = CSSValueLinearRGB; | 3802 m_valueID = CSSValueLinearRGB; |
3964 break; | 3803 break; |
3965 } | 3804 } |
3966 } | 3805 } |
3967 | 3806 |
3968 template<> inline EColorInterpolation CSSPrimitiveValue::convertTo() const | 3807 template<> inline EColorInterpolation CSSIdentifierValue::convertTo() const |
3969 { | 3808 { |
3970 ASSERT(isValueID()); | 3809 switch (m_valueID) { |
3971 switch (m_value.valueID) { | |
3972 case CSSValueSRGB: | 3810 case CSSValueSRGB: |
3973 return CI_SRGB; | 3811 return CI_SRGB; |
3974 case CSSValueLinearRGB: | 3812 case CSSValueLinearRGB: |
3975 return CI_LINEARRGB; | 3813 return CI_LINEARRGB; |
3976 case CSSValueAuto: | 3814 case CSSValueAuto: |
3977 return CI_AUTO; | 3815 return CI_AUTO; |
3978 default: | 3816 default: |
3979 break; | 3817 break; |
3980 } | 3818 } |
3981 | 3819 |
3982 ASSERT_NOT_REACHED(); | 3820 ASSERT_NOT_REACHED(); |
3983 return CI_AUTO; | 3821 return CI_AUTO; |
3984 } | 3822 } |
3985 | 3823 |
3986 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EColorRendering e) | 3824 template<> inline CSSIdentifierValue::CSSIdentifierValue(EColorRendering e) |
3987 : CSSValue(PrimitiveClass) | 3825 : CSSValue(IdentifierClass) |
3988 { | 3826 { |
3989 init(UnitType::ValueID); | |
3990 switch (e) { | 3827 switch (e) { |
3991 case CR_AUTO: | 3828 case CR_AUTO: |
3992 m_value.valueID = CSSValueAuto; | 3829 m_valueID = CSSValueAuto; |
3993 break; | 3830 break; |
3994 case CR_OPTIMIZESPEED: | 3831 case CR_OPTIMIZESPEED: |
3995 m_value.valueID = CSSValueOptimizeSpeed; | 3832 m_valueID = CSSValueOptimizeSpeed; |
3996 break; | 3833 break; |
3997 case CR_OPTIMIZEQUALITY: | 3834 case CR_OPTIMIZEQUALITY: |
3998 m_value.valueID = CSSValueOptimizeQuality; | 3835 m_valueID = CSSValueOptimizeQuality; |
3999 break; | 3836 break; |
4000 } | 3837 } |
4001 } | 3838 } |
4002 | 3839 |
4003 template<> inline EColorRendering CSSPrimitiveValue::convertTo() const | 3840 template<> inline EColorRendering CSSIdentifierValue::convertTo() const |
4004 { | 3841 { |
4005 ASSERT(isValueID()); | 3842 switch (m_valueID) { |
4006 switch (m_value.valueID) { | |
4007 case CSSValueOptimizeSpeed: | 3843 case CSSValueOptimizeSpeed: |
4008 return CR_OPTIMIZESPEED; | 3844 return CR_OPTIMIZESPEED; |
4009 case CSSValueOptimizeQuality: | 3845 case CSSValueOptimizeQuality: |
4010 return CR_OPTIMIZEQUALITY; | 3846 return CR_OPTIMIZEQUALITY; |
4011 case CSSValueAuto: | 3847 case CSSValueAuto: |
4012 return CR_AUTO; | 3848 return CR_AUTO; |
4013 default: | 3849 default: |
4014 break; | 3850 break; |
4015 } | 3851 } |
4016 | 3852 |
4017 ASSERT_NOT_REACHED(); | 3853 ASSERT_NOT_REACHED(); |
4018 return CR_AUTO; | 3854 return CR_AUTO; |
4019 } | 3855 } |
4020 | 3856 |
4021 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDominantBaseline e) | 3857 template<> inline CSSIdentifierValue::CSSIdentifierValue(EDominantBaseline e) |
4022 : CSSValue(PrimitiveClass) | 3858 : CSSValue(IdentifierClass) |
4023 { | 3859 { |
4024 init(UnitType::ValueID); | |
4025 switch (e) { | 3860 switch (e) { |
4026 case DB_AUTO: | 3861 case DB_AUTO: |
4027 m_value.valueID = CSSValueAuto; | 3862 m_valueID = CSSValueAuto; |
4028 break; | 3863 break; |
4029 case DB_USE_SCRIPT: | 3864 case DB_USE_SCRIPT: |
4030 m_value.valueID = CSSValueUseScript; | 3865 m_valueID = CSSValueUseScript; |
4031 break; | 3866 break; |
4032 case DB_NO_CHANGE: | 3867 case DB_NO_CHANGE: |
4033 m_value.valueID = CSSValueNoChange; | 3868 m_valueID = CSSValueNoChange; |
4034 break; | 3869 break; |
4035 case DB_RESET_SIZE: | 3870 case DB_RESET_SIZE: |
4036 m_value.valueID = CSSValueResetSize; | 3871 m_valueID = CSSValueResetSize; |
4037 break; | 3872 break; |
4038 case DB_CENTRAL: | 3873 case DB_CENTRAL: |
4039 m_value.valueID = CSSValueCentral; | 3874 m_valueID = CSSValueCentral; |
4040 break; | 3875 break; |
4041 case DB_MIDDLE: | 3876 case DB_MIDDLE: |
4042 m_value.valueID = CSSValueMiddle; | 3877 m_valueID = CSSValueMiddle; |
4043 break; | 3878 break; |
4044 case DB_TEXT_BEFORE_EDGE: | 3879 case DB_TEXT_BEFORE_EDGE: |
4045 m_value.valueID = CSSValueTextBeforeEdge; | 3880 m_valueID = CSSValueTextBeforeEdge; |
4046 break; | 3881 break; |
4047 case DB_TEXT_AFTER_EDGE: | 3882 case DB_TEXT_AFTER_EDGE: |
4048 m_value.valueID = CSSValueTextAfterEdge; | 3883 m_valueID = CSSValueTextAfterEdge; |
4049 break; | 3884 break; |
4050 case DB_IDEOGRAPHIC: | 3885 case DB_IDEOGRAPHIC: |
4051 m_value.valueID = CSSValueIdeographic; | 3886 m_valueID = CSSValueIdeographic; |
4052 break; | 3887 break; |
4053 case DB_ALPHABETIC: | 3888 case DB_ALPHABETIC: |
4054 m_value.valueID = CSSValueAlphabetic; | 3889 m_valueID = CSSValueAlphabetic; |
4055 break; | 3890 break; |
4056 case DB_HANGING: | 3891 case DB_HANGING: |
4057 m_value.valueID = CSSValueHanging; | 3892 m_valueID = CSSValueHanging; |
4058 break; | 3893 break; |
4059 case DB_MATHEMATICAL: | 3894 case DB_MATHEMATICAL: |
4060 m_value.valueID = CSSValueMathematical; | 3895 m_valueID = CSSValueMathematical; |
4061 break; | 3896 break; |
4062 } | 3897 } |
4063 } | 3898 } |
4064 | 3899 |
4065 template<> inline EDominantBaseline CSSPrimitiveValue::convertTo() const | 3900 template<> inline EDominantBaseline CSSIdentifierValue::convertTo() const |
4066 { | 3901 { |
4067 ASSERT(isValueID()); | 3902 switch (m_valueID) { |
4068 switch (m_value.valueID) { | |
4069 case CSSValueAuto: | 3903 case CSSValueAuto: |
4070 return DB_AUTO; | 3904 return DB_AUTO; |
4071 case CSSValueUseScript: | 3905 case CSSValueUseScript: |
4072 return DB_USE_SCRIPT; | 3906 return DB_USE_SCRIPT; |
4073 case CSSValueNoChange: | 3907 case CSSValueNoChange: |
4074 return DB_NO_CHANGE; | 3908 return DB_NO_CHANGE; |
4075 case CSSValueResetSize: | 3909 case CSSValueResetSize: |
4076 return DB_RESET_SIZE; | 3910 return DB_RESET_SIZE; |
4077 case CSSValueIdeographic: | 3911 case CSSValueIdeographic: |
4078 return DB_IDEOGRAPHIC; | 3912 return DB_IDEOGRAPHIC; |
(...skipping 12 matching lines...) Expand all Loading... |
4091 case CSSValueTextBeforeEdge: | 3925 case CSSValueTextBeforeEdge: |
4092 return DB_TEXT_BEFORE_EDGE; | 3926 return DB_TEXT_BEFORE_EDGE; |
4093 default: | 3927 default: |
4094 break; | 3928 break; |
4095 } | 3929 } |
4096 | 3930 |
4097 ASSERT_NOT_REACHED(); | 3931 ASSERT_NOT_REACHED(); |
4098 return DB_AUTO; | 3932 return DB_AUTO; |
4099 } | 3933 } |
4100 | 3934 |
4101 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EShapeRendering e) | 3935 template<> inline CSSIdentifierValue::CSSIdentifierValue(EShapeRendering e) |
4102 : CSSValue(PrimitiveClass) | 3936 : CSSValue(IdentifierClass) |
4103 { | 3937 { |
4104 init(UnitType::ValueID); | |
4105 switch (e) { | 3938 switch (e) { |
4106 case SR_AUTO: | 3939 case SR_AUTO: |
4107 m_value.valueID = CSSValueAuto; | 3940 m_valueID = CSSValueAuto; |
4108 break; | 3941 break; |
4109 case SR_OPTIMIZESPEED: | 3942 case SR_OPTIMIZESPEED: |
4110 m_value.valueID = CSSValueOptimizeSpeed; | 3943 m_valueID = CSSValueOptimizeSpeed; |
4111 break; | 3944 break; |
4112 case SR_CRISPEDGES: | 3945 case SR_CRISPEDGES: |
4113 m_value.valueID = CSSValueCrispEdges; | 3946 m_valueID = CSSValueCrispEdges; |
4114 break; | 3947 break; |
4115 case SR_GEOMETRICPRECISION: | 3948 case SR_GEOMETRICPRECISION: |
4116 m_value.valueID = CSSValueGeometricPrecision; | 3949 m_valueID = CSSValueGeometricPrecision; |
4117 break; | 3950 break; |
4118 } | 3951 } |
4119 } | 3952 } |
4120 | 3953 |
4121 template<> inline EShapeRendering CSSPrimitiveValue::convertTo() const | 3954 template<> inline EShapeRendering CSSIdentifierValue::convertTo() const |
4122 { | 3955 { |
4123 ASSERT(isValueID()); | 3956 switch (m_valueID) { |
4124 switch (m_value.valueID) { | |
4125 case CSSValueAuto: | 3957 case CSSValueAuto: |
4126 return SR_AUTO; | 3958 return SR_AUTO; |
4127 case CSSValueOptimizeSpeed: | 3959 case CSSValueOptimizeSpeed: |
4128 return SR_OPTIMIZESPEED; | 3960 return SR_OPTIMIZESPEED; |
4129 case CSSValueCrispEdges: | 3961 case CSSValueCrispEdges: |
4130 return SR_CRISPEDGES; | 3962 return SR_CRISPEDGES; |
4131 case CSSValueGeometricPrecision: | 3963 case CSSValueGeometricPrecision: |
4132 return SR_GEOMETRICPRECISION; | 3964 return SR_GEOMETRICPRECISION; |
4133 default: | 3965 default: |
4134 break; | 3966 break; |
4135 } | 3967 } |
4136 | 3968 |
4137 ASSERT_NOT_REACHED(); | 3969 ASSERT_NOT_REACHED(); |
4138 return SR_AUTO; | 3970 return SR_AUTO; |
4139 } | 3971 } |
4140 | 3972 |
4141 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextAnchor e) | 3973 template<> inline CSSIdentifierValue::CSSIdentifierValue(ETextAnchor e) |
4142 : CSSValue(PrimitiveClass) | 3974 : CSSValue(IdentifierClass) |
4143 { | 3975 { |
4144 init(UnitType::ValueID); | |
4145 switch (e) { | 3976 switch (e) { |
4146 case TA_START: | 3977 case TA_START: |
4147 m_value.valueID = CSSValueStart; | 3978 m_valueID = CSSValueStart; |
4148 break; | 3979 break; |
4149 case TA_MIDDLE: | 3980 case TA_MIDDLE: |
4150 m_value.valueID = CSSValueMiddle; | 3981 m_valueID = CSSValueMiddle; |
4151 break; | 3982 break; |
4152 case TA_END: | 3983 case TA_END: |
4153 m_value.valueID = CSSValueEnd; | 3984 m_valueID = CSSValueEnd; |
4154 break; | 3985 break; |
4155 } | 3986 } |
4156 } | 3987 } |
4157 | 3988 |
4158 template<> inline ETextAnchor CSSPrimitiveValue::convertTo() const | 3989 template<> inline ETextAnchor CSSIdentifierValue::convertTo() const |
4159 { | 3990 { |
4160 ASSERT(isValueID()); | 3991 switch (m_valueID) { |
4161 switch (m_value.valueID) { | |
4162 case CSSValueStart: | 3992 case CSSValueStart: |
4163 return TA_START; | 3993 return TA_START; |
4164 case CSSValueMiddle: | 3994 case CSSValueMiddle: |
4165 return TA_MIDDLE; | 3995 return TA_MIDDLE; |
4166 case CSSValueEnd: | 3996 case CSSValueEnd: |
4167 return TA_END; | 3997 return TA_END; |
4168 default: | 3998 default: |
4169 break; | 3999 break; |
4170 } | 4000 } |
4171 | 4001 |
4172 ASSERT_NOT_REACHED(); | 4002 ASSERT_NOT_REACHED(); |
4173 return TA_START; | 4003 return TA_START; |
4174 } | 4004 } |
4175 | 4005 |
4176 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVectorEffect e) | 4006 template<> inline CSSIdentifierValue::CSSIdentifierValue(EVectorEffect e) |
4177 : CSSValue(PrimitiveClass) | 4007 : CSSValue(IdentifierClass) |
4178 { | 4008 { |
4179 init(UnitType::ValueID); | |
4180 switch (e) { | 4009 switch (e) { |
4181 case VE_NONE: | 4010 case VE_NONE: |
4182 m_value.valueID = CSSValueNone; | 4011 m_valueID = CSSValueNone; |
4183 break; | 4012 break; |
4184 case VE_NON_SCALING_STROKE: | 4013 case VE_NON_SCALING_STROKE: |
4185 m_value.valueID = CSSValueNonScalingStroke; | 4014 m_valueID = CSSValueNonScalingStroke; |
4186 break; | 4015 break; |
4187 } | 4016 } |
4188 } | 4017 } |
4189 | 4018 |
4190 template<> inline EVectorEffect CSSPrimitiveValue::convertTo() const | 4019 template<> inline EVectorEffect CSSIdentifierValue::convertTo() const |
4191 { | 4020 { |
4192 ASSERT(isValueID()); | 4021 switch (m_valueID) { |
4193 switch (m_value.valueID) { | |
4194 case CSSValueNone: | 4022 case CSSValueNone: |
4195 return VE_NONE; | 4023 return VE_NONE; |
4196 case CSSValueNonScalingStroke: | 4024 case CSSValueNonScalingStroke: |
4197 return VE_NON_SCALING_STROKE; | 4025 return VE_NON_SCALING_STROKE; |
4198 default: | 4026 default: |
4199 break; | 4027 break; |
4200 } | 4028 } |
4201 | 4029 |
4202 ASSERT_NOT_REACHED(); | 4030 ASSERT_NOT_REACHED(); |
4203 return VE_NONE; | 4031 return VE_NONE; |
4204 } | 4032 } |
4205 | 4033 |
4206 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPaintOrderType e) | 4034 template<> inline CSSIdentifierValue::CSSIdentifierValue(EPaintOrderType e) |
4207 : CSSValue(PrimitiveClass) | 4035 : CSSValue(IdentifierClass) |
4208 { | 4036 { |
4209 init(UnitType::ValueID); | |
4210 switch (e) { | 4037 switch (e) { |
4211 case PT_FILL: | 4038 case PT_FILL: |
4212 m_value.valueID = CSSValueFill; | 4039 m_valueID = CSSValueFill; |
4213 break; | 4040 break; |
4214 case PT_STROKE: | 4041 case PT_STROKE: |
4215 m_value.valueID = CSSValueStroke; | 4042 m_valueID = CSSValueStroke; |
4216 break; | 4043 break; |
4217 case PT_MARKERS: | 4044 case PT_MARKERS: |
4218 m_value.valueID = CSSValueMarkers; | 4045 m_valueID = CSSValueMarkers; |
4219 break; | 4046 break; |
4220 default: | 4047 default: |
4221 ASSERT_NOT_REACHED(); | 4048 ASSERT_NOT_REACHED(); |
4222 m_value.valueID = CSSValueFill; | 4049 m_valueID = CSSValueFill; |
4223 break; | 4050 break; |
4224 } | 4051 } |
4225 } | 4052 } |
4226 | 4053 |
4227 template<> inline EPaintOrderType CSSPrimitiveValue::convertTo() const | 4054 template<> inline EPaintOrderType CSSIdentifierValue::convertTo() const |
4228 { | 4055 { |
4229 ASSERT(isValueID()); | 4056 switch (m_valueID) { |
4230 switch (m_value.valueID) { | |
4231 case CSSValueFill: | 4057 case CSSValueFill: |
4232 return PT_FILL; | 4058 return PT_FILL; |
4233 case CSSValueStroke: | 4059 case CSSValueStroke: |
4234 return PT_STROKE; | 4060 return PT_STROKE; |
4235 case CSSValueMarkers: | 4061 case CSSValueMarkers: |
4236 return PT_MARKERS; | 4062 return PT_MARKERS; |
4237 default: | 4063 default: |
4238 break; | 4064 break; |
4239 } | 4065 } |
4240 | 4066 |
4241 ASSERT_NOT_REACHED(); | 4067 ASSERT_NOT_REACHED(); |
4242 return PT_NONE; | 4068 return PT_NONE; |
4243 } | 4069 } |
4244 | 4070 |
4245 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMaskType e) | 4071 template<> inline CSSIdentifierValue::CSSIdentifierValue(EMaskType e) |
4246 : CSSValue(PrimitiveClass) | 4072 : CSSValue(IdentifierClass) |
4247 { | 4073 { |
4248 init(UnitType::ValueID); | |
4249 switch (e) { | 4074 switch (e) { |
4250 case MT_LUMINANCE: | 4075 case MT_LUMINANCE: |
4251 m_value.valueID = CSSValueLuminance; | 4076 m_valueID = CSSValueLuminance; |
4252 break; | 4077 break; |
4253 case MT_ALPHA: | 4078 case MT_ALPHA: |
4254 m_value.valueID = CSSValueAlpha; | 4079 m_valueID = CSSValueAlpha; |
4255 break; | 4080 break; |
4256 } | 4081 } |
4257 } | 4082 } |
4258 | 4083 |
4259 template<> inline EMaskType CSSPrimitiveValue::convertTo() const | 4084 template<> inline EMaskType CSSIdentifierValue::convertTo() const |
4260 { | 4085 { |
4261 ASSERT(isValueID()); | 4086 switch (m_valueID) { |
4262 switch (m_value.valueID) { | |
4263 case CSSValueLuminance: | 4087 case CSSValueLuminance: |
4264 return MT_LUMINANCE; | 4088 return MT_LUMINANCE; |
4265 case CSSValueAlpha: | 4089 case CSSValueAlpha: |
4266 return MT_ALPHA; | 4090 return MT_ALPHA; |
4267 default: | 4091 default: |
4268 break; | 4092 break; |
4269 } | 4093 } |
4270 | 4094 |
4271 ASSERT_NOT_REACHED(); | 4095 ASSERT_NOT_REACHED(); |
4272 return MT_LUMINANCE; | 4096 return MT_LUMINANCE; |
4273 } | 4097 } |
4274 | 4098 |
4275 template<> inline TouchAction CSSPrimitiveValue::convertTo() const | 4099 template<> inline TouchAction CSSIdentifierValue::convertTo() const |
4276 { | 4100 { |
4277 ASSERT(isValueID()); | 4101 switch (m_valueID) { |
4278 switch (m_value.valueID) { | |
4279 case CSSValueNone: | 4102 case CSSValueNone: |
4280 return TouchActionNone; | 4103 return TouchActionNone; |
4281 case CSSValueAuto: | 4104 case CSSValueAuto: |
4282 return TouchActionAuto; | 4105 return TouchActionAuto; |
4283 case CSSValuePanLeft: | 4106 case CSSValuePanLeft: |
4284 return TouchActionPanLeft; | 4107 return TouchActionPanLeft; |
4285 case CSSValuePanRight: | 4108 case CSSValuePanRight: |
4286 return TouchActionPanRight; | 4109 return TouchActionPanRight; |
4287 case CSSValuePanX: | 4110 case CSSValuePanX: |
4288 return TouchActionPanX; | 4111 return TouchActionPanX; |
4289 case CSSValuePanUp: | 4112 case CSSValuePanUp: |
4290 return TouchActionPanUp; | 4113 return TouchActionPanUp; |
4291 case CSSValuePanDown: | 4114 case CSSValuePanDown: |
4292 return TouchActionPanDown; | 4115 return TouchActionPanDown; |
4293 case CSSValuePanY: | 4116 case CSSValuePanY: |
4294 return TouchActionPanY; | 4117 return TouchActionPanY; |
4295 case CSSValueManipulation: | 4118 case CSSValueManipulation: |
4296 return TouchActionManipulation; | 4119 return TouchActionManipulation; |
4297 case CSSValuePinchZoom: | 4120 case CSSValuePinchZoom: |
4298 return TouchActionPinchZoom; | 4121 return TouchActionPinchZoom; |
4299 default: | 4122 default: |
4300 break; | 4123 break; |
4301 } | 4124 } |
4302 | 4125 |
4303 ASSERT_NOT_REACHED(); | 4126 ASSERT_NOT_REACHED(); |
4304 return TouchActionNone; | 4127 return TouchActionNone; |
4305 } | 4128 } |
4306 | 4129 |
4307 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EIsolation i) | 4130 template<> inline CSSIdentifierValue::CSSIdentifierValue(EIsolation i) |
4308 : CSSValue(PrimitiveClass) | 4131 : CSSValue(IdentifierClass) |
4309 { | 4132 { |
4310 init(UnitType::ValueID); | |
4311 switch (i) { | 4133 switch (i) { |
4312 case IsolationAuto: | 4134 case IsolationAuto: |
4313 m_value.valueID = CSSValueAuto; | 4135 m_valueID = CSSValueAuto; |
4314 break; | 4136 break; |
4315 case IsolationIsolate: | 4137 case IsolationIsolate: |
4316 m_value.valueID = CSSValueIsolate; | 4138 m_valueID = CSSValueIsolate; |
4317 break; | 4139 break; |
4318 } | 4140 } |
4319 } | 4141 } |
4320 | 4142 |
4321 template<> inline EIsolation CSSPrimitiveValue::convertTo() const | 4143 template<> inline EIsolation CSSIdentifierValue::convertTo() const |
4322 { | 4144 { |
4323 ASSERT(isValueID()); | 4145 switch (m_valueID) { |
4324 switch (m_value.valueID) { | |
4325 case CSSValueAuto: | 4146 case CSSValueAuto: |
4326 return IsolationAuto; | 4147 return IsolationAuto; |
4327 case CSSValueIsolate: | 4148 case CSSValueIsolate: |
4328 return IsolationIsolate; | 4149 return IsolationIsolate; |
4329 default: | 4150 default: |
4330 break; | 4151 break; |
4331 } | 4152 } |
4332 | 4153 |
4333 ASSERT_NOT_REACHED(); | 4154 ASSERT_NOT_REACHED(); |
4334 return IsolationAuto; | 4155 return IsolationAuto; |
4335 } | 4156 } |
4336 | 4157 |
4337 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CSSBoxType cssBox) | 4158 template<> inline CSSIdentifierValue::CSSIdentifierValue(CSSBoxType cssBox) |
4338 : CSSValue(PrimitiveClass) | 4159 : CSSValue(IdentifierClass) |
4339 { | 4160 { |
4340 init(UnitType::ValueID); | |
4341 switch (cssBox) { | 4161 switch (cssBox) { |
4342 case MarginBox: | 4162 case MarginBox: |
4343 m_value.valueID = CSSValueMarginBox; | 4163 m_valueID = CSSValueMarginBox; |
4344 break; | 4164 break; |
4345 case BorderBox: | 4165 case BorderBox: |
4346 m_value.valueID = CSSValueBorderBox; | 4166 m_valueID = CSSValueBorderBox; |
4347 break; | 4167 break; |
4348 case PaddingBox: | 4168 case PaddingBox: |
4349 m_value.valueID = CSSValuePaddingBox; | 4169 m_valueID = CSSValuePaddingBox; |
4350 break; | 4170 break; |
4351 case ContentBox: | 4171 case ContentBox: |
4352 m_value.valueID = CSSValueContentBox; | 4172 m_valueID = CSSValueContentBox; |
4353 break; | 4173 break; |
4354 case BoxMissing: | 4174 case BoxMissing: |
4355 // The missing box should convert to a null primitive value. | 4175 // The missing box should convert to a null primitive value. |
4356 ASSERT_NOT_REACHED(); | 4176 ASSERT_NOT_REACHED(); |
4357 } | 4177 } |
4358 } | 4178 } |
4359 | 4179 |
4360 template<> inline CSSBoxType CSSPrimitiveValue::convertTo() const | 4180 template<> inline CSSBoxType CSSIdentifierValue::convertTo() const |
4361 { | 4181 { |
4362 switch (getValueID()) { | 4182 switch (getValueID()) { |
4363 case CSSValueMarginBox: | 4183 case CSSValueMarginBox: |
4364 return MarginBox; | 4184 return MarginBox; |
4365 case CSSValueBorderBox: | 4185 case CSSValueBorderBox: |
4366 return BorderBox; | 4186 return BorderBox; |
4367 case CSSValuePaddingBox: | 4187 case CSSValuePaddingBox: |
4368 return PaddingBox; | 4188 return PaddingBox; |
4369 case CSSValueContentBox: | 4189 case CSSValueContentBox: |
4370 return ContentBox; | 4190 return ContentBox; |
4371 default: | 4191 default: |
4372 break; | 4192 break; |
4373 } | 4193 } |
4374 ASSERT_NOT_REACHED(); | 4194 ASSERT_NOT_REACHED(); |
4375 return ContentBox; | 4195 return ContentBox; |
4376 } | 4196 } |
4377 | 4197 |
4378 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ItemPosition itemPosition
) | 4198 template<> inline CSSIdentifierValue::CSSIdentifierValue(ItemPosition itemPositi
on) |
4379 : CSSValue(PrimitiveClass) | 4199 : CSSValue(IdentifierClass) |
4380 { | 4200 { |
4381 init(UnitType::ValueID); | |
4382 switch (itemPosition) { | 4201 switch (itemPosition) { |
4383 case ItemPositionAuto: | 4202 case ItemPositionAuto: |
4384 // The 'auto' values might have been already resolved. | 4203 // The 'auto' values might have been already resolved. |
4385 NOTREACHED(); | 4204 NOTREACHED(); |
4386 m_value.valueID = CSSValueNormal; | 4205 m_valueID = CSSValueNormal; |
4387 break; | 4206 break; |
4388 case ItemPositionNormal: | 4207 case ItemPositionNormal: |
4389 m_value.valueID = CSSValueNormal; | 4208 m_valueID = CSSValueNormal; |
4390 break; | 4209 break; |
4391 case ItemPositionStretch: | 4210 case ItemPositionStretch: |
4392 m_value.valueID = CSSValueStretch; | 4211 m_valueID = CSSValueStretch; |
4393 break; | 4212 break; |
4394 case ItemPositionBaseline: | 4213 case ItemPositionBaseline: |
4395 m_value.valueID = CSSValueBaseline; | 4214 m_valueID = CSSValueBaseline; |
4396 break; | 4215 break; |
4397 case ItemPositionLastBaseline: | 4216 case ItemPositionLastBaseline: |
4398 m_value.valueID = CSSValueLastBaseline; | 4217 m_valueID = CSSValueLastBaseline; |
4399 break; | 4218 break; |
4400 case ItemPositionCenter: | 4219 case ItemPositionCenter: |
4401 m_value.valueID = CSSValueCenter; | 4220 m_valueID = CSSValueCenter; |
4402 break; | 4221 break; |
4403 case ItemPositionStart: | 4222 case ItemPositionStart: |
4404 m_value.valueID = CSSValueStart; | 4223 m_valueID = CSSValueStart; |
4405 break; | 4224 break; |
4406 case ItemPositionEnd: | 4225 case ItemPositionEnd: |
4407 m_value.valueID = CSSValueEnd; | 4226 m_valueID = CSSValueEnd; |
4408 break; | 4227 break; |
4409 case ItemPositionSelfStart: | 4228 case ItemPositionSelfStart: |
4410 m_value.valueID = CSSValueSelfStart; | 4229 m_valueID = CSSValueSelfStart; |
4411 break; | 4230 break; |
4412 case ItemPositionSelfEnd: | 4231 case ItemPositionSelfEnd: |
4413 m_value.valueID = CSSValueSelfEnd; | 4232 m_valueID = CSSValueSelfEnd; |
4414 break; | 4233 break; |
4415 case ItemPositionFlexStart: | 4234 case ItemPositionFlexStart: |
4416 m_value.valueID = CSSValueFlexStart; | 4235 m_valueID = CSSValueFlexStart; |
4417 break; | 4236 break; |
4418 case ItemPositionFlexEnd: | 4237 case ItemPositionFlexEnd: |
4419 m_value.valueID = CSSValueFlexEnd; | 4238 m_valueID = CSSValueFlexEnd; |
4420 break; | 4239 break; |
4421 case ItemPositionLeft: | 4240 case ItemPositionLeft: |
4422 m_value.valueID = CSSValueLeft; | 4241 m_valueID = CSSValueLeft; |
4423 break; | 4242 break; |
4424 case ItemPositionRight: | 4243 case ItemPositionRight: |
4425 m_value.valueID = CSSValueRight; | 4244 m_valueID = CSSValueRight; |
4426 break; | 4245 break; |
4427 } | 4246 } |
4428 } | 4247 } |
4429 | 4248 |
4430 template<> inline ItemPosition CSSPrimitiveValue::convertTo() const | 4249 template<> inline ItemPosition CSSIdentifierValue::convertTo() const |
4431 { | 4250 { |
4432 switch (m_value.valueID) { | 4251 switch (m_valueID) { |
4433 case CSSValueAuto: | 4252 case CSSValueAuto: |
4434 return ItemPositionAuto; | 4253 return ItemPositionAuto; |
4435 case CSSValueNormal: | 4254 case CSSValueNormal: |
4436 return ItemPositionNormal; | 4255 return ItemPositionNormal; |
4437 case CSSValueStretch: | 4256 case CSSValueStretch: |
4438 return ItemPositionStretch; | 4257 return ItemPositionStretch; |
4439 case CSSValueBaseline: | 4258 case CSSValueBaseline: |
4440 return ItemPositionBaseline; | 4259 return ItemPositionBaseline; |
4441 case CSSValueLastBaseline: | 4260 case CSSValueLastBaseline: |
4442 return ItemPositionLastBaseline; | 4261 return ItemPositionLastBaseline; |
(...skipping 15 matching lines...) Expand all Loading... |
4458 return ItemPositionLeft; | 4277 return ItemPositionLeft; |
4459 case CSSValueRight: | 4278 case CSSValueRight: |
4460 return ItemPositionRight; | 4279 return ItemPositionRight; |
4461 default: | 4280 default: |
4462 break; | 4281 break; |
4463 } | 4282 } |
4464 ASSERT_NOT_REACHED(); | 4283 ASSERT_NOT_REACHED(); |
4465 return ItemPositionAuto; | 4284 return ItemPositionAuto; |
4466 } | 4285 } |
4467 | 4286 |
4468 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ContentPosition contentPo
sition) | 4287 template<> inline CSSIdentifierValue::CSSIdentifierValue(ContentPosition content
Position) |
4469 : CSSValue(PrimitiveClass) | 4288 : CSSValue(IdentifierClass) |
4470 { | 4289 { |
4471 init(UnitType::ValueID); | |
4472 switch (contentPosition) { | 4290 switch (contentPosition) { |
4473 case ContentPositionNormal: | 4291 case ContentPositionNormal: |
4474 m_value.valueID = CSSValueNormal; | 4292 m_valueID = CSSValueNormal; |
4475 break; | 4293 break; |
4476 case ContentPositionBaseline: | 4294 case ContentPositionBaseline: |
4477 m_value.valueID = CSSValueBaseline; | 4295 m_valueID = CSSValueBaseline; |
4478 break; | 4296 break; |
4479 case ContentPositionLastBaseline: | 4297 case ContentPositionLastBaseline: |
4480 m_value.valueID = CSSValueLastBaseline; | 4298 m_valueID = CSSValueLastBaseline; |
4481 break; | 4299 break; |
4482 case ContentPositionCenter: | 4300 case ContentPositionCenter: |
4483 m_value.valueID = CSSValueCenter; | 4301 m_valueID = CSSValueCenter; |
4484 break; | 4302 break; |
4485 case ContentPositionStart: | 4303 case ContentPositionStart: |
4486 m_value.valueID = CSSValueStart; | 4304 m_valueID = CSSValueStart; |
4487 break; | 4305 break; |
4488 case ContentPositionEnd: | 4306 case ContentPositionEnd: |
4489 m_value.valueID = CSSValueEnd; | 4307 m_valueID = CSSValueEnd; |
4490 break; | 4308 break; |
4491 case ContentPositionFlexStart: | 4309 case ContentPositionFlexStart: |
4492 m_value.valueID = CSSValueFlexStart; | 4310 m_valueID = CSSValueFlexStart; |
4493 break; | 4311 break; |
4494 case ContentPositionFlexEnd: | 4312 case ContentPositionFlexEnd: |
4495 m_value.valueID = CSSValueFlexEnd; | 4313 m_valueID = CSSValueFlexEnd; |
4496 break; | 4314 break; |
4497 case ContentPositionLeft: | 4315 case ContentPositionLeft: |
4498 m_value.valueID = CSSValueLeft; | 4316 m_valueID = CSSValueLeft; |
4499 break; | 4317 break; |
4500 case ContentPositionRight: | 4318 case ContentPositionRight: |
4501 m_value.valueID = CSSValueRight; | 4319 m_valueID = CSSValueRight; |
4502 break; | 4320 break; |
4503 } | 4321 } |
4504 } | 4322 } |
4505 | 4323 |
4506 template<> inline ContentPosition CSSPrimitiveValue::convertTo() const | 4324 template<> inline ContentPosition CSSIdentifierValue::convertTo() const |
4507 { | 4325 { |
4508 switch (m_value.valueID) { | 4326 switch (m_valueID) { |
4509 case CSSValueNormal: | 4327 case CSSValueNormal: |
4510 return ContentPositionNormal; | 4328 return ContentPositionNormal; |
4511 case CSSValueBaseline: | 4329 case CSSValueBaseline: |
4512 return ContentPositionBaseline; | 4330 return ContentPositionBaseline; |
4513 case CSSValueLastBaseline: | 4331 case CSSValueLastBaseline: |
4514 return ContentPositionLastBaseline; | 4332 return ContentPositionLastBaseline; |
4515 case CSSValueCenter: | 4333 case CSSValueCenter: |
4516 return ContentPositionCenter; | 4334 return ContentPositionCenter; |
4517 case CSSValueStart: | 4335 case CSSValueStart: |
4518 return ContentPositionStart; | 4336 return ContentPositionStart; |
4519 case CSSValueEnd: | 4337 case CSSValueEnd: |
4520 return ContentPositionEnd; | 4338 return ContentPositionEnd; |
4521 case CSSValueFlexStart: | 4339 case CSSValueFlexStart: |
4522 return ContentPositionFlexStart; | 4340 return ContentPositionFlexStart; |
4523 case CSSValueFlexEnd: | 4341 case CSSValueFlexEnd: |
4524 return ContentPositionFlexEnd; | 4342 return ContentPositionFlexEnd; |
4525 case CSSValueLeft: | 4343 case CSSValueLeft: |
4526 return ContentPositionLeft; | 4344 return ContentPositionLeft; |
4527 case CSSValueRight: | 4345 case CSSValueRight: |
4528 return ContentPositionRight; | 4346 return ContentPositionRight; |
4529 default: | 4347 default: |
4530 break; | 4348 break; |
4531 } | 4349 } |
4532 ASSERT_NOT_REACHED(); | 4350 ASSERT_NOT_REACHED(); |
4533 return ContentPositionNormal; | 4351 return ContentPositionNormal; |
4534 } | 4352 } |
4535 | 4353 |
4536 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ContentDistributionType c
ontentDistribution) | 4354 template<> inline CSSIdentifierValue::CSSIdentifierValue(ContentDistributionType
contentDistribution) |
4537 : CSSValue(PrimitiveClass) | 4355 : CSSValue(IdentifierClass) |
4538 { | 4356 { |
4539 init(UnitType::ValueID); | |
4540 switch (contentDistribution) { | 4357 switch (contentDistribution) { |
4541 case ContentDistributionDefault: | 4358 case ContentDistributionDefault: |
4542 m_value.valueID = CSSValueDefault; | 4359 m_valueID = CSSValueDefault; |
4543 break; | 4360 break; |
4544 case ContentDistributionSpaceBetween: | 4361 case ContentDistributionSpaceBetween: |
4545 m_value.valueID = CSSValueSpaceBetween; | 4362 m_valueID = CSSValueSpaceBetween; |
4546 break; | 4363 break; |
4547 case ContentDistributionSpaceAround: | 4364 case ContentDistributionSpaceAround: |
4548 m_value.valueID = CSSValueSpaceAround; | 4365 m_valueID = CSSValueSpaceAround; |
4549 break; | 4366 break; |
4550 case ContentDistributionSpaceEvenly: | 4367 case ContentDistributionSpaceEvenly: |
4551 m_value.valueID = CSSValueSpaceEvenly; | 4368 m_valueID = CSSValueSpaceEvenly; |
4552 break; | 4369 break; |
4553 case ContentDistributionStretch: | 4370 case ContentDistributionStretch: |
4554 m_value.valueID = CSSValueStretch; | 4371 m_valueID = CSSValueStretch; |
4555 break; | 4372 break; |
4556 } | 4373 } |
4557 } | 4374 } |
4558 | 4375 |
4559 template<> inline ContentDistributionType CSSPrimitiveValue::convertTo() const | 4376 template<> inline ContentDistributionType CSSIdentifierValue::convertTo() const |
4560 { | 4377 { |
4561 switch (m_value.valueID) { | 4378 switch (m_valueID) { |
4562 case CSSValueSpaceBetween: | 4379 case CSSValueSpaceBetween: |
4563 return ContentDistributionSpaceBetween; | 4380 return ContentDistributionSpaceBetween; |
4564 case CSSValueSpaceAround: | 4381 case CSSValueSpaceAround: |
4565 return ContentDistributionSpaceAround; | 4382 return ContentDistributionSpaceAround; |
4566 case CSSValueSpaceEvenly: | 4383 case CSSValueSpaceEvenly: |
4567 return ContentDistributionSpaceEvenly; | 4384 return ContentDistributionSpaceEvenly; |
4568 case CSSValueStretch: | 4385 case CSSValueStretch: |
4569 return ContentDistributionStretch; | 4386 return ContentDistributionStretch; |
4570 default: | 4387 default: |
4571 break; | 4388 break; |
4572 } | 4389 } |
4573 ASSERT_NOT_REACHED(); | 4390 ASSERT_NOT_REACHED(); |
4574 return ContentDistributionStretch; | 4391 return ContentDistributionStretch; |
4575 } | 4392 } |
4576 | 4393 |
4577 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(OverflowAlignment overflo
wAlignment) | 4394 template<> inline CSSIdentifierValue::CSSIdentifierValue(OverflowAlignment overf
lowAlignment) |
4578 : CSSValue(PrimitiveClass) | 4395 : CSSValue(IdentifierClass) |
4579 { | 4396 { |
4580 init(UnitType::ValueID); | |
4581 switch (overflowAlignment) { | 4397 switch (overflowAlignment) { |
4582 case OverflowAlignmentDefault: | 4398 case OverflowAlignmentDefault: |
4583 m_value.valueID = CSSValueDefault; | 4399 m_valueID = CSSValueDefault; |
4584 break; | 4400 break; |
4585 case OverflowAlignmentUnsafe: | 4401 case OverflowAlignmentUnsafe: |
4586 m_value.valueID = CSSValueUnsafe; | 4402 m_valueID = CSSValueUnsafe; |
4587 break; | 4403 break; |
4588 case OverflowAlignmentSafe: | 4404 case OverflowAlignmentSafe: |
4589 m_value.valueID = CSSValueSafe; | 4405 m_valueID = CSSValueSafe; |
4590 break; | 4406 break; |
4591 } | 4407 } |
4592 } | 4408 } |
4593 | 4409 |
4594 template<> inline OverflowAlignment CSSPrimitiveValue::convertTo() const | 4410 template<> inline OverflowAlignment CSSIdentifierValue::convertTo() const |
4595 { | 4411 { |
4596 switch (m_value.valueID) { | 4412 switch (m_valueID) { |
4597 case CSSValueUnsafe: | 4413 case CSSValueUnsafe: |
4598 return OverflowAlignmentUnsafe; | 4414 return OverflowAlignmentUnsafe; |
4599 case CSSValueSafe: | 4415 case CSSValueSafe: |
4600 return OverflowAlignmentSafe; | 4416 return OverflowAlignmentSafe; |
4601 default: | 4417 default: |
4602 break; | 4418 break; |
4603 } | 4419 } |
4604 ASSERT_NOT_REACHED(); | 4420 ASSERT_NOT_REACHED(); |
4605 return OverflowAlignmentUnsafe; | 4421 return OverflowAlignmentUnsafe; |
4606 } | 4422 } |
4607 | 4423 |
4608 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ScrollBehavior behavior) | 4424 template<> inline CSSIdentifierValue::CSSIdentifierValue(ScrollBehavior behavior
) |
4609 : CSSValue(PrimitiveClass) | 4425 : CSSValue(IdentifierClass) |
4610 { | 4426 { |
4611 init(UnitType::ValueID); | |
4612 switch (behavior) { | 4427 switch (behavior) { |
4613 case ScrollBehaviorAuto: | 4428 case ScrollBehaviorAuto: |
4614 m_value.valueID = CSSValueAuto; | 4429 m_valueID = CSSValueAuto; |
4615 break; | 4430 break; |
4616 case ScrollBehaviorSmooth: | 4431 case ScrollBehaviorSmooth: |
4617 m_value.valueID = CSSValueSmooth; | 4432 m_valueID = CSSValueSmooth; |
4618 break; | 4433 break; |
4619 case ScrollBehaviorInstant: | 4434 case ScrollBehaviorInstant: |
4620 // Behavior 'instant' is only allowed in ScrollOptions arguments passed
to | 4435 // Behavior 'instant' is only allowed in ScrollOptions arguments passed
to |
4621 // CSSOM scroll APIs. | 4436 // CSSOM scroll APIs. |
4622 ASSERT_NOT_REACHED(); | 4437 ASSERT_NOT_REACHED(); |
4623 } | 4438 } |
4624 } | 4439 } |
4625 | 4440 |
4626 template<> inline ScrollBehavior CSSPrimitiveValue::convertTo() const | 4441 template<> inline ScrollBehavior CSSIdentifierValue::convertTo() const |
4627 { | 4442 { |
4628 switch (getValueID()) { | 4443 switch (getValueID()) { |
4629 case CSSValueAuto: | 4444 case CSSValueAuto: |
4630 return ScrollBehaviorAuto; | 4445 return ScrollBehaviorAuto; |
4631 case CSSValueSmooth: | 4446 case CSSValueSmooth: |
4632 return ScrollBehaviorSmooth; | 4447 return ScrollBehaviorSmooth; |
4633 default: | 4448 default: |
4634 break; | 4449 break; |
4635 } | 4450 } |
4636 ASSERT_NOT_REACHED(); | 4451 ASSERT_NOT_REACHED(); |
4637 return ScrollBehaviorAuto; | 4452 return ScrollBehaviorAuto; |
4638 } | 4453 } |
4639 | 4454 |
4640 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ScrollSnapType snapType) | 4455 template<> inline CSSIdentifierValue::CSSIdentifierValue(ScrollSnapType snapType
) |
4641 : CSSValue(PrimitiveClass) | 4456 : CSSValue(IdentifierClass) |
4642 { | 4457 { |
4643 init(UnitType::ValueID); | |
4644 switch (snapType) { | 4458 switch (snapType) { |
4645 case ScrollSnapTypeNone: | 4459 case ScrollSnapTypeNone: |
4646 m_value.valueID = CSSValueNone; | 4460 m_valueID = CSSValueNone; |
4647 break; | 4461 break; |
4648 case ScrollSnapTypeMandatory: | 4462 case ScrollSnapTypeMandatory: |
4649 m_value.valueID = CSSValueMandatory; | 4463 m_valueID = CSSValueMandatory; |
4650 break; | 4464 break; |
4651 case ScrollSnapTypeProximity: | 4465 case ScrollSnapTypeProximity: |
4652 m_value.valueID = CSSValueProximity; | 4466 m_valueID = CSSValueProximity; |
4653 break; | 4467 break; |
4654 } | 4468 } |
4655 } | 4469 } |
4656 | 4470 |
4657 template<> inline ScrollSnapType CSSPrimitiveValue::convertTo() const | 4471 template<> inline ScrollSnapType CSSIdentifierValue::convertTo() const |
4658 { | 4472 { |
4659 switch (getValueID()) { | 4473 switch (getValueID()) { |
4660 case CSSValueNone: | 4474 case CSSValueNone: |
4661 return ScrollSnapTypeNone; | 4475 return ScrollSnapTypeNone; |
4662 case CSSValueMandatory: | 4476 case CSSValueMandatory: |
4663 return ScrollSnapTypeMandatory; | 4477 return ScrollSnapTypeMandatory; |
4664 case CSSValueProximity: | 4478 case CSSValueProximity: |
4665 return ScrollSnapTypeProximity; | 4479 return ScrollSnapTypeProximity; |
4666 default: | 4480 default: |
4667 break; | 4481 break; |
4668 } | 4482 } |
4669 ASSERT_NOT_REACHED(); | 4483 ASSERT_NOT_REACHED(); |
4670 return ScrollSnapTypeNone; | 4484 return ScrollSnapTypeNone; |
4671 } | 4485 } |
4672 | 4486 |
4673 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(Containment snapType) | 4487 template<> inline CSSIdentifierValue::CSSIdentifierValue(Containment snapType) |
4674 : CSSValue(PrimitiveClass) | 4488 : CSSValue(IdentifierClass) |
4675 { | 4489 { |
4676 init(UnitType::ValueID); | |
4677 switch (snapType) { | 4490 switch (snapType) { |
4678 case ContainsNone: | 4491 case ContainsNone: |
4679 m_value.valueID = CSSValueNone; | 4492 m_valueID = CSSValueNone; |
4680 break; | 4493 break; |
4681 case ContainsStrict: | 4494 case ContainsStrict: |
4682 m_value.valueID = CSSValueStrict; | 4495 m_valueID = CSSValueStrict; |
4683 break; | 4496 break; |
4684 case ContainsContent: | 4497 case ContainsContent: |
4685 m_value.valueID = CSSValueContent; | 4498 m_valueID = CSSValueContent; |
4686 break; | 4499 break; |
4687 case ContainsPaint: | 4500 case ContainsPaint: |
4688 m_value.valueID = CSSValuePaint; | 4501 m_valueID = CSSValuePaint; |
4689 break; | 4502 break; |
4690 case ContainsStyle: | 4503 case ContainsStyle: |
4691 m_value.valueID = CSSValueStyle; | 4504 m_valueID = CSSValueStyle; |
4692 break; | 4505 break; |
4693 case ContainsLayout: | 4506 case ContainsLayout: |
4694 m_value.valueID = CSSValueLayout; | 4507 m_valueID = CSSValueLayout; |
4695 break; | 4508 break; |
4696 case ContainsSize: | 4509 case ContainsSize: |
4697 m_value.valueID = CSSValueSize; | 4510 m_valueID = CSSValueSize; |
4698 break; | 4511 break; |
4699 } | 4512 } |
4700 } | 4513 } |
4701 | 4514 |
4702 template<> inline Containment CSSPrimitiveValue::convertTo() const | 4515 template<> inline Containment CSSIdentifierValue::convertTo() const |
4703 { | 4516 { |
4704 switch (getValueID()) { | 4517 switch (getValueID()) { |
4705 case CSSValueNone: | 4518 case CSSValueNone: |
4706 return ContainsNone; | 4519 return ContainsNone; |
4707 case CSSValueStrict: | 4520 case CSSValueStrict: |
4708 return ContainsStrict; | 4521 return ContainsStrict; |
4709 case CSSValueContent: | 4522 case CSSValueContent: |
4710 return ContainsContent; | 4523 return ContainsContent; |
4711 case CSSValuePaint: | 4524 case CSSValuePaint: |
4712 return ContainsPaint; | 4525 return ContainsPaint; |
4713 case CSSValueStyle: | 4526 case CSSValueStyle: |
4714 return ContainsStyle; | 4527 return ContainsStyle; |
4715 case CSSValueLayout: | 4528 case CSSValueLayout: |
4716 return ContainsLayout; | 4529 return ContainsLayout; |
4717 case CSSValueSize: | 4530 case CSSValueSize: |
4718 return ContainsSize; | 4531 return ContainsSize; |
4719 default: | 4532 default: |
4720 break; | 4533 break; |
4721 } | 4534 } |
4722 ASSERT_NOT_REACHED(); | 4535 ASSERT_NOT_REACHED(); |
4723 return ContainsNone; | 4536 return ContainsNone; |
4724 } | 4537 } |
4725 | 4538 |
4726 } // namespace blink | 4539 } // namespace blink |
4727 | 4540 |
4728 #endif | 4541 #endif |
OLD | NEW |