Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(452)

Side by Side Diff: ash/wm/event_client_impl.cc

Issue 14295008: Add ash SessionStateDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for review. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/event_client_impl.h" 5 #include "ash/wm/event_client_impl.h"
6 6
7 #include "ash/session_state_delegate.h"
7 #include "ash/shell.h" 8 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 9 #include "ash/shell_window_ids.h"
9 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
10 11
11 namespace ash { 12 namespace ash {
12 namespace internal { 13 namespace internal {
13 14
14 EventClientImpl::EventClientImpl() { 15 EventClientImpl::EventClientImpl() {
15 } 16 }
16 17
17 EventClientImpl::~EventClientImpl() { 18 EventClientImpl::~EventClientImpl() {
18 } 19 }
19 20
20 bool EventClientImpl::CanProcessEventsWithinSubtree( 21 bool EventClientImpl::CanProcessEventsWithinSubtree(
21 const aura::Window* window) const { 22 const aura::Window* window) const {
22 const aura::RootWindow* root_window = 23 const aura::RootWindow* root_window =
23 window ? window->GetRootWindow() : NULL; 24 window ? window->GetRootWindow() : NULL;
24 if (Shell::GetInstance()->IsScreenLocked() && root_window) { 25 if (Shell::GetInstance()->session_state_delegate()->IsScreenLocked() &&
26 root_window) {
25 const aura::Window* lock_screen_containers = Shell::GetContainer( 27 const aura::Window* lock_screen_containers = Shell::GetContainer(
26 root_window, 28 root_window,
27 kShellWindowId_LockScreenContainersContainer); 29 kShellWindowId_LockScreenContainersContainer);
28 const aura::Window* lock_background_containers = Shell::GetContainer( 30 const aura::Window* lock_background_containers = Shell::GetContainer(
29 root_window, 31 root_window,
30 kShellWindowId_LockScreenBackgroundContainer); 32 kShellWindowId_LockScreenBackgroundContainer);
31 const aura::Window* lock_screen_related_containers = Shell::GetContainer( 33 const aura::Window* lock_screen_related_containers = Shell::GetContainer(
32 root_window, 34 root_window,
33 kShellWindowId_LockScreenRelatedContainersContainer); 35 kShellWindowId_LockScreenRelatedContainersContainer);
34 return (window->Contains(lock_screen_containers) && 36 return (window->Contains(lock_screen_containers) &&
35 window->Contains(lock_background_containers) && 37 window->Contains(lock_background_containers) &&
36 window->Contains(lock_screen_related_containers)) || 38 window->Contains(lock_screen_related_containers)) ||
37 lock_screen_containers->Contains(window) || 39 lock_screen_containers->Contains(window) ||
38 lock_background_containers->Contains(window) || 40 lock_background_containers->Contains(window) ||
39 lock_screen_related_containers->Contains(window); 41 lock_screen_related_containers->Contains(window);
40 } 42 }
41 return true; 43 return true;
42 } 44 }
43 45
44 ui::EventTarget* EventClientImpl::GetToplevelEventTarget() { 46 ui::EventTarget* EventClientImpl::GetToplevelEventTarget() {
45 return Shell::GetInstance(); 47 return Shell::GetInstance();
46 } 48 }
47 49
48 } // namespace internal 50 } // namespace internal
49 } // namespace ash 51 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698