diff options
Diffstat (limited to 'athena/input/input_manager_impl.cc')
-rw-r--r-- | athena/input/input_manager_impl.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/athena/input/input_manager_impl.cc b/athena/input/input_manager_impl.cc index 3d1c803783..b0b11a9e39 100644 --- a/athena/input/input_manager_impl.cc +++ b/athena/input/input_manager_impl.cc @@ -8,6 +8,7 @@ #include "base/logging.h" #include "ui/aura/client/event_client.h" #include "ui/aura/env.h" +#include "ui/aura/window.h" #include "ui/events/event_target.h" namespace athena { @@ -36,7 +37,7 @@ class InputManagerImpl : public InputManager, // Overridden from aura::client::EventClient: virtual bool CanProcessEventsWithinSubtree( const aura::Window* window) const OVERRIDE { - return true; + return window && !window->ignore_events(); } virtual ui::EventTarget* GetToplevelEventTarget() OVERRIDE { return this; } @@ -53,7 +54,8 @@ class InputManagerImpl : public InputManager, }; InputManagerImpl::InputManagerImpl() - : accelerator_manager_(new AcceleratorManagerImpl) { + : accelerator_manager_( + AcceleratorManagerImpl::CreateGlobalAcceleratorManager()) { DCHECK(!instance); instance = this; } |