closure_animation_observer.h revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
1// Copyright 2014 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_CLOSURE_ANIMATION_OBSERVER_H_ 6#define UI_COMPOSITOR_CLOSURE_ANIMATION_OBSERVER_H_ 7 8#include "base/callback.h" 9#include "base/macros.h" 10#include "ui/compositor/compositor_export.h" 11#include "ui/compositor/layer_animation_observer.h" 12 13namespace ui { 14 15// Runs a callback at the end of the animation. This observe also destroys 16// itself afterwards. 17class COMPOSITOR_EXPORT ClosureAnimationObserver 18 : public ImplicitAnimationObserver { 19 public: 20 explicit ClosureAnimationObserver(const base::Closure& closure); 21 22 private: 23 virtual ~ClosureAnimationObserver(); 24 25 // ImplicitAnimationObserver: 26 virtual void OnImplicitAnimationsCompleted() OVERRIDE; 27 28 const base::Closure closure_; 29 30 DISALLOW_COPY_AND_ASSIGN(ClosureAnimationObserver); 31}; 32 33} // namespace ui 34 35#endif // UI_COMPOSITOR_CLOSURE_ANIMATION_OBSERVER_H_ 36