Index: ash/app_list/app_list.cc |
diff --git a/ash/app_list/app_list.cc b/ash/app_list/app_list.cc |
index f2a007fc29c7f3ca1b9a791448171742e6db7008..cfa35bcf629fe23ce96b292757534ed8187a678c 100644 |
--- a/ash/app_list/app_list.cc |
+++ b/ash/app_list/app_list.cc |
@@ -263,10 +263,15 @@ void AppList::OnWidgetClosing(views::Widget* widget) { |
void AppList::OnWidgetActivationChanged(views::Widget* widget, bool active) { |
DCHECK(view_->GetWidget() == widget); |
if (view_ && is_visible_ && !active) { |
- aura::Window* self = view_->GetWidget()->GetNativeWindow(); |
+ aura::Window* applist_container = Shell::GetInstance()->GetContainer( |
+ internal::kShellWindowId_AppListContainer); |
+ aura::Window* bubble_container = Shell::GetInstance()->GetContainer( |
+ internal::kShellWindowId_SettingBubbleContainer); |
aura::Window* active_window = ash::wm::GetActiveWindow(); |
- if (active_window->parent() != self->parent()) |
+ if (active_window->parent() != applist_container && |
+ active_window->parent() != bubble_container) { |
SetVisible(false); |
+ } |
} |
} |