Index: ash/wm/overview/window_selector.cc |
diff --git a/ash/wm/overview/window_selector.cc b/ash/wm/overview/window_selector.cc |
index 6230b9b7c50331bd1f818be81e233deedbbd7c59..25277c936bccd65556ec629aaaf5719d947fa92a 100644 |
--- a/ash/wm/overview/window_selector.cc |
+++ b/ash/wm/overview/window_selector.cc |
@@ -218,6 +218,16 @@ views::Widget* CreateTextFilter(views::TextfieldController* controller, |
const int WindowSelector::kTextFilterBottomEdge = |
kTextFilterDistanceFromTop + kTextFilterHeight; |
+// static |
+bool WindowSelector::IsSelectable(aura::Window* window) { |
+ wm::WindowState* state = wm::GetWindowState(window); |
+ if (state->GetStateType() == wm::WINDOW_STATE_TYPE_DOCKED || |
+ state->GetStateType() == wm::WINDOW_STATE_TYPE_DOCKED_MINIMIZED) |
+ return false; |
+ return window->type() == ui::wm::WINDOW_TYPE_NORMAL || |
+ window->type() == ui::wm::WINDOW_TYPE_PANEL; |
+} |
+ |
WindowSelector::WindowSelector(WindowSelectorDelegate* delegate) |
: delegate_(delegate), |
restore_focus_window_(aura::client::GetFocusClient( |
@@ -456,10 +466,8 @@ void WindowSelector::OnDisplayMetricsChanged(const gfx::Display& display, |
} |
void WindowSelector::OnWindowAdded(aura::Window* new_window) { |
- if (new_window->type() != ui::wm::WINDOW_TYPE_NORMAL && |
- new_window->type() != ui::wm::WINDOW_TYPE_PANEL) { |
+ if (!IsSelectable(new_window)) |
return; |
- } |
for (size_t i = 0; i < kSwitchableWindowContainerIdsLength; ++i) { |
if (new_window->parent()->id() == kSwitchableWindowContainerIds[i] && |
@@ -568,8 +576,10 @@ void WindowSelector::HideAndTrackNonOverviewWindows() { |
for (aura::Window::Windows::const_iterator iter = |
container->children().begin(); iter != container->children().end(); |
++iter) { |
- if (!(*iter)->IsVisible() || (*grid_iter)->Contains(*iter)) |
+ if (!(*iter)->IsVisible() || (*grid_iter)->Contains(*iter) || |
+ !IsSelectable(*iter)) { |
flackr
2015/04/07 15:08:39
It's confusing that IsSelectable is not a subset o
oshima
2015/04/07 18:00:32
My understanding is that WindowSelector accepts wi
flackr
2015/04/07 18:10:33
This is historical from when we engaged overview a
oshima
2015/04/07 18:20:47
WindowSelectorTest.NonActivatableWindowsHiddens fa
flackr
2015/04/07 18:26:22
I believe so. I can't think of any non activatable
oshima
2015/04/07 20:35:29
Done.
|
continue; |
+ } |
hidden_windows_.Add(*iter); |
} |
} |