Home | History | Annotate | Download | only in animation
      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_BASE_ANIMATION_TEST_ANIMATION_DELEGATE_H_
      6 #define UI_BASE_ANIMATION_TEST_ANIMATION_DELEGATE_H_
      7 
      8 #include "base/message_loop/message_loop.h"
      9 #include "ui/base/animation/animation_delegate.h"
     10 
     11 namespace ui {
     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 ui
     47 
     48 #endif  // UI_BASE_ANIMATION_TEST_ANIMATION_DELEGATE_H_
     49