Index: ash/wm/event_client_impl.cc |
diff --git a/ash/wm/event_client_impl.cc b/ash/wm/event_client_impl.cc |
index 7fbc2bf7361c3d00d4d5a288c1304d2b0c576aa5..c7f1e90c9cde178fbadc2821c07543bac03f3a81 100644 |
--- a/ash/wm/event_client_impl.cc |
+++ b/ash/wm/event_client_impl.cc |
@@ -7,6 +7,7 @@ |
#include "ash/public/cpp/shell_window_ids.h" |
#include "ash/session/session_controller.h" |
#include "ash/shell.h" |
+#include "ash/tray_action/tray_action.h" |
#include "ui/aura/window.h" |
#include "ui/keyboard/keyboard_util.h" |
@@ -32,11 +33,15 @@ bool EventClientImpl::CanProcessEventsWithinSubtree( |
root_window, kShellWindowId_LockScreenWallpaperContainer); |
const aura::Window* lock_screen_related_containers = Shell::GetContainer( |
root_window, kShellWindowId_LockScreenRelatedContainersContainer); |
+ const aura::Window* lock_action_handler_container = Shell::GetContainer( |
+ root_window, kShellWindowId_LockActionHandlerContainer); |
bool can_process_events = |
(window->Contains(lock_screen_containers) && |
window->Contains(lock_wallpaper_containers) && |
window->Contains(lock_screen_related_containers)) || |
- lock_screen_containers->Contains(window) || |
+ (lock_screen_containers->Contains(window) && |
+ (!lock_action_handler_container->Contains(window) || |
+ Shell::Get()->tray_action()->IsLockScreenNoteActive())) || |
lock_wallpaper_containers->Contains(window) || |
lock_screen_related_containers->Contains(window); |
if (keyboard::IsKeyboardEnabled()) { |