Index: ash/status_area/status_area_view.cc |
diff --git a/ash/status_area/status_area_view.cc b/ash/status_area/status_area_view.cc |
index 7e1478f40dd74701b8d56e57c61a652fed87d2e1..ed262197f6b6a566761a8d6fbc60fade4a5c1dee 100644 |
--- a/ash/status_area/status_area_view.cc |
+++ b/ash/status_area/status_area_view.cc |
@@ -8,6 +8,7 @@ |
#include "ash/focus_cycler.h" |
#include "ash/shell.h" |
#include "ash/shell_window_ids.h" |
+#include "ash/system/tray/system_tray.h" |
#include "base/utf_string_conversions.h" |
#include "grit/ui_resources.h" |
#include "ui/aura/root_window.h" |
@@ -59,7 +60,12 @@ bool StatusAreaView::CanActivate() const { |
// activation when the user is using the keyboard (FocusCycler). |
const FocusCycler* focus_cycler = focus_cycler_for_testing_ ? |
focus_cycler_for_testing_ : Shell::GetInstance()->focus_cycler(); |
- return focus_cycler->widget_activating() == GetWidget(); |
+ |
+ ash::SystemTray* tray = ash::Shell::GetInstance()->tray(); |
+ bool manually_activating = tray && tray->is_taking_focus(); |
+ |
+ return manually_activating || |
+ focus_cycler->widget_activating() == GetWidget(); |
} |
void StatusAreaView::DeleteDelegate() { |