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 |