1 // Copyright 2019 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 ASH_WM_OVERVIEW_DELAYED_ANIMATION_OBSERVER_H_
6 #define ASH_WM_OVERVIEW_DELAYED_ANIMATION_OBSERVER_H_
7 
8 namespace ash {
9 class OverviewDelegate;
10 
11 class DelayedAnimationObserver {
12  public:
~DelayedAnimationObserver()13   virtual ~DelayedAnimationObserver() {}
14 
15   // Sets an |owner| that can be notified when the animation that |this|
16   // observes completes.
17   virtual void SetOwner(OverviewDelegate* owner) = 0;
18 
19   // Can be called by the |owner| to delete the owned widget. The |owner| is
20   // then responsible for deleting |this| instance of the
21   // DelayedAnimationObserver.
22   virtual void Shutdown() = 0;
23 };
24 
25 }  // namespace ash
26 
27 #endif  // ASH_WM_OVERVIEW_DELAYED_ANIMATION_OBSERVER_H_
28