| 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 11 matching lines...) Expand all Loading... |
| 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 24 * | 24 * |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 #include "sky/engine/core/css/CSSValue.h" | 27 #include "sky/engine/core/css/CSSValue.h" |
| 28 | 28 |
| 29 #include "sky/engine/core/css/CSSAspectRatioValue.h" | 29 #include "sky/engine/core/css/CSSAspectRatioValue.h" |
| 30 #include "sky/engine/core/css/CSSBorderImageSliceValue.h" | 30 #include "sky/engine/core/css/CSSBorderImageSliceValue.h" |
| 31 #include "sky/engine/core/css/CSSCalculationValue.h" | 31 #include "sky/engine/core/css/CSSCalculationValue.h" |
| 32 #include "sky/engine/core/css/CSSCrossfadeValue.h" | |
| 33 #include "sky/engine/core/css/CSSFilterValue.h" | 32 #include "sky/engine/core/css/CSSFilterValue.h" |
| 34 #include "sky/engine/core/css/CSSFontFaceSrcValue.h" | 33 #include "sky/engine/core/css/CSSFontFaceSrcValue.h" |
| 35 #include "sky/engine/core/css/CSSFontFeatureValue.h" | 34 #include "sky/engine/core/css/CSSFontFeatureValue.h" |
| 36 #include "sky/engine/core/css/CSSFontValue.h" | 35 #include "sky/engine/core/css/CSSFontValue.h" |
| 37 #include "sky/engine/core/css/CSSFunctionValue.h" | 36 #include "sky/engine/core/css/CSSFunctionValue.h" |
| 38 #include "sky/engine/core/css/CSSGradientValue.h" | 37 #include "sky/engine/core/css/CSSGradientValue.h" |
| 39 #include "sky/engine/core/css/CSSImageSetValue.h" | |
| 40 #include "sky/engine/core/css/CSSImageValue.h" | |
| 41 #include "sky/engine/core/css/CSSInheritedValue.h" | 38 #include "sky/engine/core/css/CSSInheritedValue.h" |
| 42 #include "sky/engine/core/css/CSSInitialValue.h" | 39 #include "sky/engine/core/css/CSSInitialValue.h" |
| 43 #include "sky/engine/core/css/CSSLineBoxContainValue.h" | 40 #include "sky/engine/core/css/CSSLineBoxContainValue.h" |
| 44 #include "sky/engine/core/css/CSSPrimitiveValue.h" | 41 #include "sky/engine/core/css/CSSPrimitiveValue.h" |
| 45 #include "sky/engine/core/css/CSSShadowValue.h" | 42 #include "sky/engine/core/css/CSSShadowValue.h" |
| 46 #include "sky/engine/core/css/CSSTimingFunctionValue.h" | 43 #include "sky/engine/core/css/CSSTimingFunctionValue.h" |
| 47 #include "sky/engine/core/css/CSSTransformValue.h" | 44 #include "sky/engine/core/css/CSSTransformValue.h" |
| 48 #include "sky/engine/core/css/CSSUnicodeRangeValue.h" | 45 #include "sky/engine/core/css/CSSUnicodeRangeValue.h" |
| 49 #include "sky/engine/core/css/CSSValueList.h" | 46 #include "sky/engine/core/css/CSSValueList.h" |
| 50 | 47 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 case FontFaceSrcClass: | 118 case FontFaceSrcClass: |
| 122 return compareCSSValues<CSSFontFaceSrcValue>(*this, other); | 119 return compareCSSValues<CSSFontFaceSrcValue>(*this, other); |
| 123 case FontFeatureClass: | 120 case FontFeatureClass: |
| 124 return compareCSSValues<CSSFontFeatureValue>(*this, other); | 121 return compareCSSValues<CSSFontFeatureValue>(*this, other); |
| 125 case FunctionClass: | 122 case FunctionClass: |
| 126 return compareCSSValues<CSSFunctionValue>(*this, other); | 123 return compareCSSValues<CSSFunctionValue>(*this, other); |
| 127 case LinearGradientClass: | 124 case LinearGradientClass: |
| 128 return compareCSSValues<CSSLinearGradientValue>(*this, other); | 125 return compareCSSValues<CSSLinearGradientValue>(*this, other); |
| 129 case RadialGradientClass: | 126 case RadialGradientClass: |
| 130 return compareCSSValues<CSSRadialGradientValue>(*this, other); | 127 return compareCSSValues<CSSRadialGradientValue>(*this, other); |
| 131 case CrossfadeClass: | |
| 132 return compareCSSValues<CSSCrossfadeValue>(*this, other); | |
| 133 case ImageClass: | |
| 134 return compareCSSValues<CSSImageValue>(*this, other); | |
| 135 case InheritedClass: | 128 case InheritedClass: |
| 136 return compareCSSValues<CSSInheritedValue>(*this, other); | 129 return compareCSSValues<CSSInheritedValue>(*this, other); |
| 137 case InitialClass: | 130 case InitialClass: |
| 138 return compareCSSValues<CSSInitialValue>(*this, other); | 131 return compareCSSValues<CSSInitialValue>(*this, other); |
| 139 case PrimitiveClass: | 132 case PrimitiveClass: |
| 140 return compareCSSValues<CSSPrimitiveValue>(*this, other); | 133 return compareCSSValues<CSSPrimitiveValue>(*this, other); |
| 141 case ShadowClass: | 134 case ShadowClass: |
| 142 return compareCSSValues<CSSShadowValue>(*this, other); | 135 return compareCSSValues<CSSShadowValue>(*this, other); |
| 143 case CubicBezierTimingFunctionClass: | 136 case CubicBezierTimingFunctionClass: |
| 144 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot
her); | 137 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot
her); |
| 145 case StepsTimingFunctionClass: | 138 case StepsTimingFunctionClass: |
| 146 return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); | 139 return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); |
| 147 case UnicodeRangeClass: | 140 case UnicodeRangeClass: |
| 148 return compareCSSValues<CSSUnicodeRangeValue>(*this, other); | 141 return compareCSSValues<CSSUnicodeRangeValue>(*this, other); |
| 149 case ValueListClass: | 142 case ValueListClass: |
| 150 return compareCSSValues<CSSValueList>(*this, other); | 143 return compareCSSValues<CSSValueList>(*this, other); |
| 151 case CSSTransformClass: | 144 case CSSTransformClass: |
| 152 return compareCSSValues<CSSTransformValue>(*this, other); | 145 return compareCSSValues<CSSTransformValue>(*this, other); |
| 153 case LineBoxContainClass: | 146 case LineBoxContainClass: |
| 154 return compareCSSValues<CSSLineBoxContainValue>(*this, other); | 147 return compareCSSValues<CSSLineBoxContainValue>(*this, other); |
| 155 case CalculationClass: | 148 case CalculationClass: |
| 156 return compareCSSValues<CSSCalcValue>(*this, other); | 149 return compareCSSValues<CSSCalcValue>(*this, other); |
| 157 case ImageSetClass: | |
| 158 return compareCSSValues<CSSImageSetValue>(*this, other); | |
| 159 case CSSFilterClass: | 150 case CSSFilterClass: |
| 160 return compareCSSValues<CSSFilterValue>(*this, other); | 151 return compareCSSValues<CSSFilterValue>(*this, other); |
| 161 default: | 152 default: |
| 162 ASSERT_NOT_REACHED(); | 153 ASSERT_NOT_REACHED(); |
| 163 return false; | 154 return false; |
| 164 } | 155 } |
| 165 } else if (m_classType == ValueListClass && other.m_classType != ValueListCl
ass) | 156 } else if (m_classType == ValueListClass && other.m_classType != ValueListCl
ass) |
| 166 return toCSSValueList(this)->equals(other); | 157 return toCSSValueList(this)->equals(other); |
| 167 else if (m_classType != ValueListClass && other.m_classType == ValueListClas
s) | 158 else if (m_classType != ValueListClass && other.m_classType == ValueListClas
s) |
| 168 return static_cast<const CSSValueList&>(other).equals(*this); | 159 return static_cast<const CSSValueList&>(other).equals(*this); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 187 case FontFaceSrcClass: | 178 case FontFaceSrcClass: |
| 188 return toCSSFontFaceSrcValue(this)->customCSSText(); | 179 return toCSSFontFaceSrcValue(this)->customCSSText(); |
| 189 case FontFeatureClass: | 180 case FontFeatureClass: |
| 190 return toCSSFontFeatureValue(this)->customCSSText(); | 181 return toCSSFontFeatureValue(this)->customCSSText(); |
| 191 case FunctionClass: | 182 case FunctionClass: |
| 192 return toCSSFunctionValue(this)->customCSSText(); | 183 return toCSSFunctionValue(this)->customCSSText(); |
| 193 case LinearGradientClass: | 184 case LinearGradientClass: |
| 194 return toCSSLinearGradientValue(this)->customCSSText(); | 185 return toCSSLinearGradientValue(this)->customCSSText(); |
| 195 case RadialGradientClass: | 186 case RadialGradientClass: |
| 196 return toCSSRadialGradientValue(this)->customCSSText(); | 187 return toCSSRadialGradientValue(this)->customCSSText(); |
| 197 case CrossfadeClass: | |
| 198 return toCSSCrossfadeValue(this)->customCSSText(); | |
| 199 case ImageClass: | |
| 200 return toCSSImageValue(this)->customCSSText(); | |
| 201 case InheritedClass: | 188 case InheritedClass: |
| 202 return toCSSInheritedValue(this)->customCSSText(); | 189 return toCSSInheritedValue(this)->customCSSText(); |
| 203 case InitialClass: | 190 case InitialClass: |
| 204 return toCSSInitialValue(this)->customCSSText(); | 191 return toCSSInitialValue(this)->customCSSText(); |
| 205 case PrimitiveClass: | 192 case PrimitiveClass: |
| 206 return toCSSPrimitiveValue(this)->customCSSText(); | 193 return toCSSPrimitiveValue(this)->customCSSText(); |
| 207 case ShadowClass: | 194 case ShadowClass: |
| 208 return toCSSShadowValue(this)->customCSSText(); | 195 return toCSSShadowValue(this)->customCSSText(); |
| 209 case CubicBezierTimingFunctionClass: | 196 case CubicBezierTimingFunctionClass: |
| 210 return toCSSCubicBezierTimingFunctionValue(this)->customCSSText(); | 197 return toCSSCubicBezierTimingFunctionValue(this)->customCSSText(); |
| 211 case StepsTimingFunctionClass: | 198 case StepsTimingFunctionClass: |
| 212 return toCSSStepsTimingFunctionValue(this)->customCSSText(); | 199 return toCSSStepsTimingFunctionValue(this)->customCSSText(); |
| 213 case UnicodeRangeClass: | 200 case UnicodeRangeClass: |
| 214 return toCSSUnicodeRangeValue(this)->customCSSText(); | 201 return toCSSUnicodeRangeValue(this)->customCSSText(); |
| 215 case ValueListClass: | 202 case ValueListClass: |
| 216 return toCSSValueList(this)->customCSSText(); | 203 return toCSSValueList(this)->customCSSText(); |
| 217 case CSSTransformClass: | 204 case CSSTransformClass: |
| 218 return toCSSTransformValue(this)->customCSSText(); | 205 return toCSSTransformValue(this)->customCSSText(); |
| 219 case LineBoxContainClass: | 206 case LineBoxContainClass: |
| 220 return toCSSLineBoxContainValue(this)->customCSSText(); | 207 return toCSSLineBoxContainValue(this)->customCSSText(); |
| 221 case CalculationClass: | 208 case CalculationClass: |
| 222 return toCSSCalcValue(this)->customCSSText(); | 209 return toCSSCalcValue(this)->customCSSText(); |
| 223 case ImageSetClass: | |
| 224 return toCSSImageSetValue(this)->customCSSText(); | |
| 225 case CSSFilterClass: | 210 case CSSFilterClass: |
| 226 return toCSSFilterValue(this)->customCSSText(); | 211 return toCSSFilterValue(this)->customCSSText(); |
| 227 } | 212 } |
| 228 ASSERT_NOT_REACHED(); | 213 ASSERT_NOT_REACHED(); |
| 229 return String(); | 214 return String(); |
| 230 } | 215 } |
| 231 | 216 |
| 232 void CSSValue::destroy() | 217 void CSSValue::destroy() |
| 233 { | 218 { |
| 234 if (m_isTextClone) { | 219 if (m_isTextClone) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 256 return; | 241 return; |
| 257 case FunctionClass: | 242 case FunctionClass: |
| 258 delete toCSSFunctionValue(this); | 243 delete toCSSFunctionValue(this); |
| 259 return; | 244 return; |
| 260 case LinearGradientClass: | 245 case LinearGradientClass: |
| 261 delete toCSSLinearGradientValue(this); | 246 delete toCSSLinearGradientValue(this); |
| 262 return; | 247 return; |
| 263 case RadialGradientClass: | 248 case RadialGradientClass: |
| 264 delete toCSSRadialGradientValue(this); | 249 delete toCSSRadialGradientValue(this); |
| 265 return; | 250 return; |
| 266 case CrossfadeClass: | |
| 267 delete toCSSCrossfadeValue(this); | |
| 268 return; | |
| 269 case ImageClass: | |
| 270 delete toCSSImageValue(this); | |
| 271 return; | |
| 272 case InheritedClass: | 251 case InheritedClass: |
| 273 delete toCSSInheritedValue(this); | 252 delete toCSSInheritedValue(this); |
| 274 return; | 253 return; |
| 275 case InitialClass: | 254 case InitialClass: |
| 276 delete toCSSInitialValue(this); | 255 delete toCSSInitialValue(this); |
| 277 return; | 256 return; |
| 278 case PrimitiveClass: | 257 case PrimitiveClass: |
| 279 delete toCSSPrimitiveValue(this); | 258 delete toCSSPrimitiveValue(this); |
| 280 return; | 259 return; |
| 281 case ShadowClass: | 260 case ShadowClass: |
| (...skipping 13 matching lines...) Expand all Loading... |
| 295 return; | 274 return; |
| 296 case CSSTransformClass: | 275 case CSSTransformClass: |
| 297 delete toCSSTransformValue(this); | 276 delete toCSSTransformValue(this); |
| 298 return; | 277 return; |
| 299 case LineBoxContainClass: | 278 case LineBoxContainClass: |
| 300 delete toCSSLineBoxContainValue(this); | 279 delete toCSSLineBoxContainValue(this); |
| 301 return; | 280 return; |
| 302 case CalculationClass: | 281 case CalculationClass: |
| 303 delete toCSSCalcValue(this); | 282 delete toCSSCalcValue(this); |
| 304 return; | 283 return; |
| 305 case ImageSetClass: | |
| 306 delete toCSSImageSetValue(this); | |
| 307 return; | |
| 308 case CSSFilterClass: | 284 case CSSFilterClass: |
| 309 delete toCSSFilterValue(this); | 285 delete toCSSFilterValue(this); |
| 310 return; | 286 return; |
| 311 } | 287 } |
| 312 ASSERT_NOT_REACHED(); | 288 ASSERT_NOT_REACHED(); |
| 313 } | 289 } |
| 314 | 290 |
| 315 PassRefPtr<CSSValue> CSSValue::cloneForCSSOM() const | 291 PassRefPtr<CSSValue> CSSValue::cloneForCSSOM() const |
| 316 { | 292 { |
| 317 switch (classType()) { | 293 switch (classType()) { |
| 318 case PrimitiveClass: | 294 case PrimitiveClass: |
| 319 return toCSSPrimitiveValue(this)->cloneForCSSOM(); | 295 return toCSSPrimitiveValue(this)->cloneForCSSOM(); |
| 320 case ValueListClass: | 296 case ValueListClass: |
| 321 return toCSSValueList(this)->cloneForCSSOM(); | 297 return toCSSValueList(this)->cloneForCSSOM(); |
| 322 case ImageClass: | |
| 323 return toCSSImageValue(this)->cloneForCSSOM(); | |
| 324 case CSSFilterClass: | 298 case CSSFilterClass: |
| 325 return toCSSFilterValue(this)->cloneForCSSOM(); | 299 return toCSSFilterValue(this)->cloneForCSSOM(); |
| 326 case CSSTransformClass: | 300 case CSSTransformClass: |
| 327 return toCSSTransformValue(this)->cloneForCSSOM(); | 301 return toCSSTransformValue(this)->cloneForCSSOM(); |
| 328 case ImageSetClass: | |
| 329 return toCSSImageSetValue(this)->cloneForCSSOM(); | |
| 330 default: | 302 default: |
| 331 ASSERT(!isSubtypeExposedToCSSOM()); | 303 ASSERT(!isSubtypeExposedToCSSOM()); |
| 332 return TextCloneCSSValue::create(classType(), cssText()); | 304 return TextCloneCSSValue::create(classType(), cssText()); |
| 333 } | 305 } |
| 334 } | 306 } |
| 335 | 307 |
| 336 } | 308 } |
| OLD | NEW |