-
zimmermann@webkit.org authored
Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method, forwarding the call to SVGDocumentExtensions, if SVG is enabled. Implemented just like the existing pauseAnimation* methods for CSS animations. * Api/qwebframe.cpp: (qt_drt_pauseSVGAnimation): 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method, forwarding the call to SVGDocumentExtensions, if SVG is enabled. Implemented just like the existing pauseAnimation* methods for CSS animations. * webkit/webkitprivate.h: * webkit/webkitwebframe.cpp: (webkit_web_frame_pause_svg_animation): 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method, forwarding the call to SVGDocumentExtensions, if SVG is enabled. Implemented just like the existing pauseAnimation* methods for CSS animations. * Interfaces/IWebFramePrivate.idl: * WebFrame.cpp: (WebFrame::pauseSVGAnimation): * WebFrame.h: 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method, forwarding the call to SVGDocumentExtensions, if SVG is enabled. Implemented just like the existing pauseAnimation* methods for CSS animations. * WebView/WebFrame.mm: (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]): * WebView/WebFramePrivate.h: 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController, for the use within the new SVG animation test framework (LayoutTests/svg/animations/) layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>); to sample a svg animateMotion/animateColor/animate/set element at certain times. After the desired SVG animation starts and calling the method above, it's immediately forwarded to the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method a callback is fired used to sample the animation value at the target time. It's modelled similar to the CSS animation/transition testing framework, inspired by LayoutTests/animations/animation-test-helpers.js. Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only. Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal interaction, while animating. Test: svg/animations/animVal-basics.html * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::sampleAnimationAtTime): * svg/SVGDocumentExtensions.h: * svg/animation/SMILTimeContainer.cpp: (WebCore::SMILTimeContainer::SMILTimeContainer): (WebCore::SMILTimeContainer::sampleAnimationAtTime): (WebCore::SMILTimeContainer::updateAnimations): * svg/animation/SMILTimeContainer.h: 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add LayoutTests/svg/animations directory, containing a new framework for SVG animation test with sampling at certain times. Added one example test, which will be extended soon to cover animVal support, once basic support has been implemented. * svg/animations: Added. * svg/animations/animVal-basics-expected.txt: Added. * svg/animations/animVal-basics.html: Added. * svg/animations/resources: Added. * svg/animations/resources/SVGAnimationTestCase.js: Added. (isCloseEnough): (moveAnimationTimelineAndSample): (startTest): (sampleAnimation): (runAnimationTest): * svg/animations/script-tests: Added. * svg/animations/script-tests/TEMPLATE.html: Added. * svg/animations/script-tests/animVal-basics.js: Added. (sample1): (sample2): (sample3): (executeTest): 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add new 'sampleSVGAnimationForElementAtTime' DRT method, used by the new SVG animation testing framework, implemented for qt/gtk/win/mac. * DumpRenderTree/LayoutTestController.cpp: (sampleSVGAnimationForElementAtTimeCallback): (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::sampleSVGAnimationForElementAtTime): * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::sampleSVGAnimationForElementAtTime): * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::sampleSVGAnimationForElementAtTime): * DumpRenderTree/qt/LayoutTestControllerQt.h: * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::sampleSVGAnimationForElementAtTime): * DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::sampleSVGAnimationForElementAtTime): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
840d1766