OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Andreas Kling (kling@webkit.org) | 2 * Copyright (C) 2011 Andreas Kling (kling@webkit.org) |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 23 matching lines...) Expand all Loading... |
34 #include "core/css/CSSCrossfadeValue.h" | 34 #include "core/css/CSSCrossfadeValue.h" |
35 #include "core/css/CSSCursorImageValue.h" | 35 #include "core/css/CSSCursorImageValue.h" |
36 #include "core/css/CSSFontFaceSrcValue.h" | 36 #include "core/css/CSSFontFaceSrcValue.h" |
37 #include "core/css/CSSFunctionValue.h" | 37 #include "core/css/CSSFunctionValue.h" |
38 #include "core/css/CSSGradientValue.h" | 38 #include "core/css/CSSGradientValue.h" |
39 #include "core/css/CSSImageSetValue.h" | 39 #include "core/css/CSSImageSetValue.h" |
40 #include "core/css/CSSImageValue.h" | 40 #include "core/css/CSSImageValue.h" |
41 #include "core/css/CSSInheritedValue.h" | 41 #include "core/css/CSSInheritedValue.h" |
42 #include "core/css/CSSInitialValue.h" | 42 #include "core/css/CSSInitialValue.h" |
43 #include "core/css/CSSLineBoxContainValue.h" | 43 #include "core/css/CSSLineBoxContainValue.h" |
| 44 #include "core/css/CSSMixFunctionValue.h" |
44 #include "core/css/CSSPrimitiveValue.h" | 45 #include "core/css/CSSPrimitiveValue.h" |
45 #include "core/css/CSSReflectValue.h" | 46 #include "core/css/CSSReflectValue.h" |
| 47 #include "core/css/CSSSVGDocumentValue.h" |
| 48 #include "core/css/CSSShaderValue.h" |
46 #include "core/css/CSSTimingFunctionValue.h" | 49 #include "core/css/CSSTimingFunctionValue.h" |
| 50 #include "core/css/CSSTransformValue.h" |
47 #include "core/css/CSSUnicodeRangeValue.h" | 51 #include "core/css/CSSUnicodeRangeValue.h" |
48 #include "core/css/CSSValueList.h" | 52 #include "core/css/CSSValueList.h" |
49 #include "core/css/CSSVariableValue.h" | 53 #include "core/css/CSSVariableValue.h" |
50 #include "core/css/FontFeatureValue.h" | 54 #include "core/css/FontFeatureValue.h" |
51 #include "core/css/FontValue.h" | 55 #include "core/css/FontValue.h" |
52 #include "core/css/ShadowValue.h" | 56 #include "core/css/ShadowValue.h" |
53 #include "core/css/WebKitCSSArrayFunctionValue.h" | 57 #include "core/css/WebKitCSSArrayFunctionValue.h" |
54 #include "core/css/WebKitCSSFilterValue.h" | 58 #include "core/css/WebKitCSSFilterValue.h" |
55 #include "core/css/WebKitCSSMixFunctionValue.h" | |
56 #include "core/css/WebKitCSSSVGDocumentValue.h" | |
57 #include "core/css/WebKitCSSShaderValue.h" | |
58 #include "core/css/WebKitCSSTransformValue.h" | |
59 #include "core/dom/WebCoreMemoryInstrumentation.h" | 59 #include "core/dom/WebCoreMemoryInstrumentation.h" |
60 #include "core/svg/SVGColor.h" | 60 #include "core/svg/SVGColor.h" |
61 #include "core/svg/SVGPaint.h" | 61 #include "core/svg/SVGPaint.h" |
62 | 62 |
63 namespace WebCore { | 63 namespace WebCore { |
64 | 64 |
65 struct SameSizeAsCSSValue : public RefCounted<SameSizeAsCSSValue> { | 65 struct SameSizeAsCSSValue : public RefCounted<SameSizeAsCSSValue> { |
66 uint32_t bitfields; | 66 uint32_t bitfields; |
67 }; | 67 }; |
68 | 68 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 return; | 218 return; |
219 case LineBoxContainClass: | 219 case LineBoxContainClass: |
220 static_cast<const CSSLineBoxContainValue*>(this)->reportDescendantMemory
Usage(memoryObjectInfo); | 220 static_cast<const CSSLineBoxContainValue*>(this)->reportDescendantMemory
Usage(memoryObjectInfo); |
221 return; | 221 return; |
222 case CalculationClass: | 222 case CalculationClass: |
223 static_cast<const CSSCalcValue*>(this)->reportDescendantMemoryUsage(memo
ryObjectInfo); | 223 static_cast<const CSSCalcValue*>(this)->reportDescendantMemoryUsage(memo
ryObjectInfo); |
224 return; | 224 return; |
225 case WebKitCSSArrayFunctionValueClass: | 225 case WebKitCSSArrayFunctionValueClass: |
226 static_cast<const WebKitCSSArrayFunctionValue*>(this)->reportDescendantM
emoryUsage(memoryObjectInfo); | 226 static_cast<const WebKitCSSArrayFunctionValue*>(this)->reportDescendantM
emoryUsage(memoryObjectInfo); |
227 return; | 227 return; |
228 case WebKitCSSMixFunctionValueClass: | 228 case CSSMixFunctionValueClass: |
229 static_cast<const WebKitCSSMixFunctionValue*>(this)->reportDescendantMem
oryUsage(memoryObjectInfo); | 229 static_cast<const CSSMixFunctionValue*>(this)->reportDescendantMemoryUsa
ge(memoryObjectInfo); |
230 return; | 230 return; |
231 case WebKitCSSShaderClass: | 231 case CSSShaderClass: |
232 static_cast<const WebKitCSSShaderValue*>(this)->reportDescendantMemoryUs
age(memoryObjectInfo); | 232 static_cast<const CSSShaderValue*>(this)->reportDescendantMemoryUsage(me
moryObjectInfo); |
233 return; | 233 return; |
234 case VariableClass: | 234 case VariableClass: |
235 static_cast<const CSSVariableValue*>(this)->reportDescendantMemoryUsage(
memoryObjectInfo); | 235 static_cast<const CSSVariableValue*>(this)->reportDescendantMemoryUsage(
memoryObjectInfo); |
236 return; | 236 return; |
237 case SVGColorClass: | 237 case SVGColorClass: |
238 static_cast<const SVGColor*>(this)->reportDescendantMemoryUsage(memoryOb
jectInfo); | 238 static_cast<const SVGColor*>(this)->reportDescendantMemoryUsage(memoryOb
jectInfo); |
239 return; | 239 return; |
240 case SVGPaintClass: | 240 case SVGPaintClass: |
241 static_cast<const SVGPaint*>(this)->reportDescendantMemoryUsage(memoryOb
jectInfo); | 241 static_cast<const SVGPaint*>(this)->reportDescendantMemoryUsage(memoryOb
jectInfo); |
242 return; | 242 return; |
243 case WebKitCSSSVGDocumentClass: | 243 case CSSSVGDocumentClass: |
244 static_cast<const WebKitCSSSVGDocumentValue*>(this)->reportDescendantMem
oryUsage(memoryObjectInfo); | 244 static_cast<const CSSSVGDocumentValue*>(this)->reportDescendantMemoryUsa
ge(memoryObjectInfo); |
245 return; | 245 return; |
246 case ValueListClass: | 246 case ValueListClass: |
247 toCSSValueList(this)->reportDescendantMemoryUsage(memoryObjectInfo); | 247 toCSSValueList(this)->reportDescendantMemoryUsage(memoryObjectInfo); |
248 return; | 248 return; |
249 case ImageSetClass: | 249 case ImageSetClass: |
250 static_cast<const CSSImageSetValue*>(this)->reportDescendantMemoryUsage(
memoryObjectInfo); | 250 static_cast<const CSSImageSetValue*>(this)->reportDescendantMemoryUsage(
memoryObjectInfo); |
251 return; | 251 return; |
252 case WebKitCSSFilterClass: | 252 case WebKitCSSFilterClass: |
253 static_cast<const WebKitCSSFilterValue*>(this)->reportDescendantMemoryUs
age(memoryObjectInfo); | 253 static_cast<const WebKitCSSFilterValue*>(this)->reportDescendantMemoryUs
age(memoryObjectInfo); |
254 return; | 254 return; |
255 case WebKitCSSTransformClass: | 255 case CSSTransformClass: |
256 static_cast<const WebKitCSSTransformValue*>(this)->reportDescendantMemor
yUsage(memoryObjectInfo); | 256 static_cast<const CSSTransformValue*>(this)->reportDescendantMemoryUsage
(memoryObjectInfo); |
257 return; | 257 return; |
258 } | 258 } |
259 ASSERT_NOT_REACHED(); | 259 ASSERT_NOT_REACHED(); |
260 } | 260 } |
261 | 261 |
262 template<class ChildClassType> | 262 template<class ChildClassType> |
263 inline static bool compareCSSValues(const CSSValue& first, const CSSValue& secon
d) | 263 inline static bool compareCSSValues(const CSSValue& first, const CSSValue& secon
d) |
264 { | 264 { |
265 return static_cast<const ChildClassType&>(first).equals(static_cast<const Ch
ildClassType&>(second)); | 265 return static_cast<const ChildClassType&>(first).equals(static_cast<const Ch
ildClassType&>(second)); |
266 } | 266 } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 case LinearTimingFunctionClass: | 311 case LinearTimingFunctionClass: |
312 return compareCSSValues<CSSLinearTimingFunctionValue>(*this, other); | 312 return compareCSSValues<CSSLinearTimingFunctionValue>(*this, other); |
313 case CubicBezierTimingFunctionClass: | 313 case CubicBezierTimingFunctionClass: |
314 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot
her); | 314 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot
her); |
315 case StepsTimingFunctionClass: | 315 case StepsTimingFunctionClass: |
316 return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); | 316 return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); |
317 case UnicodeRangeClass: | 317 case UnicodeRangeClass: |
318 return compareCSSValues<CSSUnicodeRangeValue>(*this, other); | 318 return compareCSSValues<CSSUnicodeRangeValue>(*this, other); |
319 case ValueListClass: | 319 case ValueListClass: |
320 return compareCSSValues<CSSValueList>(*this, other); | 320 return compareCSSValues<CSSValueList>(*this, other); |
321 case WebKitCSSTransformClass: | 321 case CSSTransformClass: |
322 return compareCSSValues<WebKitCSSTransformValue>(*this, other); | 322 return compareCSSValues<CSSTransformValue>(*this, other); |
323 case LineBoxContainClass: | 323 case LineBoxContainClass: |
324 return compareCSSValues<CSSLineBoxContainValue>(*this, other); | 324 return compareCSSValues<CSSLineBoxContainValue>(*this, other); |
325 case CalculationClass: | 325 case CalculationClass: |
326 return compareCSSValues<CSSCalcValue>(*this, other); | 326 return compareCSSValues<CSSCalcValue>(*this, other); |
327 case ImageSetClass: | 327 case ImageSetClass: |
328 return compareCSSValues<CSSImageSetValue>(*this, other); | 328 return compareCSSValues<CSSImageSetValue>(*this, other); |
329 case WebKitCSSFilterClass: | 329 case WebKitCSSFilterClass: |
330 return compareCSSValues<WebKitCSSFilterValue>(*this, other); | 330 return compareCSSValues<WebKitCSSFilterValue>(*this, other); |
331 case WebKitCSSArrayFunctionValueClass: | 331 case WebKitCSSArrayFunctionValueClass: |
332 return compareCSSValues<WebKitCSSArrayFunctionValue>(*this, other); | 332 return compareCSSValues<WebKitCSSArrayFunctionValue>(*this, other); |
333 case WebKitCSSMixFunctionValueClass: | 333 case CSSMixFunctionValueClass: |
334 return compareCSSValues<WebKitCSSMixFunctionValue>(*this, other); | 334 return compareCSSValues<CSSMixFunctionValue>(*this, other); |
335 case WebKitCSSShaderClass: | 335 case CSSShaderClass: |
336 return compareCSSValues<WebKitCSSShaderValue>(*this, other); | 336 return compareCSSValues<CSSShaderValue>(*this, other); |
337 case VariableClass: | 337 case VariableClass: |
338 return compareCSSValues<CSSVariableValue>(*this, other); | 338 return compareCSSValues<CSSVariableValue>(*this, other); |
339 case SVGColorClass: | 339 case SVGColorClass: |
340 return compareCSSValues<SVGColor>(*this, other); | 340 return compareCSSValues<SVGColor>(*this, other); |
341 case SVGPaintClass: | 341 case SVGPaintClass: |
342 return compareCSSValues<SVGPaint>(*this, other); | 342 return compareCSSValues<SVGPaint>(*this, other); |
343 case WebKitCSSSVGDocumentClass: | 343 case CSSSVGDocumentClass: |
344 return compareCSSValues<WebKitCSSSVGDocumentValue>(*this, other); | 344 return compareCSSValues<CSSSVGDocumentValue>(*this, other); |
345 default: | 345 default: |
346 ASSERT_NOT_REACHED(); | 346 ASSERT_NOT_REACHED(); |
347 return false; | 347 return false; |
348 } | 348 } |
349 } else if (m_classType == ValueListClass && other.m_classType != ValueListCl
ass) | 349 } else if (m_classType == ValueListClass && other.m_classType != ValueListCl
ass) |
350 return toCSSValueList(this)->equals(other); | 350 return toCSSValueList(this)->equals(other); |
351 else if (m_classType != ValueListClass && other.m_classType == ValueListClas
s) | 351 else if (m_classType != ValueListClass && other.m_classType == ValueListClas
s) |
352 return static_cast<const CSSValueList&>(other).equals(*this); | 352 return static_cast<const CSSValueList&>(other).equals(*this); |
353 return false; | 353 return false; |
354 } | 354 } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 case LinearTimingFunctionClass: | 399 case LinearTimingFunctionClass: |
400 return static_cast<const CSSLinearTimingFunctionValue*>(this)->customCss
Text(); | 400 return static_cast<const CSSLinearTimingFunctionValue*>(this)->customCss
Text(); |
401 case CubicBezierTimingFunctionClass: | 401 case CubicBezierTimingFunctionClass: |
402 return static_cast<const CSSCubicBezierTimingFunctionValue*>(this)->cust
omCssText(); | 402 return static_cast<const CSSCubicBezierTimingFunctionValue*>(this)->cust
omCssText(); |
403 case StepsTimingFunctionClass: | 403 case StepsTimingFunctionClass: |
404 return static_cast<const CSSStepsTimingFunctionValue*>(this)->customCssT
ext(); | 404 return static_cast<const CSSStepsTimingFunctionValue*>(this)->customCssT
ext(); |
405 case UnicodeRangeClass: | 405 case UnicodeRangeClass: |
406 return static_cast<const CSSUnicodeRangeValue*>(this)->customCssText(); | 406 return static_cast<const CSSUnicodeRangeValue*>(this)->customCssText(); |
407 case ValueListClass: | 407 case ValueListClass: |
408 return toCSSValueList(this)->customCssText(); | 408 return toCSSValueList(this)->customCssText(); |
409 case WebKitCSSTransformClass: | 409 case CSSTransformClass: |
410 return static_cast<const WebKitCSSTransformValue*>(this)->customCssText(
); | 410 return static_cast<const CSSTransformValue*>(this)->customCssText(); |
411 case LineBoxContainClass: | 411 case LineBoxContainClass: |
412 return static_cast<const CSSLineBoxContainValue*>(this)->customCssText()
; | 412 return static_cast<const CSSLineBoxContainValue*>(this)->customCssText()
; |
413 case CalculationClass: | 413 case CalculationClass: |
414 return static_cast<const CSSCalcValue*>(this)->customCssText(); | 414 return static_cast<const CSSCalcValue*>(this)->customCssText(); |
415 case ImageSetClass: | 415 case ImageSetClass: |
416 return static_cast<const CSSImageSetValue*>(this)->customCssText(); | 416 return static_cast<const CSSImageSetValue*>(this)->customCssText(); |
417 case WebKitCSSFilterClass: | 417 case WebKitCSSFilterClass: |
418 return static_cast<const WebKitCSSFilterValue*>(this)->customCssText(); | 418 return static_cast<const WebKitCSSFilterValue*>(this)->customCssText(); |
419 case WebKitCSSArrayFunctionValueClass: | 419 case WebKitCSSArrayFunctionValueClass: |
420 return static_cast<const WebKitCSSArrayFunctionValue*>(this)->customCssT
ext(); | 420 return static_cast<const WebKitCSSArrayFunctionValue*>(this)->customCssT
ext(); |
421 case WebKitCSSMixFunctionValueClass: | 421 case CSSMixFunctionValueClass: |
422 return static_cast<const WebKitCSSMixFunctionValue*>(this)->customCssTex
t(); | 422 return static_cast<const CSSMixFunctionValue*>(this)->customCssText(); |
423 case WebKitCSSShaderClass: | 423 case CSSShaderClass: |
424 return static_cast<const WebKitCSSShaderValue*>(this)->customCssText(); | 424 return static_cast<const CSSShaderValue*>(this)->customCssText(); |
425 case VariableClass: | 425 case VariableClass: |
426 return static_cast<const CSSVariableValue*>(this)->value(); | 426 return static_cast<const CSSVariableValue*>(this)->value(); |
427 case SVGColorClass: | 427 case SVGColorClass: |
428 return static_cast<const SVGColor*>(this)->customCssText(); | 428 return static_cast<const SVGColor*>(this)->customCssText(); |
429 case SVGPaintClass: | 429 case SVGPaintClass: |
430 return static_cast<const SVGPaint*>(this)->customCssText(); | 430 return static_cast<const SVGPaint*>(this)->customCssText(); |
431 case WebKitCSSSVGDocumentClass: | 431 case CSSSVGDocumentClass: |
432 return static_cast<const WebKitCSSSVGDocumentValue*>(this)->customCssTex
t(); | 432 return static_cast<const CSSSVGDocumentValue*>(this)->customCssText(); |
433 } | 433 } |
434 ASSERT_NOT_REACHED(); | 434 ASSERT_NOT_REACHED(); |
435 return String(); | 435 return String(); |
436 } | 436 } |
437 | 437 |
438 String CSSValue::serializeResolvingVariables(const HashMap<AtomicString, String>
& variables) const | 438 String CSSValue::serializeResolvingVariables(const HashMap<AtomicString, String>
& variables) const |
439 { | 439 { |
440 switch (classType()) { | 440 switch (classType()) { |
441 case PrimitiveClass: | 441 case PrimitiveClass: |
442 return toCSSPrimitiveValue(this)->customSerializeResolvingVariables(vari
ables); | 442 return toCSSPrimitiveValue(this)->customSerializeResolvingVariables(vari
ables); |
443 case ReflectClass: | 443 case ReflectClass: |
444 return static_cast<const CSSReflectValue*>(this)->customSerializeResolvi
ngVariables(variables); | 444 return static_cast<const CSSReflectValue*>(this)->customSerializeResolvi
ngVariables(variables); |
445 case ValueListClass: | 445 case ValueListClass: |
446 return toCSSValueList(this)->customSerializeResolvingVariables(variables
); | 446 return toCSSValueList(this)->customSerializeResolvingVariables(variables
); |
447 case WebKitCSSTransformClass: | 447 case CSSTransformClass: |
448 return static_cast<const WebKitCSSTransformValue*>(this)->customSerializ
eResolvingVariables(variables); | 448 return static_cast<const CSSTransformValue*>(this)->customSerializeResol
vingVariables(variables); |
449 default: | 449 default: |
450 return cssText(); | 450 return cssText(); |
451 } | 451 } |
452 } | 452 } |
453 | 453 |
454 void CSSValue::destroy() | 454 void CSSValue::destroy() |
455 { | 455 { |
456 if (m_isTextClone) { | 456 if (m_isTextClone) { |
457 ASSERT(isCSSOMSafe()); | 457 ASSERT(isCSSOMSafe()); |
458 delete static_cast<TextCloneCSSValue*>(this); | 458 delete static_cast<TextCloneCSSValue*>(this); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 return; | 520 return; |
521 case StepsTimingFunctionClass: | 521 case StepsTimingFunctionClass: |
522 delete static_cast<CSSStepsTimingFunctionValue*>(this); | 522 delete static_cast<CSSStepsTimingFunctionValue*>(this); |
523 return; | 523 return; |
524 case UnicodeRangeClass: | 524 case UnicodeRangeClass: |
525 delete static_cast<CSSUnicodeRangeValue*>(this); | 525 delete static_cast<CSSUnicodeRangeValue*>(this); |
526 return; | 526 return; |
527 case ValueListClass: | 527 case ValueListClass: |
528 delete toCSSValueList(this); | 528 delete toCSSValueList(this); |
529 return; | 529 return; |
530 case WebKitCSSTransformClass: | 530 case CSSTransformClass: |
531 delete static_cast<WebKitCSSTransformValue*>(this); | 531 delete static_cast<CSSTransformValue*>(this); |
532 return; | 532 return; |
533 case LineBoxContainClass: | 533 case LineBoxContainClass: |
534 delete static_cast<CSSLineBoxContainValue*>(this); | 534 delete static_cast<CSSLineBoxContainValue*>(this); |
535 return; | 535 return; |
536 case CalculationClass: | 536 case CalculationClass: |
537 delete static_cast<CSSCalcValue*>(this); | 537 delete static_cast<CSSCalcValue*>(this); |
538 return; | 538 return; |
539 case ImageSetClass: | 539 case ImageSetClass: |
540 delete static_cast<CSSImageSetValue*>(this); | 540 delete static_cast<CSSImageSetValue*>(this); |
541 return; | 541 return; |
542 case WebKitCSSFilterClass: | 542 case WebKitCSSFilterClass: |
543 delete static_cast<WebKitCSSFilterValue*>(this); | 543 delete static_cast<WebKitCSSFilterValue*>(this); |
544 return; | 544 return; |
545 case WebKitCSSArrayFunctionValueClass: | 545 case WebKitCSSArrayFunctionValueClass: |
546 delete static_cast<WebKitCSSArrayFunctionValue*>(this); | 546 delete static_cast<WebKitCSSArrayFunctionValue*>(this); |
547 return; | 547 return; |
548 case WebKitCSSMixFunctionValueClass: | 548 case CSSMixFunctionValueClass: |
549 delete static_cast<WebKitCSSMixFunctionValue*>(this); | 549 delete static_cast<CSSMixFunctionValue*>(this); |
550 return; | 550 return; |
551 case WebKitCSSShaderClass: | 551 case CSSShaderClass: |
552 delete static_cast<WebKitCSSShaderValue*>(this); | 552 delete static_cast<CSSShaderValue*>(this); |
553 return; | 553 return; |
554 case VariableClass: | 554 case VariableClass: |
555 delete static_cast<CSSVariableValue*>(this); | 555 delete static_cast<CSSVariableValue*>(this); |
556 return; | 556 return; |
557 case SVGColorClass: | 557 case SVGColorClass: |
558 delete static_cast<SVGColor*>(this); | 558 delete static_cast<SVGColor*>(this); |
559 return; | 559 return; |
560 case SVGPaintClass: | 560 case SVGPaintClass: |
561 delete static_cast<SVGPaint*>(this); | 561 delete static_cast<SVGPaint*>(this); |
562 return; | 562 return; |
563 case WebKitCSSSVGDocumentClass: | 563 case CSSSVGDocumentClass: |
564 delete static_cast<WebKitCSSSVGDocumentValue*>(this); | 564 delete static_cast<CSSSVGDocumentValue*>(this); |
565 return; | 565 return; |
566 } | 566 } |
567 ASSERT_NOT_REACHED(); | 567 ASSERT_NOT_REACHED(); |
568 } | 568 } |
569 | 569 |
570 PassRefPtr<CSSValue> CSSValue::cloneForCSSOM() const | 570 PassRefPtr<CSSValue> CSSValue::cloneForCSSOM() const |
571 { | 571 { |
572 switch (classType()) { | 572 switch (classType()) { |
573 case PrimitiveClass: | 573 case PrimitiveClass: |
574 return toCSSPrimitiveValue(this)->cloneForCSSOM(); | 574 return toCSSPrimitiveValue(this)->cloneForCSSOM(); |
575 case ValueListClass: | 575 case ValueListClass: |
576 return toCSSValueList(this)->cloneForCSSOM(); | 576 return toCSSValueList(this)->cloneForCSSOM(); |
577 case ImageClass: | 577 case ImageClass: |
578 case CursorImageClass: | 578 case CursorImageClass: |
579 return toCSSImageValue(this)->cloneForCSSOM(); | 579 return toCSSImageValue(this)->cloneForCSSOM(); |
580 case WebKitCSSFilterClass: | 580 case WebKitCSSFilterClass: |
581 return static_cast<const WebKitCSSFilterValue*>(this)->cloneForCSSOM(); | 581 return static_cast<const WebKitCSSFilterValue*>(this)->cloneForCSSOM(); |
582 case WebKitCSSArrayFunctionValueClass: | 582 case WebKitCSSArrayFunctionValueClass: |
583 return static_cast<const WebKitCSSArrayFunctionValue*>(this)->cloneForCS
SOM(); | 583 return static_cast<const WebKitCSSArrayFunctionValue*>(this)->cloneForCS
SOM(); |
584 case WebKitCSSMixFunctionValueClass: | 584 case CSSMixFunctionValueClass: |
585 return static_cast<const WebKitCSSMixFunctionValue*>(this)->cloneForCSSO
M(); | 585 return static_cast<const CSSMixFunctionValue*>(this)->cloneForCSSOM(); |
586 case WebKitCSSTransformClass: | 586 case CSSTransformClass: |
587 return static_cast<const WebKitCSSTransformValue*>(this)->cloneForCSSOM(
); | 587 return static_cast<const CSSTransformValue*>(this)->cloneForCSSOM(); |
588 case ImageSetClass: | 588 case ImageSetClass: |
589 return static_cast<const CSSImageSetValue*>(this)->cloneForCSSOM(); | 589 return static_cast<const CSSImageSetValue*>(this)->cloneForCSSOM(); |
590 case SVGColorClass: | 590 case SVGColorClass: |
591 return static_cast<const SVGColor*>(this)->cloneForCSSOM(); | 591 return static_cast<const SVGColor*>(this)->cloneForCSSOM(); |
592 case SVGPaintClass: | 592 case SVGPaintClass: |
593 return static_cast<const SVGPaint*>(this)->cloneForCSSOM(); | 593 return static_cast<const SVGPaint*>(this)->cloneForCSSOM(); |
594 default: | 594 default: |
595 ASSERT(!isSubtypeExposedToCSSOM()); | 595 ASSERT(!isSubtypeExposedToCSSOM()); |
596 return TextCloneCSSValue::create(classType(), cssText()); | 596 return TextCloneCSSValue::create(classType(), cssText()); |
597 } | 597 } |
598 } | 598 } |
599 | 599 |
600 } | 600 } |
OLD | NEW |