| Index: Source/core/css/StyleBuilder.cpp
|
| diff --git a/Source/core/css/StyleBuilder.cpp b/Source/core/css/StyleBuilder.cpp
|
| index 73074d88ae0656f0d449621fc3e5ae7998decd26..fc6c3a5fcacb039013dbb4db81749459d930d94c 100644
|
| --- a/Source/core/css/StyleBuilder.cpp
|
| +++ b/Source/core/css/StyleBuilder.cpp
|
| @@ -1626,33 +1626,33 @@ public:
|
| };
|
|
|
| template <typename T,
|
| - T (CSSAnimationData::*getterFunction)() const,
|
| - void (CSSAnimationData::*setterFunction)(T),
|
| - bool (CSSAnimationData::*testFunction)() const,
|
| - void (CSSAnimationData::*clearFunction)(),
|
| + T (StyleAnimationData::*getterFunction)() const,
|
| + void (StyleAnimationData::*setterFunction)(T),
|
| + bool (StyleAnimationData::*testFunction)() const,
|
| + void (StyleAnimationData::*clearFunction)(),
|
| T (*initialFunction)(),
|
| - void (CSSToStyleMap::*mapFunction)(CSSAnimationData*, CSSValue*),
|
| - CSSAnimationDataList* (RenderStyle::*animationGetterFunction)(),
|
| - const CSSAnimationDataList* (RenderStyle::*immutableAnimationGetterFunction)() const>
|
| + void (CSSToStyleMap::*mapFunction)(StyleAnimationData*, CSSValue*),
|
| + StyleAnimationDataList* (RenderStyle::*animationGetterFunction)(),
|
| + const StyleAnimationDataList* (RenderStyle::*immutableAnimationGetterFunction)() const>
|
| class ApplyPropertyAnimation {
|
| public:
|
| - static void setValue(CSSAnimationData* animation, T value) { (animation->*setterFunction)(value); }
|
| - static T value(const CSSAnimationData* animation) { return (animation->*getterFunction)(); }
|
| - static bool test(const CSSAnimationData* animation) { return (animation->*testFunction)(); }
|
| - static void clear(CSSAnimationData* animation) { (animation->*clearFunction)(); }
|
| + static void setValue(StyleAnimationData* animation, T value) { (animation->*setterFunction)(value); }
|
| + static T value(const StyleAnimationData* animation) { return (animation->*getterFunction)(); }
|
| + static bool test(const StyleAnimationData* animation) { return (animation->*testFunction)(); }
|
| + static void clear(StyleAnimationData* animation) { (animation->*clearFunction)(); }
|
| static T initial() { return (*initialFunction)(); }
|
| - static void map(StyleResolver* styleResolver, CSSAnimationData* animation, CSSValue* value) { (styleResolver->styleMap()->*mapFunction)(animation, value); }
|
| - static CSSAnimationDataList* accessAnimations(RenderStyle* style) { return (style->*animationGetterFunction)(); }
|
| - static const CSSAnimationDataList* animations(RenderStyle* style) { return (style->*immutableAnimationGetterFunction)(); }
|
| + static void map(StyleResolver* styleResolver, StyleAnimationData* animation, CSSValue* value) { (styleResolver->styleMap()->*mapFunction)(animation, value); }
|
| + static StyleAnimationDataList* accessAnimations(RenderStyle* style) { return (style->*animationGetterFunction)(); }
|
| + static const StyleAnimationDataList* animations(RenderStyle* style) { return (style->*immutableAnimationGetterFunction)(); }
|
|
|
| static void applyInheritValue(CSSPropertyID, StyleResolver* styleResolver)
|
| {
|
| - CSSAnimationDataList* list = accessAnimations(styleResolver->style());
|
| - const CSSAnimationDataList* parentList = animations(styleResolver->parentStyle());
|
| + StyleAnimationDataList* list = accessAnimations(styleResolver->style());
|
| + const StyleAnimationDataList* parentList = animations(styleResolver->parentStyle());
|
| size_t i = 0, parentSize = parentList ? parentList->size() : 0;
|
| for ( ; i < parentSize && test(parentList->animation(i)); ++i) {
|
| if (list->size() <= i)
|
| - list->append(CSSAnimationData::create());
|
| + list->append(StyleAnimationData::create());
|
| setValue(list->animation(i), value(parentList->animation(i)));
|
| list->animation(i)->setAnimationMode(parentList->animation(i)->animationMode());
|
| }
|
| @@ -1664,31 +1664,31 @@ public:
|
|
|
| static void applyInitialValue(CSSPropertyID propertyID, StyleResolver* styleResolver)
|
| {
|
| - CSSAnimationDataList* list = accessAnimations(styleResolver->style());
|
| + StyleAnimationDataList* list = accessAnimations(styleResolver->style());
|
| if (list->isEmpty())
|
| - list->append(CSSAnimationData::create());
|
| + list->append(StyleAnimationData::create());
|
| setValue(list->animation(0), initial());
|
| if (propertyID == CSSPropertyWebkitTransitionProperty)
|
| - list->animation(0)->setAnimationMode(CSSAnimationData::AnimateAll);
|
| + list->animation(0)->setAnimationMode(StyleAnimationData::AnimateAll);
|
| for (size_t i = 1; i < list->size(); ++i)
|
| clear(list->animation(i));
|
| }
|
|
|
| static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
|
| {
|
| - CSSAnimationDataList* list = accessAnimations(styleResolver->style());
|
| + StyleAnimationDataList* list = accessAnimations(styleResolver->style());
|
| size_t childIndex = 0;
|
| if (value->isValueList()) {
|
| /* Walk each value and put it into an animation, creating new animations as needed. */
|
| for (CSSValueListIterator i = value; i.hasMore(); i.advance()) {
|
| if (childIndex <= list->size())
|
| - list->append(CSSAnimationData::create());
|
| + list->append(StyleAnimationData::create());
|
| map(styleResolver, list->animation(childIndex), i.value());
|
| ++childIndex;
|
| }
|
| } else {
|
| if (list->isEmpty())
|
| - list->append(CSSAnimationData::create());
|
| + list->append(StyleAnimationData::create());
|
| map(styleResolver, list->animation(childIndex), value);
|
| childIndex = 1;
|
| }
|
| @@ -2144,14 +2144,14 @@ StyleBuilder::StyleBuilder()
|
| setPropertyHandler(CSSPropertyUnicodeBidi, ApplyPropertyDefault<EUnicodeBidi, &RenderStyle::unicodeBidi, EUnicodeBidi, &RenderStyle::setUnicodeBidi, EUnicodeBidi, &RenderStyle::initialUnicodeBidi>::createHandler());
|
| setPropertyHandler(CSSPropertyVerticalAlign, ApplyPropertyVerticalAlign::createHandler());
|
| setPropertyHandler(CSSPropertyVisibility, ApplyPropertyDefault<EVisibility, &RenderStyle::visibility, EVisibility, &RenderStyle::setVisibility, EVisibility, &RenderStyle::initialVisibility>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationDelay, ApplyPropertyAnimation<double, &CSSAnimationData::delay, &CSSAnimationData::setDelay, &CSSAnimationData::isDelaySet, &CSSAnimationData::clearDelay, &CSSAnimationData::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationDirection, ApplyPropertyAnimation<CSSAnimationData::AnimationDirection, &CSSAnimationData::direction, &CSSAnimationData::setDirection, &CSSAnimationData::isDirectionSet, &CSSAnimationData::clearDirection, &CSSAnimationData::initialAnimationDirection, &CSSToStyleMap::mapAnimationDirection, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationDuration, ApplyPropertyAnimation<double, &CSSAnimationData::duration, &CSSAnimationData::setDuration, &CSSAnimationData::isDurationSet, &CSSAnimationData::clearDuration, &CSSAnimationData::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationFillMode, ApplyPropertyAnimation<unsigned, &CSSAnimationData::fillMode, &CSSAnimationData::setFillMode, &CSSAnimationData::isFillModeSet, &CSSAnimationData::clearFillMode, &CSSAnimationData::initialAnimationFillMode, &CSSToStyleMap::mapAnimationFillMode, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationIterationCount, ApplyPropertyAnimation<double, &CSSAnimationData::iterationCount, &CSSAnimationData::setIterationCount, &CSSAnimationData::isIterationCountSet, &CSSAnimationData::clearIterationCount, &CSSAnimationData::initialAnimationIterationCount, &CSSToStyleMap::mapAnimationIterationCount, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationName, ApplyPropertyAnimation<const String&, &CSSAnimationData::name, &CSSAnimationData::setName, &CSSAnimationData::isNameSet, &CSSAnimationData::clearName, &CSSAnimationData::initialAnimationName, &CSSToStyleMap::mapAnimationName, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationPlayState, ApplyPropertyAnimation<EAnimPlayState, &CSSAnimationData::playState, &CSSAnimationData::setPlayState, &CSSAnimationData::isPlayStateSet, &CSSAnimationData::clearPlayState, &CSSAnimationData::initialAnimationPlayState, &CSSToStyleMap::mapAnimationPlayState, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitAnimationTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &CSSAnimationData::timingFunction, &CSSAnimationData::setTimingFunction, &CSSAnimationData::isTimingFunctionSet, &CSSAnimationData::clearTimingFunction, &CSSAnimationData::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationDelay, ApplyPropertyAnimation<double, &StyleAnimationData::delay, &StyleAnimationData::setDelay, &StyleAnimationData::isDelaySet, &StyleAnimationData::clearDelay, &StyleAnimationData::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationDirection, ApplyPropertyAnimation<StyleAnimationData::AnimationDirection, &StyleAnimationData::direction, &StyleAnimationData::setDirection, &StyleAnimationData::isDirectionSet, &StyleAnimationData::clearDirection, &StyleAnimationData::initialAnimationDirection, &CSSToStyleMap::mapAnimationDirection, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationDuration, ApplyPropertyAnimation<double, &StyleAnimationData::duration, &StyleAnimationData::setDuration, &StyleAnimationData::isDurationSet, &StyleAnimationData::clearDuration, &StyleAnimationData::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationFillMode, ApplyPropertyAnimation<unsigned, &StyleAnimationData::fillMode, &StyleAnimationData::setFillMode, &StyleAnimationData::isFillModeSet, &StyleAnimationData::clearFillMode, &StyleAnimationData::initialAnimationFillMode, &CSSToStyleMap::mapAnimationFillMode, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationIterationCount, ApplyPropertyAnimation<double, &StyleAnimationData::iterationCount, &StyleAnimationData::setIterationCount, &StyleAnimationData::isIterationCountSet, &StyleAnimationData::clearIterationCount, &StyleAnimationData::initialAnimationIterationCount, &CSSToStyleMap::mapAnimationIterationCount, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationName, ApplyPropertyAnimation<const String&, &StyleAnimationData::name, &StyleAnimationData::setName, &StyleAnimationData::isNameSet, &StyleAnimationData::clearName, &StyleAnimationData::initialAnimationName, &CSSToStyleMap::mapAnimationName, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationPlayState, ApplyPropertyAnimation<EAnimPlayState, &StyleAnimationData::playState, &StyleAnimationData::setPlayState, &StyleAnimationData::isPlayStateSet, &StyleAnimationData::clearPlayState, &StyleAnimationData::initialAnimationPlayState, &CSSToStyleMap::mapAnimationPlayState, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitAnimationTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &StyleAnimationData::timingFunction, &StyleAnimationData::setTimingFunction, &StyleAnimationData::isTimingFunctionSet, &StyleAnimationData::clearTimingFunction, &StyleAnimationData::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitAppearance, ApplyPropertyDefault<ControlPart, &RenderStyle::appearance, ControlPart, &RenderStyle::setAppearance, ControlPart, &RenderStyle::initialAppearance>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitAspectRatio, ApplyPropertyAspectRatio::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitBackfaceVisibility, ApplyPropertyDefault<EBackfaceVisibility, &RenderStyle::backfaceVisibility, EBackfaceVisibility, &RenderStyle::setBackfaceVisibility, EBackfaceVisibility, &RenderStyle::initialBackfaceVisibility>::createHandler());
|
| @@ -2264,10 +2264,10 @@ StyleBuilder::StyleBuilder()
|
| setPropertyHandler(CSSPropertyWebkitTransformOriginY, ApplyPropertyLength<&RenderStyle::transformOriginY, &RenderStyle::setTransformOriginY, &RenderStyle::initialTransformOriginY>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitTransformOriginZ, ApplyPropertyComputeLength<float, &RenderStyle::transformOriginZ, &RenderStyle::setTransformOriginZ, &RenderStyle::initialTransformOriginZ>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitTransformStyle, ApplyPropertyDefault<ETransformStyle3D, &RenderStyle::transformStyle3D, ETransformStyle3D, &RenderStyle::setTransformStyle3D, ETransformStyle3D, &RenderStyle::initialTransformStyle3D>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitTransitionDelay, ApplyPropertyAnimation<double, &CSSAnimationData::delay, &CSSAnimationData::setDelay, &CSSAnimationData::isDelaySet, &CSSAnimationData::clearDelay, &CSSAnimationData::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitTransitionDuration, ApplyPropertyAnimation<double, &CSSAnimationData::duration, &CSSAnimationData::setDuration, &CSSAnimationData::isDurationSet, &CSSAnimationData::clearDuration, &CSSAnimationData::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitTransitionProperty, ApplyPropertyAnimation<CSSPropertyID, &CSSAnimationData::property, &CSSAnimationData::setProperty, &CSSAnimationData::isPropertySet, &CSSAnimationData::clearProperty, &CSSAnimationData::initialAnimationProperty, &CSSToStyleMap::mapAnimationProperty, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| - setPropertyHandler(CSSPropertyWebkitTransitionTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &CSSAnimationData::timingFunction, &CSSAnimationData::setTimingFunction, &CSSAnimationData::isTimingFunctionSet, &CSSAnimationData::clearTimingFunction, &CSSAnimationData::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitTransitionDelay, ApplyPropertyAnimation<double, &StyleAnimationData::delay, &StyleAnimationData::setDelay, &StyleAnimationData::isDelaySet, &StyleAnimationData::clearDelay, &StyleAnimationData::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitTransitionDuration, ApplyPropertyAnimation<double, &StyleAnimationData::duration, &StyleAnimationData::setDuration, &StyleAnimationData::isDurationSet, &StyleAnimationData::clearDuration, &StyleAnimationData::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitTransitionProperty, ApplyPropertyAnimation<CSSPropertyID, &StyleAnimationData::property, &StyleAnimationData::setProperty, &StyleAnimationData::isPropertySet, &StyleAnimationData::clearProperty, &StyleAnimationData::initialAnimationProperty, &CSSToStyleMap::mapAnimationProperty, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| + setPropertyHandler(CSSPropertyWebkitTransitionTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &StyleAnimationData::timingFunction, &StyleAnimationData::setTimingFunction, &StyleAnimationData::isTimingFunctionSet, &StyleAnimationData::clearTimingFunction, &StyleAnimationData::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitUserDrag, ApplyPropertyDefault<EUserDrag, &RenderStyle::userDrag, EUserDrag, &RenderStyle::setUserDrag, EUserDrag, &RenderStyle::initialUserDrag>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitUserModify, ApplyPropertyDefault<EUserModify, &RenderStyle::userModify, EUserModify, &RenderStyle::setUserModify, EUserModify, &RenderStyle::initialUserModify>::createHandler());
|
| setPropertyHandler(CSSPropertyWebkitUserSelect, ApplyPropertyDefault<EUserSelect, &RenderStyle::userSelect, EUserSelect, &RenderStyle::setUserSelect, EUserSelect, &RenderStyle::initialUserSelect>::createHandler());
|
|
|