[chromium] Create a base-class CCAnimation to represent compositor animations
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 04:18:02 +0000 (04:18 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 04:18:02 +0000 (04:18 +0000)
commit021748e90dc1bc2f44a045879f2ec0f656f479b3
treee6a52465ac14923c843a027e80ba2fc853019490
parent6d91b0b1b61c4422f0a12b4d7284dc18694fdf68
[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
12 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h [new file with mode: 0644]
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/tests/CCActiveAnimationTest.cpp [new file with mode: 0644]
Source/WebKit/chromium/tests/CCLayerAnimationControllerImplTest.cpp [new file with mode: 0644]