Chromium Code Reviews| Index: ash/common/wm/overview/window_selector_controller.h |
| diff --git a/ash/common/wm/overview/window_selector_controller.h b/ash/common/wm/overview/window_selector_controller.h |
| index 319d68e5e20dc2056b433cb4b873dbd55c0fafae..ecc375e03cf478a784bd5c89b3de4d1ebf61e856 100644 |
| --- a/ash/common/wm/overview/window_selector_controller.h |
| +++ b/ash/common/wm/overview/window_selector_controller.h |
| @@ -44,6 +44,10 @@ class ASH_EXPORT WindowSelectorController : public WindowSelectorDelegate { |
| // WindowSelectorDelegate: |
| void OnSelectionEnded() override; |
| + void AddDelayedAnimationObserver( |
| + std::unique_ptr<DelayedAnimationObserver> animation) override; |
| + void RemoveDelayedAnimationObserver( |
|
bruthig
2016/07/15 17:05:38
This might be better named as RemoveAndDestroyAnim
varkha
2016/07/15 18:53:36
Done.
|
| + DelayedAnimationObserver* animation) override; |
| private: |
| friend class WindowSelectorTest; |
| @@ -51,6 +55,11 @@ class ASH_EXPORT WindowSelectorController : public WindowSelectorDelegate { |
| // Dispatched when window selection begins. |
| void OnSelectionStarted(); |
| + // Collection of DelayedAnimationObserver objects that own widgets that may be |
| + // still animating after overview mode ends. If shell needs to shut down while |
| + // those animations are in progress, the animations are shut down and the |
| + // widgets destroyed. |
| + std::vector<std::unique_ptr<DelayedAnimationObserver>> delayed_animations_; |
| std::unique_ptr<WindowSelector> window_selector_; |
| base::Time last_selection_time_; |