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 11namespace gfx { 12 13// Trivial AnimationDelegate implementation. AnimationEnded/Canceled quit the 14// message loop. 15class 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