Chromium Code Reviews| 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); |
| } |
| } |