Chromium Code Reviews| 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 15 matching lines...) Expand all Loading... | |
| 26 | 26 |
| 27 #include "config.h" | 27 #include "config.h" |
| 28 #include "core/css/CSSValue.h" | 28 #include "core/css/CSSValue.h" |
| 29 | 29 |
| 30 #include "core/css/CSSBorderImageSliceValue.h" | 30 #include "core/css/CSSBorderImageSliceValue.h" |
| 31 #include "core/css/CSSCanvasValue.h" | 31 #include "core/css/CSSCanvasValue.h" |
| 32 #include "core/css/CSSContentDistributionValue.h" | 32 #include "core/css/CSSContentDistributionValue.h" |
| 33 #include "core/css/CSSCounterValue.h" | 33 #include "core/css/CSSCounterValue.h" |
| 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/CSSCustomPropertyDeclaration.h" | |
| 36 #include "core/css/CSSFontFaceSrcValue.h" | 37 #include "core/css/CSSFontFaceSrcValue.h" |
| 37 #include "core/css/CSSFontFeatureValue.h" | 38 #include "core/css/CSSFontFeatureValue.h" |
| 38 #include "core/css/CSSFunctionValue.h" | 39 #include "core/css/CSSFunctionValue.h" |
| 39 #include "core/css/CSSGradientValue.h" | 40 #include "core/css/CSSGradientValue.h" |
| 40 #include "core/css/CSSGridLineNamesValue.h" | 41 #include "core/css/CSSGridLineNamesValue.h" |
| 41 #include "core/css/CSSGridTemplateAreasValue.h" | 42 #include "core/css/CSSGridTemplateAreasValue.h" |
| 42 #include "core/css/CSSImageSetValue.h" | 43 #include "core/css/CSSImageSetValue.h" |
| 43 #include "core/css/CSSImageValue.h" | 44 #include "core/css/CSSImageValue.h" |
| 44 #include "core/css/CSSInheritedValue.h" | 45 #include "core/css/CSSInheritedValue.h" |
| 45 #include "core/css/CSSInitialValue.h" | 46 #include "core/css/CSSInitialValue.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 145 case ValueListClass: | 146 case ValueListClass: |
| 146 return compareCSSValues<CSSValueList>(*this, other); | 147 return compareCSSValues<CSSValueList>(*this, other); |
| 147 case ValuePairClass: | 148 case ValuePairClass: |
| 148 return compareCSSValues<CSSValuePair>(*this, other); | 149 return compareCSSValues<CSSValuePair>(*this, other); |
| 149 case ImageSetClass: | 150 case ImageSetClass: |
| 150 return compareCSSValues<CSSImageSetValue>(*this, other); | 151 return compareCSSValues<CSSImageSetValue>(*this, other); |
| 151 case CSSSVGDocumentClass: | 152 case CSSSVGDocumentClass: |
| 152 return compareCSSValues<CSSSVGDocumentValue>(*this, other); | 153 return compareCSSValues<CSSSVGDocumentValue>(*this, other); |
| 153 case CSSContentDistributionClass: | 154 case CSSContentDistributionClass: |
| 154 return compareCSSValues<CSSContentDistributionValue>(*this, other); | 155 return compareCSSValues<CSSContentDistributionValue>(*this, other); |
| 156 case VariableClass: | |
| 157 return compareCSSValues<CSSCustomPropertyDeclaration>(*this, other); | |
| 155 } | 158 } |
| 156 ASSERT_NOT_REACHED(); | 159 ASSERT_NOT_REACHED(); |
| 157 return false; | 160 return false; |
| 158 } | 161 } |
| 159 return false; | 162 return false; |
| 160 } | 163 } |
| 161 | 164 |
| 162 String CSSValue::cssText() const | 165 String CSSValue::cssText() const |
| 163 { | 166 { |
| 164 switch (classType()) { | 167 switch (classType()) { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 213 case ValuePairClass: | 216 case ValuePairClass: |
| 214 return toCSSValuePair(this)->customCSSText(); | 217 return toCSSValuePair(this)->customCSSText(); |
| 215 case ValueListClass: | 218 case ValueListClass: |
| 216 return toCSSValueList(this)->customCSSText(); | 219 return toCSSValueList(this)->customCSSText(); |
| 217 case ImageSetClass: | 220 case ImageSetClass: |
| 218 return toCSSImageSetValue(this)->customCSSText(); | 221 return toCSSImageSetValue(this)->customCSSText(); |
| 219 case CSSSVGDocumentClass: | 222 case CSSSVGDocumentClass: |
| 220 return toCSSSVGDocumentValue(this)->customCSSText(); | 223 return toCSSSVGDocumentValue(this)->customCSSText(); |
| 221 case CSSContentDistributionClass: | 224 case CSSContentDistributionClass: |
| 222 return toCSSContentDistributionValue(this)->customCSSText(); | 225 return toCSSContentDistributionValue(this)->customCSSText(); |
| 226 case VariableClass: | |
| 227 // TODO(leviw): We don't allow custom properties in CSSOM yet | |
| 228 ASSERT_NOT_REACHED(); | |
| 223 } | 229 } |
| 224 ASSERT_NOT_REACHED(); | 230 ASSERT_NOT_REACHED(); |
| 225 return String(); | 231 return String(); |
| 226 } | 232 } |
| 227 | 233 |
| 228 void CSSValue::destroy() | 234 void CSSValue::destroy() |
| 229 { | 235 { |
| 230 switch (classType()) { | 236 switch (classType()) { |
| 231 case BorderImageSliceClass: | 237 case BorderImageSliceClass: |
| 232 delete toCSSBorderImageSliceValue(this); | 238 delete toCSSBorderImageSliceValue(this); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 308 return; | 314 return; |
| 309 case ImageSetClass: | 315 case ImageSetClass: |
| 310 delete toCSSImageSetValue(this); | 316 delete toCSSImageSetValue(this); |
| 311 return; | 317 return; |
| 312 case CSSSVGDocumentClass: | 318 case CSSSVGDocumentClass: |
| 313 delete toCSSSVGDocumentValue(this); | 319 delete toCSSSVGDocumentValue(this); |
| 314 return; | 320 return; |
| 315 case CSSContentDistributionClass: | 321 case CSSContentDistributionClass: |
| 316 delete toCSSContentDistributionValue(this); | 322 delete toCSSContentDistributionValue(this); |
| 317 return; | 323 return; |
| 324 case VariableClass: | |
| 325 delete toCSSCustomPropertyDeclaration(this); | |
| 326 return; | |
| 318 } | 327 } |
| 319 ASSERT_NOT_REACHED(); | 328 ASSERT_NOT_REACHED(); |
| 320 } | 329 } |
| 321 | 330 |
| 322 void CSSValue::finalizeGarbageCollectedObject() | 331 void CSSValue::finalizeGarbageCollectedObject() |
| 323 { | 332 { |
| 324 switch (classType()) { | 333 switch (classType()) { |
| 325 case BorderImageSliceClass: | 334 case BorderImageSliceClass: |
| 326 toCSSBorderImageSliceValue(this)->~CSSBorderImageSliceValue(); | 335 toCSSBorderImageSliceValue(this)->~CSSBorderImageSliceValue(); |
| 327 return; | 336 return; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 402 return; | 411 return; |
| 403 case ImageSetClass: | 412 case ImageSetClass: |
| 404 toCSSImageSetValue(this)->~CSSImageSetValue(); | 413 toCSSImageSetValue(this)->~CSSImageSetValue(); |
| 405 return; | 414 return; |
| 406 case CSSSVGDocumentClass: | 415 case CSSSVGDocumentClass: |
| 407 toCSSSVGDocumentValue(this)->~CSSSVGDocumentValue(); | 416 toCSSSVGDocumentValue(this)->~CSSSVGDocumentValue(); |
| 408 return; | 417 return; |
| 409 case CSSContentDistributionClass: | 418 case CSSContentDistributionClass: |
| 410 toCSSContentDistributionValue(this)->~CSSContentDistributionValue(); | 419 toCSSContentDistributionValue(this)->~CSSContentDistributionValue(); |
| 411 return; | 420 return; |
| 421 case VariableClass: | |
| 422 return; | |
|
Timothy Loh
2015/09/30 02:09:27
need to destruct?
| |
| 412 } | 423 } |
| 413 ASSERT_NOT_REACHED(); | 424 ASSERT_NOT_REACHED(); |
| 414 } | 425 } |
| 415 | 426 |
| 416 DEFINE_TRACE(CSSValue) | 427 DEFINE_TRACE(CSSValue) |
| 417 { | 428 { |
| 418 switch (classType()) { | 429 switch (classType()) { |
| 419 case BorderImageSliceClass: | 430 case BorderImageSliceClass: |
| 420 toCSSBorderImageSliceValue(this)->traceAfterDispatch(visitor); | 431 toCSSBorderImageSliceValue(this)->traceAfterDispatch(visitor); |
| 421 return; | 432 return; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 496 return; | 507 return; |
| 497 case ImageSetClass: | 508 case ImageSetClass: |
| 498 toCSSImageSetValue(this)->traceAfterDispatch(visitor); | 509 toCSSImageSetValue(this)->traceAfterDispatch(visitor); |
| 499 return; | 510 return; |
| 500 case CSSSVGDocumentClass: | 511 case CSSSVGDocumentClass: |
| 501 toCSSSVGDocumentValue(this)->traceAfterDispatch(visitor); | 512 toCSSSVGDocumentValue(this)->traceAfterDispatch(visitor); |
| 502 return; | 513 return; |
| 503 case CSSContentDistributionClass: | 514 case CSSContentDistributionClass: |
| 504 toCSSContentDistributionValue(this)->traceAfterDispatch(visitor); | 515 toCSSContentDistributionValue(this)->traceAfterDispatch(visitor); |
| 505 return; | 516 return; |
| 517 case VariableClass: | |
| 518 return; | |
|
Timothy Loh
2015/09/30 02:09:27
need to trace?
| |
| 506 } | 519 } |
| 507 ASSERT_NOT_REACHED(); | 520 ASSERT_NOT_REACHED(); |
| 508 } | 521 } |
| 509 | 522 |
| 510 } | 523 } |
| OLD | NEW |