1 // Copyright (c) 2011 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_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_ 6 #define UI_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_ 7 8 #include "base/message_loop/message_loop.h" 9 #include "ui/gfx/animation/animation_delegate.h" 10 11 namespace gfx { 12 13 // Trivial AnimationDelegate implementation. AnimationEnded/Canceled quit the 14 // message loop. 15 class TestAnimationDelegate : public AnimationDelegate { 16 public: 17 TestAnimationDelegate() : canceled_(false), finished_(false) { 18 } 19 20 virtual void AnimationEnded(const Animation* animation) { 21 finished_ = true; 22 base::MessageLoop::current()->Quit(); 23 } 24 25 virtual void AnimationCanceled(const Animation* animation) { 26 finished_ = true; 27 canceled_ = true; 28 base::MessageLoop::current()->Quit(); 29 } 30 31 bool finished() const { 32 return finished_; 33 } 34 35 bool canceled() const { 36 return canceled_; 37 } 38 39 private: 40 bool canceled_; 41 bool finished_; 42 43 DISALLOW_COPY_AND_ASSIGN(TestAnimationDelegate); 44 }; 45 46 } // namespace gfx 47 48 #endif // UI_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_ 49