Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1285)

Unified Diff: cc/test/layer_tree_test_common.cc

Issue 11598005: Ref count layer animation controllers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/test/layer_tree_test_common.cc
diff --git a/cc/test/layer_tree_test_common.cc b/cc/test/layer_tree_test_common.cc
index 88b4a8a94fd01db43ff906b63dd6c2996613fb47..72d58ae17b82bae980635047fd735eef4b898cc0 100644
--- a/cc/test/layer_tree_test_common.cc
+++ b/cc/test/layer_tree_test_common.cc
@@ -119,7 +119,15 @@ void MockLayerTreeHostImpl::animateLayers(base::TimeTicks monotonicTime, base::T
{
m_testHooks->willAnimateLayers(this, monotonicTime);
LayerTreeHostImpl::animateLayers(monotonicTime, wallClockTime);
- m_testHooks->animateLayers(this, monotonicTime);
+ bool hasUnfinishedAnimation = false;
+ LayerTreeHostImpl::AnimationControllerMap::const_iterator iter = activeAnimationControllers().begin();
+ for (; iter != activeAnimationControllers().end(); ++iter) {
+ if (iter->second->hasActiveAnimation()) {
+ hasUnfinishedAnimation = true;
+ break;
+ }
+ }
+ m_testHooks->animateLayers(this, monotonicTime, hasUnfinishedAnimation);
}
base::TimeDelta MockLayerTreeHostImpl::lowFrequencyAnimationInterval() const
@@ -156,12 +164,6 @@ public:
return MockLayerTreeHostImpl::create(m_testHooks, settings(), client, proxy()).PassAs<cc::LayerTreeHostImpl>();
}
- virtual void didAddAnimation() OVERRIDE
- {
- LayerTreeHost::didAddAnimation();
- m_testHooks->didAddAnimation();
- }
-
virtual void setNeedsCommit() OVERRIDE
{
if (!m_testStarted)
@@ -169,6 +171,12 @@ public:
LayerTreeHost::setNeedsCommit();
}
+ virtual void DidActivateAnimationController(cc::LayerAnimationController* controller) OVERRIDE
+ {
+ LayerTreeHost::DidActivateAnimationController(controller);
+ m_testHooks->didAddAnimation();
+ }
+
void setTestStarted(bool started) { m_testStarted = started; }
virtual void didDeferCommit() OVERRIDE
@@ -335,11 +343,6 @@ void ThreadedTest::postSetVisibleToMainThread(bool visible)
m_mainThreadProxy->postTask(FROM_HERE, base::Bind(&ThreadedTest::dispatchSetVisible, base::Unretained(this), visible));
}
-void ThreadedTest::postDidAddAnimationToMainThread()
-{
- m_mainThreadProxy->postTask(FROM_HERE, base::Bind(&ThreadedTest::dispatchDidAddAnimation, base::Unretained(this)));
-}
-
void ThreadedTest::doBeginTest()
{
m_client = ThreadedMockLayerTreeHostClient::create(this);
@@ -469,17 +472,6 @@ void ThreadedTest::dispatchComposite()
m_layerTreeHost->composite();
}
-void ThreadedTest::dispatchDidAddAnimation()
-{
- DCHECK(!proxy() || proxy()->isMainThread());
-
- if (m_finished)
- return;
-
- if (m_layerTreeHost.get())
- m_layerTreeHost->didAddAnimation();
-}
-
void ThreadedTest::runTest(bool threaded)
{
if (threaded) {
« cc/layer_tree_host.cc ('K') | « cc/test/layer_tree_test_common.h ('k') | cc/thread_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698