Index: ash/wm/overview/window_selector.h |
diff --git a/ash/wm/overview/window_selector.h b/ash/wm/overview/window_selector.h |
index a270b489a739a3f215f9d4b9817005a4f5803031..c8e25a3a1233ed18add49504b292b0cabccae8de 100644 |
--- a/ash/wm/overview/window_selector.h |
+++ b/ash/wm/overview/window_selector.h |
@@ -66,16 +66,25 @@ class ASH_EXPORT WindowSelector |
typedef std::vector<aura::Window*> WindowList; |
typedef ScopedVector<WindowSelectorItem> WindowSelectorItemList; |
- WindowSelector(const WindowList& windows, |
- WindowSelectorDelegate* delegate); |
+ explicit WindowSelector(WindowSelectorDelegate* delegate); |
~WindowSelector() override; |
+ // Initialize with the windows that can be selected. |
+ void Init(const WindowList& windows); |
+ |
+ // Perform cleanup that cannot be done in the destructor. |
+ void Shutdown(); |
+ |
// Cancels window selection. |
void CancelSelection(); |
// Called when the last window selector item from a grid is deleted. |
void OnGridEmpty(WindowGrid* grid); |
+ bool restoring_minimized_windows() const { |
+ return restoring_minimized_windows_; |
+ } |
+ |
// gfx::DisplayObserver: |
void OnDisplayAdded(const gfx::Display& display) override; |
void OnDisplayRemoved(const gfx::Display& display) override; |
@@ -117,6 +126,10 @@ class ASH_EXPORT WindowSelector |
// corresponding window grid. |
void Move(Direction direction, bool animate); |
+ // Removes all observers that were registered during construction and/or |
+ // initialization. |
+ void RemoveAllObservers(); |
+ |
// Tracks observed windows. |
std::set<aura::Window*> observed_windows_; |
@@ -169,6 +182,10 @@ class ASH_EXPORT WindowSelector |
// during this overview mode session. |
size_t num_times_textfield_cleared_; |
+ // Tracks whether minimized windows are currently being restored for overview |
+ // mode. |
+ bool restoring_minimized_windows_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WindowSelector); |
}; |