| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> | 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
| 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. | 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1043 return cssValuePool().createIdentifierValue(CSSValueAuto); | 1043 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 1044 | 1044 |
| 1045 if (position.isInteger()) | 1045 if (position.isInteger()) |
| 1046 return cssValuePool().createValue(position.integerPosition(), CSSPrimiti
veValue::CSS_NUMBER); | 1046 return cssValuePool().createValue(position.integerPosition(), CSSPrimiti
veValue::CSS_NUMBER); |
| 1047 | 1047 |
| 1048 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 1048 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 1049 list->append(cssValuePool().createIdentifierValue(CSSValueSpan)); | 1049 list->append(cssValuePool().createIdentifierValue(CSSValueSpan)); |
| 1050 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrimitiv
eValue::CSS_NUMBER)); | 1050 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrimitiv
eValue::CSS_NUMBER)); |
| 1051 return list; | 1051 return list; |
| 1052 } | 1052 } |
| 1053 static PassRefPtr<CSSValue> createTransitionPropertyValue(const Animation* anima
tion) | 1053 static PassRefPtr<CSSValue> createTransitionPropertyValue(const PrimitiveAnimati
on* animation) |
| 1054 { | 1054 { |
| 1055 RefPtr<CSSValue> propertyValue; | 1055 RefPtr<CSSValue> propertyValue; |
| 1056 if (animation->animationMode() == Animation::AnimateNone) | 1056 if (animation->animationMode() == PrimitiveAnimation::AnimateNone) |
| 1057 propertyValue = cssValuePool().createIdentifierValue(CSSValueNone); | 1057 propertyValue = cssValuePool().createIdentifierValue(CSSValueNone); |
| 1058 else if (animation->animationMode() == Animation::AnimateAll) | 1058 else if (animation->animationMode() == PrimitiveAnimation::AnimateAll) |
| 1059 propertyValue = cssValuePool().createIdentifierValue(CSSValueAll); | 1059 propertyValue = cssValuePool().createIdentifierValue(CSSValueAll); |
| 1060 else | 1060 else |
| 1061 propertyValue = cssValuePool().createValue(getPropertyNameString(animati
on->property()), CSSPrimitiveValue::CSS_STRING); | 1061 propertyValue = cssValuePool().createValue(getPropertyNameString(animati
on->property()), CSSPrimitiveValue::CSS_STRING); |
| 1062 return propertyValue.release(); | 1062 return propertyValue.release(); |
| 1063 } | 1063 } |
| 1064 static PassRefPtr<CSSValue> getTransitionPropertyValue(const AnimationList* anim
List) | 1064 static PassRefPtr<CSSValue> getTransitionPropertyValue(const AnimationList* anim
List) |
| 1065 { | 1065 { |
| 1066 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1066 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1067 if (animList) { | 1067 if (animList) { |
| 1068 for (size_t i = 0; i < animList->size(); ++i) | 1068 for (size_t i = 0; i < animList->size(); ++i) |
| 1069 list->append(createTransitionPropertyValue(animList->animation(i))); | 1069 list->append(createTransitionPropertyValue(animList->animation(i))); |
| 1070 } else | 1070 } else |
| 1071 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); | 1071 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); |
| 1072 return list.release(); | 1072 return list.release(); |
| 1073 } | 1073 } |
| 1074 | 1074 |
| 1075 static PassRefPtr<CSSValue> getDelayValue(const AnimationList* animList) | 1075 static PassRefPtr<CSSValue> getDelayValue(const AnimationList* animList) |
| 1076 { | 1076 { |
| 1077 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1077 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1078 if (animList) { | 1078 if (animList) { |
| 1079 for (size_t i = 0; i < animList->size(); ++i) | 1079 for (size_t i = 0; i < animList->size(); ++i) |
| 1080 list->append(cssValuePool().createValue(animList->animation(i)->dela
y(), CSSPrimitiveValue::CSS_S)); | 1080 list->append(cssValuePool().createValue(animList->animation(i)->dela
y(), CSSPrimitiveValue::CSS_S)); |
| 1081 } else { | 1081 } else { |
| 1082 // Note that initialAnimationDelay() is used for both transitions and an
imations | 1082 // Note that initialAnimationDelay() is used for both transitions and an
imations |
| 1083 list->append(cssValuePool().createValue(Animation::initialAnimationDelay
(), CSSPrimitiveValue::CSS_S)); | 1083 list->append(cssValuePool().createValue(PrimitiveAnimation::initialAnima
tionDelay(), CSSPrimitiveValue::CSS_S)); |
| 1084 } | 1084 } |
| 1085 return list.release(); | 1085 return list.release(); |
| 1086 } | 1086 } |
| 1087 | 1087 |
| 1088 static PassRefPtr<CSSValue> getDurationValue(const AnimationList* animList) | 1088 static PassRefPtr<CSSValue> getDurationValue(const AnimationList* animList) |
| 1089 { | 1089 { |
| 1090 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1090 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1091 if (animList) { | 1091 if (animList) { |
| 1092 for (size_t i = 0; i < animList->size(); ++i) | 1092 for (size_t i = 0; i < animList->size(); ++i) |
| 1093 list->append(cssValuePool().createValue(animList->animation(i)->dura
tion(), CSSPrimitiveValue::CSS_S)); | 1093 list->append(cssValuePool().createValue(animList->animation(i)->dura
tion(), CSSPrimitiveValue::CSS_S)); |
| 1094 } else { | 1094 } else { |
| 1095 // Note that initialAnimationDuration() is used for both transitions and
animations | 1095 // Note that initialAnimationDuration() is used for both transitions and
animations |
| 1096 list->append(cssValuePool().createValue(Animation::initialAnimationDurat
ion(), CSSPrimitiveValue::CSS_S)); | 1096 list->append(cssValuePool().createValue(PrimitiveAnimation::initialAnima
tionDuration(), CSSPrimitiveValue::CSS_S)); |
| 1097 } | 1097 } |
| 1098 return list.release(); | 1098 return list.release(); |
| 1099 } | 1099 } |
| 1100 | 1100 |
| 1101 static PassRefPtr<CSSValue> createTimingFunctionValue(const TimingFunction* timi
ngFunction) | 1101 static PassRefPtr<CSSValue> createTimingFunctionValue(const TimingFunction* timi
ngFunction) |
| 1102 { | 1102 { |
| 1103 if (timingFunction->isCubicBezierTimingFunction()) { | 1103 if (timingFunction->isCubicBezierTimingFunction()) { |
| 1104 const CubicBezierTimingFunction* bezierTimingFunction = static_cast<cons
t CubicBezierTimingFunction*>(timingFunction); | 1104 const CubicBezierTimingFunction* bezierTimingFunction = static_cast<cons
t CubicBezierTimingFunction*>(timingFunction); |
| 1105 if (bezierTimingFunction->timingFunctionPreset() != CubicBezierTimingFun
ction::Custom) { | 1105 if (bezierTimingFunction->timingFunctionPreset() != CubicBezierTimingFun
ction::Custom) { |
| 1106 CSSValueID valueId = CSSValueInvalid; | 1106 CSSValueID valueId = CSSValueInvalid; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1135 } | 1135 } |
| 1136 | 1136 |
| 1137 static PassRefPtr<CSSValue> getTimingFunctionValue(const AnimationList* animList
) | 1137 static PassRefPtr<CSSValue> getTimingFunctionValue(const AnimationList* animList
) |
| 1138 { | 1138 { |
| 1139 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1139 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1140 if (animList) { | 1140 if (animList) { |
| 1141 for (size_t i = 0; i < animList->size(); ++i) | 1141 for (size_t i = 0; i < animList->size(); ++i) |
| 1142 list->append(createTimingFunctionValue(animList->animation(i)->timin
gFunction().get())); | 1142 list->append(createTimingFunctionValue(animList->animation(i)->timin
gFunction().get())); |
| 1143 } else | 1143 } else |
| 1144 // Note that initialAnimationTimingFunction() is used for both transitio
ns and animations | 1144 // Note that initialAnimationTimingFunction() is used for both transitio
ns and animations |
| 1145 list->append(createTimingFunctionValue(Animation::initialAnimationTiming
Function().get())); | 1145 list->append(createTimingFunctionValue(PrimitiveAnimation::initialAnimat
ionTimingFunction().get())); |
| 1146 return list.release(); | 1146 return list.release(); |
| 1147 } | 1147 } |
| 1148 | 1148 |
| 1149 static PassRefPtr<CSSValue> createLineBoxContainValue(unsigned lineBoxContain) | 1149 static PassRefPtr<CSSValue> createLineBoxContainValue(unsigned lineBoxContain) |
| 1150 { | 1150 { |
| 1151 if (!lineBoxContain) | 1151 if (!lineBoxContain) |
| 1152 return cssValuePool().createIdentifierValue(CSSValueNone); | 1152 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 1153 return CSSLineBoxContainValue::create(lineBoxContain); | 1153 return CSSLineBoxContainValue::create(lineBoxContain); |
| 1154 } | 1154 } |
| 1155 | 1155 |
| (...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2318 } else | 2318 } else |
| 2319 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 2319 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| 2320 return list.release(); | 2320 return list.release(); |
| 2321 } | 2321 } |
| 2322 case CSSPropertyWebkitAnimationIterationCount: { | 2322 case CSSPropertyWebkitAnimationIterationCount: { |
| 2323 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 2323 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 2324 const AnimationList* t = style->animations(); | 2324 const AnimationList* t = style->animations(); |
| 2325 if (t) { | 2325 if (t) { |
| 2326 for (size_t i = 0; i < t->size(); ++i) { | 2326 for (size_t i = 0; i < t->size(); ++i) { |
| 2327 double iterationCount = t->animation(i)->iterationCount(); | 2327 double iterationCount = t->animation(i)->iterationCount(); |
| 2328 if (iterationCount == Animation::IterationCountInfinite) | 2328 if (iterationCount == PrimitiveAnimation::IterationCountInfi
nite) |
| 2329 list->append(cssValuePool().createIdentifierValue(CSSVal
ueInfinite)); | 2329 list->append(cssValuePool().createIdentifierValue(CSSVal
ueInfinite)); |
| 2330 else | 2330 else |
| 2331 list->append(cssValuePool().createValue(iterationCount,
CSSPrimitiveValue::CSS_NUMBER)); | 2331 list->append(cssValuePool().createValue(iterationCount,
CSSPrimitiveValue::CSS_NUMBER)); |
| 2332 } | 2332 } |
| 2333 } else | 2333 } else |
| 2334 list->append(cssValuePool().createValue(Animation::initialAnimat
ionIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); | 2334 list->append(cssValuePool().createValue(PrimitiveAnimation::init
ialAnimationIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); |
| 2335 return list.release(); | 2335 return list.release(); |
| 2336 } | 2336 } |
| 2337 case CSSPropertyWebkitAnimationName: { | 2337 case CSSPropertyWebkitAnimationName: { |
| 2338 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 2338 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 2339 const AnimationList* t = style->animations(); | 2339 const AnimationList* t = style->animations(); |
| 2340 if (t) { | 2340 if (t) { |
| 2341 for (size_t i = 0; i < t->size(); ++i) | 2341 for (size_t i = 0; i < t->size(); ++i) |
| 2342 list->append(cssValuePool().createValue(t->animation(i)->nam
e(), CSSPrimitiveValue::CSS_STRING)); | 2342 list->append(cssValuePool().createValue(t->animation(i)->nam
e(), CSSPrimitiveValue::CSS_STRING)); |
| 2343 } else | 2343 } else |
| 2344 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 2344 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2494 case CSSPropertyTransitionTimingFunction: | 2494 case CSSPropertyTransitionTimingFunction: |
| 2495 case CSSPropertyWebkitTransitionTimingFunction: | 2495 case CSSPropertyWebkitTransitionTimingFunction: |
| 2496 return getTimingFunctionValue(style->transitions()); | 2496 return getTimingFunctionValue(style->transitions()); |
| 2497 case CSSPropertyTransition: | 2497 case CSSPropertyTransition: |
| 2498 case CSSPropertyWebkitTransition: { | 2498 case CSSPropertyWebkitTransition: { |
| 2499 const AnimationList* animList = style->transitions(); | 2499 const AnimationList* animList = style->transitions(); |
| 2500 if (animList) { | 2500 if (animList) { |
| 2501 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); | 2501 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); |
| 2502 for (size_t i = 0; i < animList->size(); ++i) { | 2502 for (size_t i = 0; i < animList->size(); ++i) { |
| 2503 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 2503 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 2504 const Animation* animation = animList->animation(i); | 2504 const PrimitiveAnimation* animation = animList->animation(i)
; |
| 2505 list->append(createTransitionPropertyValue(animation)); | 2505 list->append(createTransitionPropertyValue(animation)); |
| 2506 list->append(cssValuePool().createValue(animation->duration(
), CSSPrimitiveValue::CSS_S)); | 2506 list->append(cssValuePool().createValue(animation->duration(
), CSSPrimitiveValue::CSS_S)); |
| 2507 list->append(createTimingFunctionValue(animation->timingFunc
tion().get())); | 2507 list->append(createTimingFunctionValue(animation->timingFunc
tion().get())); |
| 2508 list->append(cssValuePool().createValue(animation->delay(),
CSSPrimitiveValue::CSS_S)); | 2508 list->append(cssValuePool().createValue(animation->delay(),
CSSPrimitiveValue::CSS_S)); |
| 2509 transitionsList->append(list); | 2509 transitionsList->append(list); |
| 2510 } | 2510 } |
| 2511 return transitionsList.release(); | 2511 return transitionsList.release(); |
| 2512 } | 2512 } |
| 2513 | 2513 |
| 2514 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 2514 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 2515 // transition-property default value. | 2515 // transition-property default value. |
| 2516 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); | 2516 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); |
| 2517 list->append(cssValuePool().createValue(Animation::initialAnimationD
uration(), CSSPrimitiveValue::CSS_S)); | 2517 list->append(cssValuePool().createValue(PrimitiveAnimation::initialA
nimationDuration(), CSSPrimitiveValue::CSS_S)); |
| 2518 list->append(createTimingFunctionValue(Animation::initialAnimationTi
mingFunction().get())); | 2518 list->append(createTimingFunctionValue(PrimitiveAnimation::initialAn
imationTimingFunction().get())); |
| 2519 list->append(cssValuePool().createValue(Animation::initialAnimationD
elay(), CSSPrimitiveValue::CSS_S)); | 2519 list->append(cssValuePool().createValue(PrimitiveAnimation::initialA
nimationDelay(), CSSPrimitiveValue::CSS_S)); |
| 2520 return list.release(); | 2520 return list.release(); |
| 2521 } | 2521 } |
| 2522 case CSSPropertyPointerEvents: | 2522 case CSSPropertyPointerEvents: |
| 2523 return cssValuePool().createValue(style->pointerEvents()); | 2523 return cssValuePool().createValue(style->pointerEvents()); |
| 2524 case CSSPropertyWebkitColorCorrection: | 2524 case CSSPropertyWebkitColorCorrection: |
| 2525 return cssValuePool().createValue(style->colorSpace()); | 2525 return cssValuePool().createValue(style->colorSpace()); |
| 2526 case CSSPropertyWebkitLineGrid: | 2526 case CSSPropertyWebkitLineGrid: |
| 2527 if (style->lineGrid().isNull()) | 2527 if (style->lineGrid().isNull()) |
| 2528 return cssValuePool().createIdentifierValue(CSSValueNone); | 2528 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2529 return cssValuePool().createValue(style->lineGrid(), CSSPrimitiveVal
ue::CSS_STRING); | 2529 return cssValuePool().createValue(style->lineGrid(), CSSPrimitiveVal
ue::CSS_STRING); |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2994 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, | 2994 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, |
| 2995 CSSPropertyB
ackgroundClip }; | 2995 CSSPropertyB
ackgroundClip }; |
| 2996 | 2996 |
| 2997 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); | 2997 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); |
| 2998 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlashSeperat
or)))); | 2998 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlashSeperat
or)))); |
| 2999 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSeperator
)))); | 2999 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSeperator
)))); |
| 3000 return list.release(); | 3000 return list.release(); |
| 3001 } | 3001 } |
| 3002 | 3002 |
| 3003 } // namespace WebCore | 3003 } // namespace WebCore |
| OLD | NEW |