Chromium Code Reviews| Index: ash/common/wm/overview/window_selector_delegate.h |
| diff --git a/ash/common/wm/overview/window_selector_delegate.h b/ash/common/wm/overview/window_selector_delegate.h |
| index 0e300b5f7466efe2d7079f3ebc11db7d5bd13675..f116a450798c5eafdda1755ed2f9b8311826a9f6 100644 |
| --- a/ash/common/wm/overview/window_selector_delegate.h |
| +++ b/ash/common/wm/overview/window_selector_delegate.h |
| @@ -8,18 +8,37 @@ |
| #include "ash/ash_export.h" |
| #include "base/compiler_specific.h" |
| -namespace aura { |
| -class Window; |
| -} |
| - |
| namespace ash { |
| +class WindowSelectorDelegate; |
| + |
| +class ASH_EXPORT DelayedAnimationObserver { |
| + public: |
| + virtual ~DelayedAnimationObserver() {} |
| + |
| + // Sets a |delegate| that can be notified when |this| observer completes |
| + // animation. |
| + virtual void SetDelegate(WindowSelectorDelegate* delegate) = 0; |
| + |
| + // Can be called by the |delegate| to delete the owned widget. |
|
bruthig
2016/07/15 17:05:38
Is it true that if the owner of |this| calls shutd
varkha
2016/07/15 18:53:36
Done.
|
| + virtual void Shutdown() = 0; |
| +}; |
| + |
| // Implement this class to handle the selection event from WindowSelector. |
| class ASH_EXPORT WindowSelectorDelegate { |
| public: |
| // Invoked if selection is ended. |
| virtual void OnSelectionEnded() = 0; |
| + // Passes ownership of |animation_observer| to |this| delegate. |
| + virtual void AddDelayedAnimationObserver( |
|
bruthig
2016/07/15 17:05:38
Instead of overloading the WindowSelectorDelegate,
varkha
2016/07/15 18:53:36
I like the last suggestion. Done.
|
| + std::unique_ptr<DelayedAnimationObserver> animation_observer) = 0; |
| + |
| + // Finds and erases |animation_observer| from the list deleting the widget |
| + // owned by the |animation_observer|. |
| + virtual void RemoveDelayedAnimationObserver( |
| + DelayedAnimationObserver* animation_observer) = 0; |
| + |
| protected: |
| virtual ~WindowSelectorDelegate() {} |
| }; |