haikuwebkit/LayoutTests/svg/animations/svglengthlist-animation-2-e...

53 lines
1.9 KiB
Plaintext
Raw Permalink Normal View History

2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
SVG 1.1 dynamic animation tests
ABCD
Test 'to' animation of SVGLengthList with different LengthTypes.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Enable animVal support for SVGLengthList https://bugs.webkit.org/show_bug.cgi?id=80750 Reviewed by Zoltan Herczeg. Source/WebCore: Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList. Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedLengthList.cpp: (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy): (WebCore): * svg/SVGAnimatedLengthList.h: (WebCore): (SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: (WebCore::SVGAnimatedType::supportsAnimVal): (WebCore::SVGAnimatedType::setVariantValue): * svg/SVGAnimatedType.h: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::applyAnimatedValue): * svg/properties/SVGAnimatedListPropertyTearOff.h: (SVGAnimatedListPropertyTearOff): (WebCore::SVGAnimatedListPropertyTearOff::baseVal): (WebCore::SVGAnimatedListPropertyTearOff::animVal): (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers): (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue): (WebCore::SVGAnimatedListPropertyTearOff::animationStarted): (WebCore::SVGAnimatedListPropertyTearOff::animationEnded): (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded): (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::isAnimating): (SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::animationValueWillChange): (WebCore::SVGAnimatedProperty::animationValueDidChange): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): * svg/properties/SVGAnimatedPropertyTearOff.h: (SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedPropertyTearOff::animationStarted): (WebCore::SVGAnimatedPropertyTearOff::animationEnded): (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::detachListWrappers): (SVGListProperty): (WebCore::SVGListProperty::setValuesAndWrappers): (WebCore::SVGListProperty::clearValues): (WebCore::SVGListProperty::clearValuesAndWrappers): (WebCore::SVGListProperty::numberOfItems): (WebCore::SVGListProperty::initializeValues): (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::canGetItem): (WebCore::SVGListProperty::getItemValues): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValues): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::canReplaceItem): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::canRemoveItem): (WebCore::SVGListProperty::removeItemValues): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValues): (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::values): (WebCore::SVGListProperty::wrappers): (WebCore::SVGListProperty::SVGListProperty): * svg/properties/SVGListPropertyTearOff.h: (SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::removeItemFromList): (WebCore::SVGListPropertyTearOff::clear): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::appendItem): (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::commitChange): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::clear): (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::clear): (WebCore::SVGStaticListPropertyTearOff::initialize): (WebCore::SVGStaticListPropertyTearOff::getItem): (WebCore::SVGStaticListPropertyTearOff::insertItemBefore): (WebCore::SVGStaticListPropertyTearOff::replaceItem): (WebCore::SVGStaticListPropertyTearOff::removeItem): (WebCore::SVGStaticListPropertyTearOff::appendItem): (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::commitChange): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): LayoutTests: Update test expectations after turning on animVal support for SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample1): (sample2): (sample3): * svg/animations/svglengthlist-animation-1-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svglengthlist-animation-3-expected.txt: * svg/animations/svglengthlist-animation-4-expected.txt: * svg/animations/svglengthlist-animation-5-expected.txt: Canonical link: https://commits.webkit.org/98397@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-15 10:00:04 +00:00
PASS text.x.animVal.numberOfItems is 4
2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
PASS text.x.animVal.getItem(0).value is 50
PASS text.x.animVal.getItem(1).value is 70
PASS text.x.animVal.getItem(2).value is 90
PASS text.x.animVal.getItem(3).value is 110
Enable animVal support for SVGLengthList https://bugs.webkit.org/show_bug.cgi?id=80750 Reviewed by Zoltan Herczeg. Source/WebCore: Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList. Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedLengthList.cpp: (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy): (WebCore): * svg/SVGAnimatedLengthList.h: (WebCore): (SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: (WebCore::SVGAnimatedType::supportsAnimVal): (WebCore::SVGAnimatedType::setVariantValue): * svg/SVGAnimatedType.h: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::applyAnimatedValue): * svg/properties/SVGAnimatedListPropertyTearOff.h: (SVGAnimatedListPropertyTearOff): (WebCore::SVGAnimatedListPropertyTearOff::baseVal): (WebCore::SVGAnimatedListPropertyTearOff::animVal): (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers): (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue): (WebCore::SVGAnimatedListPropertyTearOff::animationStarted): (WebCore::SVGAnimatedListPropertyTearOff::animationEnded): (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded): (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::isAnimating): (SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::animationValueWillChange): (WebCore::SVGAnimatedProperty::animationValueDidChange): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): * svg/properties/SVGAnimatedPropertyTearOff.h: (SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedPropertyTearOff::animationStarted): (WebCore::SVGAnimatedPropertyTearOff::animationEnded): (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::detachListWrappers): (SVGListProperty): (WebCore::SVGListProperty::setValuesAndWrappers): (WebCore::SVGListProperty::clearValues): (WebCore::SVGListProperty::clearValuesAndWrappers): (WebCore::SVGListProperty::numberOfItems): (WebCore::SVGListProperty::initializeValues): (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::canGetItem): (WebCore::SVGListProperty::getItemValues): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValues): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::canReplaceItem): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::canRemoveItem): (WebCore::SVGListProperty::removeItemValues): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValues): (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::values): (WebCore::SVGListProperty::wrappers): (WebCore::SVGListProperty::SVGListProperty): * svg/properties/SVGListPropertyTearOff.h: (SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::removeItemFromList): (WebCore::SVGListPropertyTearOff::clear): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::appendItem): (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::commitChange): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::clear): (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::clear): (WebCore::SVGStaticListPropertyTearOff::initialize): (WebCore::SVGStaticListPropertyTearOff::getItem): (WebCore::SVGStaticListPropertyTearOff::insertItemBefore): (WebCore::SVGStaticListPropertyTearOff::replaceItem): (WebCore::SVGStaticListPropertyTearOff::removeItem): (WebCore::SVGStaticListPropertyTearOff::appendItem): (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::commitChange): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): LayoutTests: Update test expectations after turning on animVal support for SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample1): (sample2): (sample3): * svg/animations/svglengthlist-animation-1-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svglengthlist-animation-3-expected.txt: * svg/animations/svglengthlist-animation-4-expected.txt: * svg/animations/svglengthlist-animation-5-expected.txt: Canonical link: https://commits.webkit.org/98397@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-15 10:00:04 +00:00
PASS text.x.baseVal.numberOfItems is 4
PASS text.x.baseVal.getItem(0).value is 50
PASS text.x.baseVal.getItem(1).value is 70
PASS text.x.baseVal.getItem(2).value is 90
PASS text.x.baseVal.getItem(3).value is 110
PASS text.x.animVal.numberOfItems is 4
2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
PASS text.x.animVal.getItem(0).value is 81.7
PASS text.x.animVal.getItem(1).value is 75
2012-02-14 Nikolas Zimmermann <nzimmermann@rim.com> Convert svg/animations to use SMIL methods for driving the timeline https://bugs.webkit.org/show_bug.cgi?id=78422 Rubber-stamped by Simon Hausmann. Further cleanup of the svg/animation tests. Always use "0.001" as sampling time for "just-after-anim-begin" instead of 0.1/0.01 variations. Use "3.999" as "just-before-anim-end" time instead of 3.9/3.99 variations. Use a default tolerance of 0.1, instead of the strict 0.01, to avoid having to expect values like "199.98". Use "200" instead. That doesn't reduce the value of any of the tests, but its likely to be more stable. Changed some real-quick running animamtions to have a higher duration. This minimizes the sampling time error when sampling the animation right after it started (svg/animation/*nested-transforms*). This doesn't affect the runtime of the tests at all, as we manually drive the timeline anyways. Always use shouldBe() instead of shouldBeCloseEnough() if the sampling time is an integer, like 2.0 for animations that eg. animate x from 0 to 200. Sampling exactly at 2.0, yields 100, so there's no need to check for equal with tolerance. * platform/chromium/test_expectations.txt: * svg/animations/animate-calcMode-spline-by-expected.txt: * svg/animations/animate-calcMode-spline-from-by-expected.txt: * svg/animations/animate-calcMode-spline-from-to-expected.txt: * svg/animations/animate-calcMode-spline-to-expected.txt: * svg/animations/animate-calcMode-spline-values-expected.txt: * svg/animations/animate-path-animation-Cc-Ss-expected.txt: * svg/animations/animate-path-animation-Ll-Vv-Hh-expected.txt: * svg/animations/animate-path-animation-cC-sS-inverse-expected.txt: * svg/animations/animate-path-animation-lL-vV-hH-inverse-expected.txt: * svg/animations/animate-path-nested-transforms-expected.txt: * svg/animations/animate-path-to-animation-expected.txt: * svg/animations/animate-text-nested-transforms-expected.txt: * svg/animations/resources/SVGAnimationTestCase.js: (shouldBeCloseEnough): * svg/animations/script-tests/animVal-basics.js: (sample3): * svg/animations/script-tests/animate-calcMode-spline-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-values.js: (sample2): (sample3): * svg/animations/script-tests/animate-color-rgba-calcMode-discrete.js: (executeTest): * svg/animations/script-tests/animate-dynamic-update-attributeName.js: (executeTest): * svg/animations/script-tests/animate-end-attribute.js: (sample3): * svg/animations/script-tests/animate-mpath-insert.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-animation-Cc-Ss.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Ll-Vv-Hh.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Qq-Tt.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-cC-sS-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-lL-vV-hH-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-qQ-tT-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-to-animation.js: (sample2): (sample3): * svg/animations/script-tests/animate-text-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animateTransform-pattern-transform.js: (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svginteger-animation-1.js: (sample3): * svg/animations/script-tests/svglength-animation-LengthModeHeight.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeOther.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeWidth.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-number-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-cm.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-ems.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-exs.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-in.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pc.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-percentage.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pt.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-px.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-values.js: (sample2): (sample3): (sample4): (sample5): * svg/animations/script-tests/svglengthlist-animation-1.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample3): * svg/animations/script-tests/svgnumber-animation-1.js: (sample3): * svg/animations/script-tests/svgnumber-animation-2.js: (sample3): * svg/animations/script-tests/svgnumberlist-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-4.js: (sample2): (sample3): * svg/animations/script-tests/svgpath-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgpointlist-animation-1.js: (sample3): * svg/animations/script-tests/svgpointlist-animation-2.js: (sample3): * svg/animations/script-tests/svgrect-animation-1.js: (sample3): * svg/animations/script-tests/svgrect-animation-2.js: (sample3): * svg/animations/script-tests/svgtransform-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svgtransform-animation-discrete.js: (sample1): (sample2): (sample3): * svg/animations/svgangle-animation-deg-to-grad-expected.txt: * svg/animations/svgangle-animation-deg-to-rad-expected.txt: * svg/animations/svgangle-animation-grad-to-deg-expected.txt: * svg/animations/svgangle-animation-grad-to-rad-expected.txt: * svg/animations/svgangle-animation-rad-to-deg-expected.txt: * svg/animations/svgangle-animation-rad-to-grad-expected.txt: * svg/animations/svglength-animation-LengthModeHeight-expected.txt: * svg/animations/svglength-animation-LengthModeOther-expected.txt: * svg/animations/svglength-animation-LengthModeWidth-expected.txt: * svg/animations/svglength-animation-number-to-number-expected.txt: * svg/animations/svglength-animation-px-to-cm-expected.txt: * svg/animations/svglength-animation-px-to-ems-expected.txt: * svg/animations/svglength-animation-px-to-exs-expected.txt: * svg/animations/svglength-animation-px-to-in-expected.txt: * svg/animations/svglength-animation-px-to-number-expected.txt: * svg/animations/svglength-animation-px-to-pc-expected.txt: * svg/animations/svglength-animation-px-to-percentage-expected.txt: * svg/animations/svglength-animation-px-to-pt-expected.txt: * svg/animations/svglength-animation-px-to-px-expected.txt: * svg/animations/svglength-animation-values-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svgnumberlist-animation-1-expected.txt: * svg/animations/svgnumberlist-animation-2-expected.txt: * svg/animations/svgpath-animation-1-expected.txt: * svg/animations/svgpointlist-animation-1-expected.txt: * svg/animations/svgpointlist-animation-2-expected.txt: * svg/animations/svgrect-animation-1-expected.txt: * svg/animations/svgrect-animation-2-expected.txt: * svg/animations/svgtransform-animation-1-expected.txt: Canonical link: https://commits.webkit.org/95633@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-02-15 08:59:37 +00:00
PASS text.x.animVal.getItem(2).value is 144.5
PASS text.x.animVal.getItem(3).value is 197.3
Enable animVal support for SVGLengthList https://bugs.webkit.org/show_bug.cgi?id=80750 Reviewed by Zoltan Herczeg. Source/WebCore: Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList. Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedLengthList.cpp: (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy): (WebCore): * svg/SVGAnimatedLengthList.h: (WebCore): (SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: (WebCore::SVGAnimatedType::supportsAnimVal): (WebCore::SVGAnimatedType::setVariantValue): * svg/SVGAnimatedType.h: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::applyAnimatedValue): * svg/properties/SVGAnimatedListPropertyTearOff.h: (SVGAnimatedListPropertyTearOff): (WebCore::SVGAnimatedListPropertyTearOff::baseVal): (WebCore::SVGAnimatedListPropertyTearOff::animVal): (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers): (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue): (WebCore::SVGAnimatedListPropertyTearOff::animationStarted): (WebCore::SVGAnimatedListPropertyTearOff::animationEnded): (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded): (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::isAnimating): (SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::animationValueWillChange): (WebCore::SVGAnimatedProperty::animationValueDidChange): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): * svg/properties/SVGAnimatedPropertyTearOff.h: (SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedPropertyTearOff::animationStarted): (WebCore::SVGAnimatedPropertyTearOff::animationEnded): (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::detachListWrappers): (SVGListProperty): (WebCore::SVGListProperty::setValuesAndWrappers): (WebCore::SVGListProperty::clearValues): (WebCore::SVGListProperty::clearValuesAndWrappers): (WebCore::SVGListProperty::numberOfItems): (WebCore::SVGListProperty::initializeValues): (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::canGetItem): (WebCore::SVGListProperty::getItemValues): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValues): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::canReplaceItem): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::canRemoveItem): (WebCore::SVGListProperty::removeItemValues): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValues): (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::values): (WebCore::SVGListProperty::wrappers): (WebCore::SVGListProperty::SVGListProperty): * svg/properties/SVGListPropertyTearOff.h: (SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::removeItemFromList): (WebCore::SVGListPropertyTearOff::clear): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::appendItem): (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::commitChange): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::clear): (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::clear): (WebCore::SVGStaticListPropertyTearOff::initialize): (WebCore::SVGStaticListPropertyTearOff::getItem): (WebCore::SVGStaticListPropertyTearOff::insertItemBefore): (WebCore::SVGStaticListPropertyTearOff::replaceItem): (WebCore::SVGStaticListPropertyTearOff::removeItem): (WebCore::SVGStaticListPropertyTearOff::appendItem): (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::commitChange): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): LayoutTests: Update test expectations after turning on animVal support for SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample1): (sample2): (sample3): * svg/animations/svglengthlist-animation-1-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svglengthlist-animation-3-expected.txt: * svg/animations/svglengthlist-animation-4-expected.txt: * svg/animations/svglengthlist-animation-5-expected.txt: Canonical link: https://commits.webkit.org/98397@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-15 10:00:04 +00:00
PASS text.x.baseVal.numberOfItems is 4
PASS text.x.baseVal.getItem(0).value is 50
PASS text.x.baseVal.getItem(1).value is 70
PASS text.x.baseVal.getItem(2).value is 90
PASS text.x.baseVal.getItem(3).value is 110
PASS text.x.animVal.numberOfItems is 4
2012-02-14 Nikolas Zimmermann <nzimmermann@rim.com> Convert svg/animations to use SMIL methods for driving the timeline https://bugs.webkit.org/show_bug.cgi?id=78422 Rubber-stamped by Simon Hausmann. Further cleanup of the svg/animation tests. Always use "0.001" as sampling time for "just-after-anim-begin" instead of 0.1/0.01 variations. Use "3.999" as "just-before-anim-end" time instead of 3.9/3.99 variations. Use a default tolerance of 0.1, instead of the strict 0.01, to avoid having to expect values like "199.98". Use "200" instead. That doesn't reduce the value of any of the tests, but its likely to be more stable. Changed some real-quick running animamtions to have a higher duration. This minimizes the sampling time error when sampling the animation right after it started (svg/animation/*nested-transforms*). This doesn't affect the runtime of the tests at all, as we manually drive the timeline anyways. Always use shouldBe() instead of shouldBeCloseEnough() if the sampling time is an integer, like 2.0 for animations that eg. animate x from 0 to 200. Sampling exactly at 2.0, yields 100, so there's no need to check for equal with tolerance. * platform/chromium/test_expectations.txt: * svg/animations/animate-calcMode-spline-by-expected.txt: * svg/animations/animate-calcMode-spline-from-by-expected.txt: * svg/animations/animate-calcMode-spline-from-to-expected.txt: * svg/animations/animate-calcMode-spline-to-expected.txt: * svg/animations/animate-calcMode-spline-values-expected.txt: * svg/animations/animate-path-animation-Cc-Ss-expected.txt: * svg/animations/animate-path-animation-Ll-Vv-Hh-expected.txt: * svg/animations/animate-path-animation-cC-sS-inverse-expected.txt: * svg/animations/animate-path-animation-lL-vV-hH-inverse-expected.txt: * svg/animations/animate-path-nested-transforms-expected.txt: * svg/animations/animate-path-to-animation-expected.txt: * svg/animations/animate-text-nested-transforms-expected.txt: * svg/animations/resources/SVGAnimationTestCase.js: (shouldBeCloseEnough): * svg/animations/script-tests/animVal-basics.js: (sample3): * svg/animations/script-tests/animate-calcMode-spline-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-values.js: (sample2): (sample3): * svg/animations/script-tests/animate-color-rgba-calcMode-discrete.js: (executeTest): * svg/animations/script-tests/animate-dynamic-update-attributeName.js: (executeTest): * svg/animations/script-tests/animate-end-attribute.js: (sample3): * svg/animations/script-tests/animate-mpath-insert.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-animation-Cc-Ss.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Ll-Vv-Hh.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Qq-Tt.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-cC-sS-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-lL-vV-hH-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-qQ-tT-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-to-animation.js: (sample2): (sample3): * svg/animations/script-tests/animate-text-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animateTransform-pattern-transform.js: (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svginteger-animation-1.js: (sample3): * svg/animations/script-tests/svglength-animation-LengthModeHeight.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeOther.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeWidth.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-number-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-cm.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-ems.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-exs.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-in.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pc.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-percentage.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pt.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-px.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-values.js: (sample2): (sample3): (sample4): (sample5): * svg/animations/script-tests/svglengthlist-animation-1.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample3): * svg/animations/script-tests/svgnumber-animation-1.js: (sample3): * svg/animations/script-tests/svgnumber-animation-2.js: (sample3): * svg/animations/script-tests/svgnumberlist-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-4.js: (sample2): (sample3): * svg/animations/script-tests/svgpath-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgpointlist-animation-1.js: (sample3): * svg/animations/script-tests/svgpointlist-animation-2.js: (sample3): * svg/animations/script-tests/svgrect-animation-1.js: (sample3): * svg/animations/script-tests/svgrect-animation-2.js: (sample3): * svg/animations/script-tests/svgtransform-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svgtransform-animation-discrete.js: (sample1): (sample2): (sample3): * svg/animations/svgangle-animation-deg-to-grad-expected.txt: * svg/animations/svgangle-animation-deg-to-rad-expected.txt: * svg/animations/svgangle-animation-grad-to-deg-expected.txt: * svg/animations/svgangle-animation-grad-to-rad-expected.txt: * svg/animations/svgangle-animation-rad-to-deg-expected.txt: * svg/animations/svgangle-animation-rad-to-grad-expected.txt: * svg/animations/svglength-animation-LengthModeHeight-expected.txt: * svg/animations/svglength-animation-LengthModeOther-expected.txt: * svg/animations/svglength-animation-LengthModeWidth-expected.txt: * svg/animations/svglength-animation-number-to-number-expected.txt: * svg/animations/svglength-animation-px-to-cm-expected.txt: * svg/animations/svglength-animation-px-to-ems-expected.txt: * svg/animations/svglength-animation-px-to-exs-expected.txt: * svg/animations/svglength-animation-px-to-in-expected.txt: * svg/animations/svglength-animation-px-to-number-expected.txt: * svg/animations/svglength-animation-px-to-pc-expected.txt: * svg/animations/svglength-animation-px-to-percentage-expected.txt: * svg/animations/svglength-animation-px-to-pt-expected.txt: * svg/animations/svglength-animation-px-to-px-expected.txt: * svg/animations/svglength-animation-values-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svgnumberlist-animation-1-expected.txt: * svg/animations/svgnumberlist-animation-2-expected.txt: * svg/animations/svgpath-animation-1-expected.txt: * svg/animations/svgpointlist-animation-1-expected.txt: * svg/animations/svgpointlist-animation-2-expected.txt: * svg/animations/svgrect-animation-1-expected.txt: * svg/animations/svgrect-animation-2-expected.txt: * svg/animations/svgtransform-animation-1-expected.txt: Canonical link: https://commits.webkit.org/95633@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-02-15 08:59:37 +00:00
PASS text.x.animVal.getItem(0).value is 113.4
2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
PASS text.x.animVal.getItem(1).value is 80
2012-02-14 Nikolas Zimmermann <nzimmermann@rim.com> Convert svg/animations to use SMIL methods for driving the timeline https://bugs.webkit.org/show_bug.cgi?id=78422 Rubber-stamped by Simon Hausmann. Further cleanup of the svg/animation tests. Always use "0.001" as sampling time for "just-after-anim-begin" instead of 0.1/0.01 variations. Use "3.999" as "just-before-anim-end" time instead of 3.9/3.99 variations. Use a default tolerance of 0.1, instead of the strict 0.01, to avoid having to expect values like "199.98". Use "200" instead. That doesn't reduce the value of any of the tests, but its likely to be more stable. Changed some real-quick running animamtions to have a higher duration. This minimizes the sampling time error when sampling the animation right after it started (svg/animation/*nested-transforms*). This doesn't affect the runtime of the tests at all, as we manually drive the timeline anyways. Always use shouldBe() instead of shouldBeCloseEnough() if the sampling time is an integer, like 2.0 for animations that eg. animate x from 0 to 200. Sampling exactly at 2.0, yields 100, so there's no need to check for equal with tolerance. * platform/chromium/test_expectations.txt: * svg/animations/animate-calcMode-spline-by-expected.txt: * svg/animations/animate-calcMode-spline-from-by-expected.txt: * svg/animations/animate-calcMode-spline-from-to-expected.txt: * svg/animations/animate-calcMode-spline-to-expected.txt: * svg/animations/animate-calcMode-spline-values-expected.txt: * svg/animations/animate-path-animation-Cc-Ss-expected.txt: * svg/animations/animate-path-animation-Ll-Vv-Hh-expected.txt: * svg/animations/animate-path-animation-cC-sS-inverse-expected.txt: * svg/animations/animate-path-animation-lL-vV-hH-inverse-expected.txt: * svg/animations/animate-path-nested-transforms-expected.txt: * svg/animations/animate-path-to-animation-expected.txt: * svg/animations/animate-text-nested-transforms-expected.txt: * svg/animations/resources/SVGAnimationTestCase.js: (shouldBeCloseEnough): * svg/animations/script-tests/animVal-basics.js: (sample3): * svg/animations/script-tests/animate-calcMode-spline-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-by.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-from-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-to.js: (sample2): (sample3): * svg/animations/script-tests/animate-calcMode-spline-values.js: (sample2): (sample3): * svg/animations/script-tests/animate-color-rgba-calcMode-discrete.js: (executeTest): * svg/animations/script-tests/animate-dynamic-update-attributeName.js: (executeTest): * svg/animations/script-tests/animate-end-attribute.js: (sample3): * svg/animations/script-tests/animate-mpath-insert.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-animation-Cc-Ss.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Ll-Vv-Hh.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-Qq-Tt.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-cC-sS-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-lL-vV-hH-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-animation-qQ-tT-inverse.js: (sample2): (sample3): (sample4): * svg/animations/script-tests/animate-path-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animate-path-to-animation.js: (sample2): (sample3): * svg/animations/script-tests/animate-text-nested-transforms.js: (endSample): (executeTest): * svg/animations/script-tests/animateTransform-pattern-transform.js: (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-deg-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-grad-to-rad.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-deg.js: (sample2): (sample3): * svg/animations/script-tests/svgangle-animation-rad-to-grad.js: (sample2): (sample3): * svg/animations/script-tests/svginteger-animation-1.js: (sample3): * svg/animations/script-tests/svglength-animation-LengthModeHeight.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeOther.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-LengthModeWidth.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-number-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-cm.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-ems.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-exs.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-in.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-number.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pc.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-percentage.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-pt.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-px-to-px.js: (sample2): (sample3): * svg/animations/script-tests/svglength-animation-values.js: (sample2): (sample3): (sample4): (sample5): * svg/animations/script-tests/svglengthlist-animation-1.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample3): * svg/animations/script-tests/svgnumber-animation-1.js: (sample3): * svg/animations/script-tests/svgnumber-animation-2.js: (sample3): * svg/animations/script-tests/svgnumberlist-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberlist-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-2.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-3.js: (sample2): (sample3): * svg/animations/script-tests/svgnumberoptionalnumber-animation-4.js: (sample2): (sample3): * svg/animations/script-tests/svgpath-animation-1.js: (sample2): (sample3): * svg/animations/script-tests/svgpointlist-animation-1.js: (sample3): * svg/animations/script-tests/svgpointlist-animation-2.js: (sample3): * svg/animations/script-tests/svgrect-animation-1.js: (sample3): * svg/animations/script-tests/svgrect-animation-2.js: (sample3): * svg/animations/script-tests/svgtransform-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svgtransform-animation-discrete.js: (sample1): (sample2): (sample3): * svg/animations/svgangle-animation-deg-to-grad-expected.txt: * svg/animations/svgangle-animation-deg-to-rad-expected.txt: * svg/animations/svgangle-animation-grad-to-deg-expected.txt: * svg/animations/svgangle-animation-grad-to-rad-expected.txt: * svg/animations/svgangle-animation-rad-to-deg-expected.txt: * svg/animations/svgangle-animation-rad-to-grad-expected.txt: * svg/animations/svglength-animation-LengthModeHeight-expected.txt: * svg/animations/svglength-animation-LengthModeOther-expected.txt: * svg/animations/svglength-animation-LengthModeWidth-expected.txt: * svg/animations/svglength-animation-number-to-number-expected.txt: * svg/animations/svglength-animation-px-to-cm-expected.txt: * svg/animations/svglength-animation-px-to-ems-expected.txt: * svg/animations/svglength-animation-px-to-exs-expected.txt: * svg/animations/svglength-animation-px-to-in-expected.txt: * svg/animations/svglength-animation-px-to-number-expected.txt: * svg/animations/svglength-animation-px-to-pc-expected.txt: * svg/animations/svglength-animation-px-to-percentage-expected.txt: * svg/animations/svglength-animation-px-to-pt-expected.txt: * svg/animations/svglength-animation-px-to-px-expected.txt: * svg/animations/svglength-animation-values-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svgnumberlist-animation-1-expected.txt: * svg/animations/svgnumberlist-animation-2-expected.txt: * svg/animations/svgpath-animation-1-expected.txt: * svg/animations/svgpointlist-animation-1-expected.txt: * svg/animations/svgpointlist-animation-2-expected.txt: * svg/animations/svgrect-animation-1-expected.txt: * svg/animations/svgrect-animation-2-expected.txt: * svg/animations/svgtransform-animation-1-expected.txt: Canonical link: https://commits.webkit.org/95633@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-02-15 08:59:37 +00:00
PASS text.x.animVal.getItem(2).value is 100
PASS text.x.animVal.getItem(3).value is 384
Enable animVal support for SVGLengthList https://bugs.webkit.org/show_bug.cgi?id=80750 Reviewed by Zoltan Herczeg. Source/WebCore: Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList. Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedLengthList.cpp: (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy): (WebCore): * svg/SVGAnimatedLengthList.h: (WebCore): (SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: (WebCore::SVGAnimatedType::supportsAnimVal): (WebCore::SVGAnimatedType::setVariantValue): * svg/SVGAnimatedType.h: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::applyAnimatedValue): * svg/properties/SVGAnimatedListPropertyTearOff.h: (SVGAnimatedListPropertyTearOff): (WebCore::SVGAnimatedListPropertyTearOff::baseVal): (WebCore::SVGAnimatedListPropertyTearOff::animVal): (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers): (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue): (WebCore::SVGAnimatedListPropertyTearOff::animationStarted): (WebCore::SVGAnimatedListPropertyTearOff::animationEnded): (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded): (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::isAnimating): (SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::animationValueWillChange): (WebCore::SVGAnimatedProperty::animationValueDidChange): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): * svg/properties/SVGAnimatedPropertyTearOff.h: (SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedPropertyTearOff::animationStarted): (WebCore::SVGAnimatedPropertyTearOff::animationEnded): (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::detachListWrappers): (SVGListProperty): (WebCore::SVGListProperty::setValuesAndWrappers): (WebCore::SVGListProperty::clearValues): (WebCore::SVGListProperty::clearValuesAndWrappers): (WebCore::SVGListProperty::numberOfItems): (WebCore::SVGListProperty::initializeValues): (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::canGetItem): (WebCore::SVGListProperty::getItemValues): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValues): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::canReplaceItem): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::canRemoveItem): (WebCore::SVGListProperty::removeItemValues): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValues): (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::values): (WebCore::SVGListProperty::wrappers): (WebCore::SVGListProperty::SVGListProperty): * svg/properties/SVGListPropertyTearOff.h: (SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::removeItemFromList): (WebCore::SVGListPropertyTearOff::clear): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::appendItem): (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::commitChange): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::clear): (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::clear): (WebCore::SVGStaticListPropertyTearOff::initialize): (WebCore::SVGStaticListPropertyTearOff::getItem): (WebCore::SVGStaticListPropertyTearOff::insertItemBefore): (WebCore::SVGStaticListPropertyTearOff::replaceItem): (WebCore::SVGStaticListPropertyTearOff::removeItem): (WebCore::SVGStaticListPropertyTearOff::appendItem): (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::commitChange): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): LayoutTests: Update test expectations after turning on animVal support for SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample1): (sample2): (sample3): * svg/animations/svglengthlist-animation-1-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svglengthlist-animation-3-expected.txt: * svg/animations/svglengthlist-animation-4-expected.txt: * svg/animations/svglengthlist-animation-5-expected.txt: Canonical link: https://commits.webkit.org/98397@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-15 10:00:04 +00:00
PASS text.x.baseVal.numberOfItems is 4
PASS text.x.baseVal.getItem(0).value is 50
PASS text.x.baseVal.getItem(1).value is 70
PASS text.x.baseVal.getItem(2).value is 90
PASS text.x.baseVal.getItem(3).value is 110
PASS text.x.animVal.numberOfItems is 4
2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
PASS text.x.animVal.getItem(0).value is 50
PASS text.x.animVal.getItem(1).value is 70
PASS text.x.animVal.getItem(2).value is 90
PASS text.x.animVal.getItem(3).value is 110
Enable animVal support for SVGLengthList https://bugs.webkit.org/show_bug.cgi?id=80750 Reviewed by Zoltan Herczeg. Source/WebCore: Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList. Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedLengthList.cpp: (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy): (WebCore): * svg/SVGAnimatedLengthList.h: (WebCore): (SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: (WebCore::SVGAnimatedType::supportsAnimVal): (WebCore::SVGAnimatedType::setVariantValue): * svg/SVGAnimatedType.h: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::applyAnimatedValue): * svg/properties/SVGAnimatedListPropertyTearOff.h: (SVGAnimatedListPropertyTearOff): (WebCore::SVGAnimatedListPropertyTearOff::baseVal): (WebCore::SVGAnimatedListPropertyTearOff::animVal): (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers): (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue): (WebCore::SVGAnimatedListPropertyTearOff::animationStarted): (WebCore::SVGAnimatedListPropertyTearOff::animationEnded): (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded): (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::isAnimating): (SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::animationValueWillChange): (WebCore::SVGAnimatedProperty::animationValueDidChange): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): * svg/properties/SVGAnimatedPropertyTearOff.h: (SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue): (WebCore::SVGAnimatedPropertyTearOff::animationStarted): (WebCore::SVGAnimatedPropertyTearOff::animationEnded): (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange): (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::detachListWrappers): (SVGListProperty): (WebCore::SVGListProperty::setValuesAndWrappers): (WebCore::SVGListProperty::clearValues): (WebCore::SVGListProperty::clearValuesAndWrappers): (WebCore::SVGListProperty::numberOfItems): (WebCore::SVGListProperty::initializeValues): (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::canGetItem): (WebCore::SVGListProperty::getItemValues): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValues): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::canReplaceItem): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::canRemoveItem): (WebCore::SVGListProperty::removeItemValues): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValues): (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::values): (WebCore::SVGListProperty::wrappers): (WebCore::SVGListProperty::SVGListProperty): * svg/properties/SVGListPropertyTearOff.h: (SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::removeItemFromList): (WebCore::SVGListPropertyTearOff::clear): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::appendItem): (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff): (WebCore::SVGListPropertyTearOff::commitChange): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::clear): (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::clear): (WebCore::SVGStaticListPropertyTearOff::initialize): (WebCore::SVGStaticListPropertyTearOff::getItem): (WebCore::SVGStaticListPropertyTearOff::insertItemBefore): (WebCore::SVGStaticListPropertyTearOff::replaceItem): (WebCore::SVGStaticListPropertyTearOff::removeItem): (WebCore::SVGStaticListPropertyTearOff::appendItem): (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff): (WebCore::SVGStaticListPropertyTearOff::commitChange): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): LayoutTests: Update test expectations after turning on animVal support for SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-2.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-3.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-4.js: (sample1): (sample2): (sample3): * svg/animations/script-tests/svglengthlist-animation-5.js: (sample1): (sample2): (sample3): * svg/animations/svglengthlist-animation-1-expected.txt: * svg/animations/svglengthlist-animation-2-expected.txt: * svg/animations/svglengthlist-animation-3-expected.txt: * svg/animations/svglengthlist-animation-4-expected.txt: * svg/animations/svglengthlist-animation-5-expected.txt: Canonical link: https://commits.webkit.org/98397@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-15 10:00:04 +00:00
PASS text.x.baseVal.numberOfItems is 4
PASS text.x.baseVal.getItem(0).value is 50
PASS text.x.baseVal.getItem(1).value is 70
PASS text.x.baseVal.getItem(2).value is 90
PASS text.x.baseVal.getItem(3).value is 110
2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Test animations of attributes with type SVGLengthList. * svg/animations/script-tests/svglengthlist-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-2.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-3.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/script-tests/svglengthlist-animation-4.js: Added. (sample1): (sample2): (sample3): (executeTest): * svg/animations/svglengthlist-animation-1-expected.txt: Added. * svg/animations/svglengthlist-animation-1.html: Added. * svg/animations/svglengthlist-animation-2-expected.txt: Added. * svg/animations/svglengthlist-animation-2.html: Added. * svg/animations/svglengthlist-animation-3-expected.txt: Added. * svg/animations/svglengthlist-animation-3.html: Added. * svg/animations/svglengthlist-animation-4-expected.txt: Added. * svg/animations/svglengthlist-animation-4.html: Added. 2011-06-26 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVGAnimatedType should support SVGLengthList animation https://bugs.webkit.org/show_bug.cgi?id=63399 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList. Interpolated animations of glyph positions are possible now. Tests: svg/animations/svglengthlist-animation-1.html svg/animations/svglengthlist-animation-2.html svg/animations/svglengthlist-animation-3.html svg/animations/svglengthlist-animation-4.html * CMakeLists.txt: Add new file to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator): (WebCore::SVGAnimatedLengthListAnimator::constructFromString): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedLengthListAnimator::calculateDistance): * svg/SVGAnimatedLengthList.h: (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator): * svg/SVGAnimatedType.cpp: Add SVGLengthList. (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createLengthList): (WebCore::SVGAnimatedType::lengthList): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value. (WebCore::SVGLength::SVGLength): * svg/SVGLength.h: Canonical link: https://commits.webkit.org/79079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@89783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-06-27 06:16:05 +00:00
PASS successfullyParsed is true
TEST COMPLETE