| 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 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1053 return cssValuePool().createIdentifierValue(CSSValueAuto); | 1053 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 1054 | 1054 |
| 1055 if (position.isInteger()) | 1055 if (position.isInteger()) |
| 1056 return cssValuePool().createValue(position.integerPosition(), CSSPrimiti
veValue::CSS_NUMBER); | 1056 return cssValuePool().createValue(position.integerPosition(), CSSPrimiti
veValue::CSS_NUMBER); |
| 1057 | 1057 |
| 1058 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 1058 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 1059 list->append(cssValuePool().createIdentifierValue(CSSValueSpan)); | 1059 list->append(cssValuePool().createIdentifierValue(CSSValueSpan)); |
| 1060 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrimitiv
eValue::CSS_NUMBER)); | 1060 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrimitiv
eValue::CSS_NUMBER)); |
| 1061 return list; | 1061 return list; |
| 1062 } | 1062 } |
| 1063 static PassRefPtr<CSSValue> createTransitionPropertyValue(const Animation* anima
tion) | 1063 static PassRefPtr<CSSValue> createTransitionPropertyValue(const CSSAnimationData
* animation) |
| 1064 { | 1064 { |
| 1065 RefPtr<CSSValue> propertyValue; | 1065 RefPtr<CSSValue> propertyValue; |
| 1066 if (animation->animationMode() == Animation::AnimateNone) | 1066 if (animation->animationMode() == CSSAnimationData::AnimateNone) |
| 1067 propertyValue = cssValuePool().createIdentifierValue(CSSValueNone); | 1067 propertyValue = cssValuePool().createIdentifierValue(CSSValueNone); |
| 1068 else if (animation->animationMode() == Animation::AnimateAll) | 1068 else if (animation->animationMode() == CSSAnimationData::AnimateAll) |
| 1069 propertyValue = cssValuePool().createIdentifierValue(CSSValueAll); | 1069 propertyValue = cssValuePool().createIdentifierValue(CSSValueAll); |
| 1070 else | 1070 else |
| 1071 propertyValue = cssValuePool().createValue(getPropertyNameString(animati
on->property()), CSSPrimitiveValue::CSS_STRING); | 1071 propertyValue = cssValuePool().createValue(getPropertyNameString(animati
on->property()), CSSPrimitiveValue::CSS_STRING); |
| 1072 return propertyValue.release(); | 1072 return propertyValue.release(); |
| 1073 } | 1073 } |
| 1074 static PassRefPtr<CSSValue> getTransitionPropertyValue(const AnimationList* anim
List) | 1074 static PassRefPtr<CSSValue> getTransitionPropertyValue(const AnimationList* anim
List) |
| 1075 { | 1075 { |
| 1076 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1076 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1077 if (animList) { | 1077 if (animList) { |
| 1078 for (size_t i = 0; i < animList->size(); ++i) | 1078 for (size_t i = 0; i < animList->size(); ++i) |
| 1079 list->append(createTransitionPropertyValue(animList->animation(i))); | 1079 list->append(createTransitionPropertyValue(animList->animation(i))); |
| 1080 } else | 1080 } else |
| 1081 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); | 1081 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); |
| 1082 return list.release(); | 1082 return list.release(); |
| 1083 } | 1083 } |
| 1084 | 1084 |
| 1085 static PassRefPtr<CSSValue> getDelayValue(const AnimationList* animList) | 1085 static PassRefPtr<CSSValue> getDelayValue(const AnimationList* animList) |
| 1086 { | 1086 { |
| 1087 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1087 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1088 if (animList) { | 1088 if (animList) { |
| 1089 for (size_t i = 0; i < animList->size(); ++i) | 1089 for (size_t i = 0; i < animList->size(); ++i) |
| 1090 list->append(cssValuePool().createValue(animList->animation(i)->dela
y(), CSSPrimitiveValue::CSS_S)); | 1090 list->append(cssValuePool().createValue(animList->animation(i)->dela
y(), CSSPrimitiveValue::CSS_S)); |
| 1091 } else { | 1091 } else { |
| 1092 // Note that initialAnimationDelay() is used for both transitions and an
imations | 1092 // Note that initialAnimationDelay() is used for both transitions and an
imations |
| 1093 list->append(cssValuePool().createValue(Animation::initialAnimationDelay
(), CSSPrimitiveValue::CSS_S)); | 1093 list->append(cssValuePool().createValue(CSSAnimationData::initialAnimati
onDelay(), CSSPrimitiveValue::CSS_S)); |
| 1094 } | 1094 } |
| 1095 return list.release(); | 1095 return list.release(); |
| 1096 } | 1096 } |
| 1097 | 1097 |
| 1098 static PassRefPtr<CSSValue> getDurationValue(const AnimationList* animList) | 1098 static PassRefPtr<CSSValue> getDurationValue(const AnimationList* animList) |
| 1099 { | 1099 { |
| 1100 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1100 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1101 if (animList) { | 1101 if (animList) { |
| 1102 for (size_t i = 0; i < animList->size(); ++i) | 1102 for (size_t i = 0; i < animList->size(); ++i) |
| 1103 list->append(cssValuePool().createValue(animList->animation(i)->dura
tion(), CSSPrimitiveValue::CSS_S)); | 1103 list->append(cssValuePool().createValue(animList->animation(i)->dura
tion(), CSSPrimitiveValue::CSS_S)); |
| 1104 } else { | 1104 } else { |
| 1105 // Note that initialAnimationDuration() is used for both transitions and
animations | 1105 // Note that initialAnimationDuration() is used for both transitions and
animations |
| 1106 list->append(cssValuePool().createValue(Animation::initialAnimationDurat
ion(), CSSPrimitiveValue::CSS_S)); | 1106 list->append(cssValuePool().createValue(CSSAnimationData::initialAnimati
onDuration(), CSSPrimitiveValue::CSS_S)); |
| 1107 } | 1107 } |
| 1108 return list.release(); | 1108 return list.release(); |
| 1109 } | 1109 } |
| 1110 | 1110 |
| 1111 static PassRefPtr<CSSValue> createTimingFunctionValue(const TimingFunction* timi
ngFunction) | 1111 static PassRefPtr<CSSValue> createTimingFunctionValue(const TimingFunction* timi
ngFunction) |
| 1112 { | 1112 { |
| 1113 if (timingFunction->isCubicBezierTimingFunction()) { | 1113 if (timingFunction->isCubicBezierTimingFunction()) { |
| 1114 const CubicBezierTimingFunction* bezierTimingFunction = static_cast<cons
t CubicBezierTimingFunction*>(timingFunction); | 1114 const CubicBezierTimingFunction* bezierTimingFunction = static_cast<cons
t CubicBezierTimingFunction*>(timingFunction); |
| 1115 if (bezierTimingFunction->timingFunctionPreset() != CubicBezierTimingFun
ction::Custom) { | 1115 if (bezierTimingFunction->timingFunctionPreset() != CubicBezierTimingFun
ction::Custom) { |
| 1116 CSSValueID valueId = CSSValueInvalid; | 1116 CSSValueID valueId = CSSValueInvalid; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1145 } | 1145 } |
| 1146 | 1146 |
| 1147 static PassRefPtr<CSSValue> getTimingFunctionValue(const AnimationList* animList
) | 1147 static PassRefPtr<CSSValue> getTimingFunctionValue(const AnimationList* animList
) |
| 1148 { | 1148 { |
| 1149 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1149 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1150 if (animList) { | 1150 if (animList) { |
| 1151 for (size_t i = 0; i < animList->size(); ++i) | 1151 for (size_t i = 0; i < animList->size(); ++i) |
| 1152 list->append(createTimingFunctionValue(animList->animation(i)->timin
gFunction().get())); | 1152 list->append(createTimingFunctionValue(animList->animation(i)->timin
gFunction().get())); |
| 1153 } else | 1153 } else |
| 1154 // Note that initialAnimationTimingFunction() is used for both transitio
ns and animations | 1154 // Note that initialAnimationTimingFunction() is used for both transitio
ns and animations |
| 1155 list->append(createTimingFunctionValue(Animation::initialAnimationTiming
Function().get())); | 1155 list->append(createTimingFunctionValue(CSSAnimationData::initialAnimatio
nTimingFunction().get())); |
| 1156 return list.release(); | 1156 return list.release(); |
| 1157 } | 1157 } |
| 1158 | 1158 |
| 1159 static PassRefPtr<CSSValue> createLineBoxContainValue(unsigned lineBoxContain) | 1159 static PassRefPtr<CSSValue> createLineBoxContainValue(unsigned lineBoxContain) |
| 1160 { | 1160 { |
| 1161 if (!lineBoxContain) | 1161 if (!lineBoxContain) |
| 1162 return cssValuePool().createIdentifierValue(CSSValueNone); | 1162 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 1163 return CSSLineBoxContainValue::create(lineBoxContain); | 1163 return CSSLineBoxContainValue::create(lineBoxContain); |
| 1164 } | 1164 } |
| 1165 | 1165 |
| (...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2329 } else | 2329 } else |
| 2330 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 2330 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| 2331 return list.release(); | 2331 return list.release(); |
| 2332 } | 2332 } |
| 2333 case CSSPropertyWebkitAnimationIterationCount: { | 2333 case CSSPropertyWebkitAnimationIterationCount: { |
| 2334 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 2334 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 2335 const AnimationList* t = style->animations(); | 2335 const AnimationList* t = style->animations(); |
| 2336 if (t) { | 2336 if (t) { |
| 2337 for (size_t i = 0; i < t->size(); ++i) { | 2337 for (size_t i = 0; i < t->size(); ++i) { |
| 2338 double iterationCount = t->animation(i)->iterationCount(); | 2338 double iterationCount = t->animation(i)->iterationCount(); |
| 2339 if (iterationCount == Animation::IterationCountInfinite) | 2339 if (iterationCount == CSSAnimationData::IterationCountInfini
te) |
| 2340 list->append(cssValuePool().createIdentifierValue(CSSVal
ueInfinite)); | 2340 list->append(cssValuePool().createIdentifierValue(CSSVal
ueInfinite)); |
| 2341 else | 2341 else |
| 2342 list->append(cssValuePool().createValue(iterationCount,
CSSPrimitiveValue::CSS_NUMBER)); | 2342 list->append(cssValuePool().createValue(iterationCount,
CSSPrimitiveValue::CSS_NUMBER)); |
| 2343 } | 2343 } |
| 2344 } else | 2344 } else |
| 2345 list->append(cssValuePool().createValue(Animation::initialAnimat
ionIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); | 2345 list->append(cssValuePool().createValue(CSSAnimationData::initia
lAnimationIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); |
| 2346 return list.release(); | 2346 return list.release(); |
| 2347 } | 2347 } |
| 2348 case CSSPropertyWebkitAnimationName: { | 2348 case CSSPropertyWebkitAnimationName: { |
| 2349 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 2349 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 2350 const AnimationList* t = style->animations(); | 2350 const AnimationList* t = style->animations(); |
| 2351 if (t) { | 2351 if (t) { |
| 2352 for (size_t i = 0; i < t->size(); ++i) | 2352 for (size_t i = 0; i < t->size(); ++i) |
| 2353 list->append(cssValuePool().createValue(t->animation(i)->nam
e(), CSSPrimitiveValue::CSS_STRING)); | 2353 list->append(cssValuePool().createValue(t->animation(i)->nam
e(), CSSPrimitiveValue::CSS_STRING)); |
| 2354 } else | 2354 } else |
| 2355 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 2355 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2505 case CSSPropertyTransitionTimingFunction: | 2505 case CSSPropertyTransitionTimingFunction: |
| 2506 case CSSPropertyWebkitTransitionTimingFunction: | 2506 case CSSPropertyWebkitTransitionTimingFunction: |
| 2507 return getTimingFunctionValue(style->transitions()); | 2507 return getTimingFunctionValue(style->transitions()); |
| 2508 case CSSPropertyTransition: | 2508 case CSSPropertyTransition: |
| 2509 case CSSPropertyWebkitTransition: { | 2509 case CSSPropertyWebkitTransition: { |
| 2510 const AnimationList* animList = style->transitions(); | 2510 const AnimationList* animList = style->transitions(); |
| 2511 if (animList) { | 2511 if (animList) { |
| 2512 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); | 2512 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); |
| 2513 for (size_t i = 0; i < animList->size(); ++i) { | 2513 for (size_t i = 0; i < animList->size(); ++i) { |
| 2514 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 2514 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 2515 const Animation* animation = animList->animation(i); | 2515 const CSSAnimationData* animation = animList->animation(i); |
| 2516 list->append(createTransitionPropertyValue(animation)); | 2516 list->append(createTransitionPropertyValue(animation)); |
| 2517 list->append(cssValuePool().createValue(animation->duration(
), CSSPrimitiveValue::CSS_S)); | 2517 list->append(cssValuePool().createValue(animation->duration(
), CSSPrimitiveValue::CSS_S)); |
| 2518 list->append(createTimingFunctionValue(animation->timingFunc
tion().get())); | 2518 list->append(createTimingFunctionValue(animation->timingFunc
tion().get())); |
| 2519 list->append(cssValuePool().createValue(animation->delay(),
CSSPrimitiveValue::CSS_S)); | 2519 list->append(cssValuePool().createValue(animation->delay(),
CSSPrimitiveValue::CSS_S)); |
| 2520 transitionsList->append(list); | 2520 transitionsList->append(list); |
| 2521 } | 2521 } |
| 2522 return transitionsList.release(); | 2522 return transitionsList.release(); |
| 2523 } | 2523 } |
| 2524 | 2524 |
| 2525 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 2525 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 2526 // transition-property default value. | 2526 // transition-property default value. |
| 2527 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); | 2527 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); |
| 2528 list->append(cssValuePool().createValue(Animation::initialAnimationD
uration(), CSSPrimitiveValue::CSS_S)); | 2528 list->append(cssValuePool().createValue(CSSAnimationData::initialAni
mationDuration(), CSSPrimitiveValue::CSS_S)); |
| 2529 list->append(createTimingFunctionValue(Animation::initialAnimationTi
mingFunction().get())); | 2529 list->append(createTimingFunctionValue(CSSAnimationData::initialAnim
ationTimingFunction().get())); |
| 2530 list->append(cssValuePool().createValue(Animation::initialAnimationD
elay(), CSSPrimitiveValue::CSS_S)); | 2530 list->append(cssValuePool().createValue(CSSAnimationData::initialAni
mationDelay(), CSSPrimitiveValue::CSS_S)); |
| 2531 return list.release(); | 2531 return list.release(); |
| 2532 } | 2532 } |
| 2533 case CSSPropertyPointerEvents: | 2533 case CSSPropertyPointerEvents: |
| 2534 return cssValuePool().createValue(style->pointerEvents()); | 2534 return cssValuePool().createValue(style->pointerEvents()); |
| 2535 case CSSPropertyWebkitColorCorrection: | 2535 case CSSPropertyWebkitColorCorrection: |
| 2536 return cssValuePool().createValue(style->colorSpace()); | 2536 return cssValuePool().createValue(style->colorSpace()); |
| 2537 case CSSPropertyWebkitLineGrid: | 2537 case CSSPropertyWebkitLineGrid: |
| 2538 if (style->lineGrid().isNull()) | 2538 if (style->lineGrid().isNull()) |
| 2539 return cssValuePool().createIdentifierValue(CSSValueNone); | 2539 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2540 return cssValuePool().createValue(style->lineGrid(), CSSPrimitiveVal
ue::CSS_STRING); | 2540 return cssValuePool().createValue(style->lineGrid(), CSSPrimitiveVal
ue::CSS_STRING); |
| (...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3000 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, | 3000 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, |
| 3001 CSSPropertyB
ackgroundClip }; | 3001 CSSPropertyB
ackgroundClip }; |
| 3002 | 3002 |
| 3003 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); | 3003 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); |
| 3004 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlashSeperat
or)))); | 3004 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlashSeperat
or)))); |
| 3005 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSeperator
)))); | 3005 list->append(getCSSPropertyValuesForShorthandProperties(StylePropertyShortha
nd(propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSeperator
)))); |
| 3006 return list.release(); | 3006 return list.release(); |
| 3007 } | 3007 } |
| 3008 | 3008 |
| 3009 } // namespace WebCore | 3009 } // namespace WebCore |
| OLD | NEW |