| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "ash/wm/activation_controller.h" | 5 #include "ash/wm/activation_controller.h" |
| 6 | 6 |
| 7 #include "ash/root_window_controller.h" | 7 #include "ash/root_window_controller.h" |
| 8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
| 9 #include "ash/shell_window_ids.h" | 9 #include "ash/shell_window_ids.h" |
| 10 #include "ash/wm/property_util.h" | 10 #include "ash/wm/property_util.h" |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 iter != containers.end() && !window; ++iter) { | 350 iter != containers.end() && !window; ++iter) { |
| 351 window = GetTopmostWindowToActivateInContainer((*iter), ignore); | 351 window = GetTopmostWindowToActivateInContainer((*iter), ignore); |
| 352 } | 352 } |
| 353 } | 353 } |
| 354 return window; | 354 return window; |
| 355 } | 355 } |
| 356 | 356 |
| 357 aura::Window* ActivationController::GetTopmostWindowToActivateInContainer( | 357 aura::Window* ActivationController::GetTopmostWindowToActivateInContainer( |
| 358 aura::Window* container, | 358 aura::Window* container, |
| 359 aura::Window* ignore) const { | 359 aura::Window* ignore) const { |
| 360 // Workspace2 has an extra level of windows that needs to be special cased. | 360 // Workspace has an extra level of windows that needs to be special cased. |
| 361 if (container->id() == kShellWindowId_DefaultContainer) { | 361 if (container->id() == kShellWindowId_DefaultContainer) { |
| 362 for (aura::Window::Windows::const_reverse_iterator i = | 362 for (aura::Window::Windows::const_reverse_iterator i = |
| 363 container->children().rbegin(); | 363 container->children().rbegin(); |
| 364 i != container->children().rend(); ++i) { | 364 i != container->children().rend(); ++i) { |
| 365 if ((*i)->IsVisible()) { | 365 if ((*i)->IsVisible()) { |
| 366 aura::Window* window = GetTopmostWindowToActivateInContainer( | 366 aura::Window* window = GetTopmostWindowToActivateInContainer( |
| 367 *i, ignore); | 367 *i, ignore); |
| 368 if (window) | 368 if (window) |
| 369 return window; | 369 return window; |
| 370 } | 370 } |
| 371 } | 371 } |
| 372 return NULL; | 372 return NULL; |
| 373 } | 373 } |
| 374 for (aura::Window::Windows::const_reverse_iterator i = | 374 for (aura::Window::Windows::const_reverse_iterator i = |
| 375 container->children().rbegin(); | 375 container->children().rbegin(); |
| 376 i != container->children().rend(); | 376 i != container->children().rend(); |
| 377 ++i) { | 377 ++i) { |
| 378 if (*i != ignore && | 378 if (*i != ignore && |
| 379 CanActivateWindowWithEvent(*i, NULL, CURRENT_VISIBILITY) && | 379 CanActivateWindowWithEvent(*i, NULL, CURRENT_VISIBILITY) && |
| 380 !wm::IsWindowMinimized(*i)) | 380 !wm::IsWindowMinimized(*i)) |
| 381 return *i; | 381 return *i; |
| 382 } | 382 } |
| 383 return NULL; | 383 return NULL; |
| 384 } | 384 } |
| 385 | 385 |
| 386 } // namespace internal | 386 } // namespace internal |
| 387 } // namespace ash | 387 } // namespace ash |
| OLD | NEW |