[chromium] Create a base-class CCAnimation to represent compositor animations
https://bugs.webkit.org/show_bug.cgi?id=73233
Source/WebCore:
Adds a kernel for running animations on the chromium compositor
thread.
Patch by Ian Vollick <vollick@chromium.org> on 2012-01-18
Reviewed by Kenneth Russell.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCActiveAnimation.cpp: Added.
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::isFinishedAt):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
* platform/graphics/chromium/cc/CCActiveAnimation.h: Added.
(WebCore::CCActiveAnimation::create):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::group):
(WebCore::CCActiveAnimation::targetProperty):
(WebCore::CCActiveAnimation::runState):
(WebCore::CCActiveAnimation::iterations):
(WebCore::CCActiveAnimation::setIterations):
(WebCore::CCActiveAnimation::startTime):
(WebCore::CCActiveAnimation::setStartTime):
(WebCore::CCActiveAnimation::isFinished):
(WebCore::CCActiveAnimation::animationCurve):
* platform/graphics/chromium/cc/CCAnimationCurve.cpp: Added.
(WebCore::CCAnimationCurve::toFloatAnimationCurve):
(WebCore::CCAnimationCurve::toTransformAnimationCurve):
* platform/graphics/chromium/cc/CCAnimationCurve.h: Added.
(WebCore::CCAnimationCurve::~CCAnimationCurve):
(WebCore::CCFloatAnimationCurve::~CCFloatAnimationCurve):
(WebCore::CCFloatAnimationCurve::type):
(WebCore::CCTransformAnimationCurve::~CCTransformAnimationCurve):
(WebCore::CCTransformAnimationCurve::type):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Added.
(WebCore::CCLayerAnimationControllerImpl::create):
(WebCore::CCLayerAnimationControllerImpl::CCLayerAnimationControllerImpl):
(WebCore::CCLayerAnimationControllerImpl::animate):
(WebCore::CCLayerAnimationControllerImpl::add):
(WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
(WebCore::CCLayerAnimationControllerImpl::hasActiveAnimation):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
(WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
(WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
(WebCore::CCLayerAnimationControllerImpl::tickAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Added.
(WebCore::CCLayerAnimationControllerImplClient::~CCLayerAnimationControllerImplClient):
Source/WebKit/chromium:
Patch by Ian Vollick <vollick@chromium.org> on 2012-01-18
Reviewed by Kenneth Russell.
* WebKit.gypi:
* tests/CCActiveAnimationTest.cpp: Added.
(WebCore::FakeFloatAnimation::duration):
(WebCore::FakeFloatAnimation::getValue):
(WebCore::createActiveAnimation):
(WebCore::TEST):
* tests/CCLayerAnimationControllerImplTest.cpp: Added.
(WebCore::FakeControllerClient::FakeControllerClient):
(WebCore::FakeControllerClient::~FakeControllerClient):
(WebCore::FakeControllerClient::opacity):
(WebCore::FakeControllerClient::setOpacity):
(WebCore::FakeControllerClient::transform):
(WebCore::FakeControllerClient::setTransform):
(WebCore::FakeControllerClient::animationControllerImplDidActivate):
(WebCore::FakeControllerClient::activeControllers):
(WebCore::FakeTransformTransition::FakeTransformTransition):
(WebCore::FakeTransformTransition::duration):
(WebCore::FakeTransformTransition::getValue):
(WebCore::FakeFloatTransition::FakeFloatTransition):
(WebCore::FakeFloatTransition::duration):
(WebCore::FakeFloatTransition::getValue):
(WebCore::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc