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