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 |