Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / compositor / test / test_layer_animation_observer.h
blob0f0a18ecd39c88ef665eb85aecb87ccf64c795e4
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.
5 #ifndef UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_
6 #define UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_
8 #include "base/compiler_specific.h"
9 #include "ui/compositor/layer_animation_observer.h"
11 namespace ui {
13 class LayerAnimationSequence;
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 ~TestLayerAnimationObserver() override;
22 void OnLayerAnimationEnded(LayerAnimationSequence* sequence) override;
24 void OnLayerAnimationAborted(LayerAnimationSequence* sequence) override;
26 void OnLayerAnimationScheduled(LayerAnimationSequence* sequence) override;
28 bool RequiresNotificationWhenAnimatorDestroyed() const override;
30 const LayerAnimationSequence* last_ended_sequence() const {
31 return last_ended_sequence_;
34 const LayerAnimationSequence* last_scheduled_sequence() const {
35 return last_scheduled_sequence_;
38 const LayerAnimationSequence* last_aborted_sequence() const {
39 return last_aborted_sequence_;
42 void set_requires_notification_when_animator_destroyed(bool value) {
43 requires_notification_when_animator_destroyed_ = value;
46 private:
47 const LayerAnimationSequence* last_ended_sequence_;
48 const LayerAnimationSequence* last_scheduled_sequence_;
49 const LayerAnimationSequence* last_aborted_sequence_;
50 bool requires_notification_when_animator_destroyed_;
52 // Copy and assign are allowed.
55 } // namespace ui
57 #endif // UI_COMPOSITOR_TEST_TEST_LAYER_ANIMATION_OBSERVER_H_