| 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 |