| // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef UI_COMPOSITOR_TEST_LAYER_ANIMATOR_TEST_CONTROLLER_H_ | 
 | #define UI_COMPOSITOR_TEST_LAYER_ANIMATOR_TEST_CONTROLLER_H_ | 
 |  | 
 | #include "ui/compositor/layer_animator.h" | 
 |  | 
 | namespace ui { | 
 |  | 
 | // Allows tests to access sequences owned by the animator. | 
 | class LayerAnimatorTestController { | 
 |  public: | 
 |   LayerAnimatorTestController(scoped_refptr<LayerAnimator> animator); | 
 |  | 
 |   ~LayerAnimatorTestController(); | 
 |  | 
 |   LayerAnimator* animator() { return animator_.get(); } | 
 |  | 
 |   // Returns the running sequence animating the given property, if any. | 
 |   LayerAnimationSequence* GetRunningSequence( | 
 |       LayerAnimationElement::AnimatableProperty property); | 
 |  | 
 |   // Starts threaded animations that are waiting for an effective start time. | 
 |   void StartThreadedAnimationsIfNeeded(); | 
 |  | 
 |   // Progresses all running animations by the given |duration|. | 
 |   void Step(const base::TimeDelta& duration); | 
 |  | 
 |  private: | 
 |   scoped_refptr<LayerAnimator> animator_; | 
 | }; | 
 |  | 
 | }  // namespace ui | 
 |  | 
 | #endif  // UI_COMPOSITOR_TEST_LAYER_ANIMATOR_TEST_CONTROLLER_H_ |