[chromium] Infrastructure to allow animating layers to be only partially updated
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2012 14:42:28 +0000 (14:42 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2012 14:42:28 +0000 (14:42 +0000)
commitfb0c1bc2212d9878e2a8246ff12fb1a8fe87bf1d
tree78be2d4450a7ddb315634094212afb55f3ee9b25
parenta93c26c40f7cd13f13caa44be0063f25084eb151
[chromium] Infrastructure to allow animating layers to be only partially updated
https://bugs.webkit.org/show_bug.cgi?id=81106

Patch by Ian Vollick <vollick@chromium.org> on 2012-03-20
Reviewed by James Robinson

Source/WebCore:

Merged the controller tests in CCLayerAnimationControllerTest

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::setOpacityFromAnimation):
(WebCore):
(WebCore::LayerChromium::setTransformFromAnimation):
(WebCore::LayerChromium::addAnimation):
(WebCore::LayerChromium::pauseAnimation):
(WebCore::LayerChromium::removeAnimation):
(WebCore::LayerChromium::suspendAnimations):
(WebCore::LayerChromium::resumeAnimations):
(WebCore::LayerChromium::setLayerAnimationController):
(WebCore::LayerChromium::hasActiveAnimation):
(WebCore::LayerChromium::setAnimationEvent):
* platform/graphics/chromium/LayerChromium.h:
(WebCore):
(LayerChromium):
(WebCore::LayerChromium::id):
(WebCore::LayerChromium::opacity):
(WebCore::LayerChromium::transform):
(WebCore::LayerChromium::bounds):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCAnimationEvents.cpp:
(WebCore::CCAnimationEvent::CCAnimationEvent):
(WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
(WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
(WebCore::CCAnimationStartedEvent::create):
(WebCore):
(WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
(WebCore::CCFloatAnimationFinishedEvent::create):
(WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
(WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
(WebCore::CCFloatAnimationFinishedEvent::type):
(WebCore::CCTransformAnimationFinishedEvent::create):
(WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
(WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
(WebCore::CCTransformAnimationFinishedEvent::type):
* platform/graphics/chromium/cc/CCAnimationEvents.h:
(WebCore):
(WebCore::CCAnimationEvent::targetProperty):
(CCAnimationEvent):
(CCAnimationStartedEvent):
(CCFloatAnimationFinishedEvent):
(WebCore::CCFloatAnimationFinishedEvent::finalValue):
(CCTransformAnimationFinishedEvent):
(WebCore::CCTransformAnimationFinishedEvent::finalValue):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::CCLayerAnimationController):
(WebCore::CCLayerAnimationController::create):
(WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
(WebCore::CCLayerAnimationController::animate):
(WebCore):
(WebCore::CCLayerAnimationController::add):
(WebCore::CCLayerAnimationController::getActiveAnimation):
(WebCore::CCLayerAnimationController::hasActiveAnimation):
(WebCore::CCLayerAnimationController::isAnimatingProperty):
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
(WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
(WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
(WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
(WebCore::CCLayerAnimationController::resolveConflicts):
(WebCore::CCLayerAnimationController::purgeFinishedAnimations):
(WebCore::CCLayerAnimationController::tickAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(WebCore):
(CCLayerAnimationControllerClient):
(WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
(CCLayerAnimationController):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
* platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
(CCLayerAnimationDelegate):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setOpacityFromAnimation):
(WebCore):
(WebCore::CCLayerImpl::setTransformFromAnimation):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
(WebCore::CCLayerImpl::id):
(WebCore::CCLayerImpl::layerAnimationController):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::updateAnimations):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
(WebCore::CCLayerTreeHost::animateLayers):
(WebCore):
(WebCore::CCLayerTreeHost::animateLayersRecursive):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCAnimationTestCommon.cpp:
(WebKitTests::FakeLayerAnimationControllerClient::FakeLayerAnimationControllerClient):
(WebKitTests::FakeLayerAnimationControllerClient::~FakeLayerAnimationControllerClient):
* tests/CCAnimationTestCommon.h:
(FakeLayerAnimationControllerClient):
(WebKitTests::FakeLayerAnimationControllerClient::setOpacityFromAnimation):
(WebKitTests::FakeLayerAnimationControllerClient::setTransformFromAnimation):
* tests/CCLayerAnimationControllerImplTest.cpp: Removed.
* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::TEST):
(WebKitTests):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestAddAnimation::CCLayerTreeHostTestAddAnimation):
(WTF::CCLayerTreeHostTestAddAnimation::animateLayers):
(CCLayerTreeHostTestAddAnimation):
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::FakeLayerAnimationController::create):
(WebKitTests::FakeLayerAnimationController::FakeLayerAnimationController):
(WebKitTests::FakeLayerAnimationController::pushAnimationUpdatesTo):
(WebKitTests::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@111393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
30 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h
Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
Source/WebCore/platform/graphics/chromium/LayerChromium.h
Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h
Source/WebCore/platform/graphics/chromium/cc/CCAnimationEvents.cpp
Source/WebCore/platform/graphics/chromium/cc/CCAnimationEvents.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp [deleted file]
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h [deleted file]
Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationDelegate.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
Source/WebKit/chromium/tests/CCAnimationTestCommon.h
Source/WebKit/chromium/tests/CCLayerAnimationControllerImplTest.cpp [deleted file]
Source/WebKit/chromium/tests/CCLayerAnimationControllerTest.cpp
Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
Source/WebKit/chromium/tests/TreeSynchronizerTest.cpp