Home | History | Annotate | Download | only in test
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_
      6 #define UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "ui/compositor/layer_animation_observer.h"
     10 
     11 namespace ui {
     12 
     13 class LayerAnimationSequence;
     14 
     15 // Listens to animation ended notifications. Remembers the last sequence that
     16 // it was notified about.
     17 class TestLayerAnimationObserver : public LayerAnimationObserver {
     18  public:
     19   TestLayerAnimationObserver();
     20   virtual ~TestLayerAnimationObserver();
     21 
     22   virtual void OnLayerAnimationEnded(
     23       LayerAnimationSequence* sequence) OVERRIDE;
     24 
     25   virtual void OnLayerAnimationAborted(
     26       LayerAnimationSequence* sequence) OVERRIDE;
     27 
     28   virtual void OnLayerAnimationScheduled(
     29       LayerAnimationSequence* sequence) OVERRIDE;
     30 
     31   virtual bool RequiresNotificationWhenAnimatorDestroyed() const OVERRIDE;
     32 
     33   const LayerAnimationSequence* last_ended_sequence() const {
     34     return last_ended_sequence_;
     35   }
     36 
     37   const LayerAnimationSequence* last_scheduled_sequence() const {
     38     return last_scheduled_sequence_;
     39   }
     40 
     41   const LayerAnimationSequence* last_aborted_sequence() const {
     42     return last_aborted_sequence_;
     43   }
     44 
     45   void set_requires_notification_when_animator_destroyed(bool value) {
     46     requires_notification_when_animator_destroyed_ = value;
     47   }
     48 
     49  private:
     50   const LayerAnimationSequence* last_ended_sequence_;
     51   const LayerAnimationSequence* last_scheduled_sequence_;
     52   const LayerAnimationSequence* last_aborted_sequence_;
     53   bool requires_notification_when_animator_destroyed_;
     54 
     55   // Copy and assign are allowed.
     56 };
     57 
     58 }  // namespace ui
     59 
     60 #endif  // UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_
     61