OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ | 5 #ifndef ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ |
6 #define ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ | 6 #define ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <memory> | 9 #include <memory> |
10 #include <vector> | 10 #include <vector> |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 // Returns true if window selection mode is active. | 38 // Returns true if window selection mode is active. |
39 bool IsSelecting(); | 39 bool IsSelecting(); |
40 | 40 |
41 // Returns true if overview mode is restoring minimized windows so that they | 41 // Returns true if overview mode is restoring minimized windows so that they |
42 // are visible during overview mode. | 42 // are visible during overview mode. |
43 bool IsRestoringMinimizedWindows() const; | 43 bool IsRestoringMinimizedWindows() const; |
44 | 44 |
45 // WindowSelectorDelegate: | 45 // WindowSelectorDelegate: |
46 void OnSelectionEnded() override; | 46 void OnSelectionEnded() override; |
| 47 void AddDelayedAnimationObserver( |
| 48 std::unique_ptr<DelayedAnimationObserver> animation) override; |
| 49 void RemoveAndDestroyAnimationObserver( |
| 50 DelayedAnimationObserver* animation) override; |
47 | 51 |
48 private: | 52 private: |
49 friend class WindowSelectorTest; | 53 friend class WindowSelectorTest; |
50 | 54 |
51 // Dispatched when window selection begins. | 55 // Dispatched when window selection begins. |
52 void OnSelectionStarted(); | 56 void OnSelectionStarted(); |
53 | 57 |
| 58 // Collection of DelayedAnimationObserver objects that own widgets that may be |
| 59 // still animating after overview mode ends. If shell needs to shut down while |
| 60 // those animations are in progress, the animations are shut down and the |
| 61 // widgets destroyed. |
| 62 std::vector<std::unique_ptr<DelayedAnimationObserver>> delayed_animations_; |
54 std::unique_ptr<WindowSelector> window_selector_; | 63 std::unique_ptr<WindowSelector> window_selector_; |
55 base::Time last_selection_time_; | 64 base::Time last_selection_time_; |
56 | 65 |
57 DISALLOW_COPY_AND_ASSIGN(WindowSelectorController); | 66 DISALLOW_COPY_AND_ASSIGN(WindowSelectorController); |
58 }; | 67 }; |
59 | 68 |
60 } // namespace ash | 69 } // namespace ash |
61 | 70 |
62 #endif // ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ | 71 #endif // ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_CONTROLLER_H_ |
OLD | NEW |