Index: ash/wm/system_modal_container_layout_manager.cc |
diff --git a/ash/wm/system_modal_container_layout_manager.cc b/ash/wm/system_modal_container_layout_manager.cc |
index 1312edaab934c2ff95c103cb8afa1dbff74120bb..1928fd1c89c3dbfd46bce9f7f8efc65e42717aee 100644 |
--- a/ash/wm/system_modal_container_layout_manager.cc |
+++ b/ash/wm/system_modal_container_layout_manager.cc |
@@ -19,6 +19,7 @@ |
#include "ui/aura/window_property.h" |
#include "ui/compositor/layer.h" |
#include "ui/keyboard/keyboard_controller.h" |
+#include "ui/wm/core/window_util.h" |
namespace ash { |
namespace { |
@@ -140,7 +141,10 @@ void SystemModalContainerLayoutManager::OnKeyboardBoundsChanging( |
bool SystemModalContainerLayoutManager::IsPartOfActiveModalWindow( |
aura::Window* window) { |
- return modal_window() && modal_window()->Contains(window); |
+ return modal_window() && |
+ (modal_window()->Contains(window) || |
+ ::wm::HasTransientAncestor(::wm::GetToplevelWindow(window), |
+ modal_window())); |
} |
bool SystemModalContainerLayoutManager::ActivateNextModalWindow() { |