Index: athena/input/accelerator_manager_impl.h |
diff --git a/athena/input/accelerator_manager_impl.h b/athena/input/accelerator_manager_impl.h |
index 06a822f9a70d271557d9e8e9076bfd1f5e330ae4..460556988cafa8fa498586deb39ec00c29eb804d 100644 |
--- a/athena/input/accelerator_manager_impl.h |
+++ b/athena/input/accelerator_manager_impl.h |
@@ -17,10 +17,6 @@ namespace aura { |
class Window; |
} |
-namespace ui { |
-class AcceleratorManager; |
-} |
- |
namespace wm { |
class AcceleratorFilter; |
class NestedAcceleratorController; |
@@ -35,18 +31,29 @@ namespace athena { |
class AcceleratorManagerImpl : public AcceleratorManager, |
public ui::AcceleratorTarget { |
public: |
- AcceleratorManagerImpl(); |
+ class AcceleratorWrapper; |
+ |
+ // Creates an AcceleratorManager for global accelerators. |
+ // This is the one returned by AcceleratorManager::Get() |
+ static AcceleratorManagerImpl* CreateGlobalAcceleratorManager(); |
+ |
+ explicit AcceleratorManagerImpl(AcceleratorWrapper* wrapper); |
virtual ~AcceleratorManagerImpl(); |
void Init(); |
void OnRootWindowCreated(aura::Window* root_window); |
- bool IsRegistered(const ui::Accelerator& accelerator) const; |
- bool IsReserved(const ui::Accelerator& accelerator) const; |
bool Process(const ui::Accelerator& accelerator); |
+ // AcceleratorManager: |
+ // This is made public so that implementation classes can use this. |
+ virtual bool IsRegistered(const ui::Accelerator& accelerator, |
+ int flags) const OVERRIDE; |
+ |
private: |
+ class InternalData; |
+ |
// AcceleratorManager: |
virtual void RegisterAccelerators(const AcceleratorData accelerators[], |
size_t num_accelerators, |
@@ -57,17 +64,13 @@ class AcceleratorManagerImpl : public AcceleratorManager, |
virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE; |
virtual bool CanHandleAccelerators() const OVERRIDE; |
- class InternalData; |
- |
void RegisterAccelerator(const AcceleratorData& accelerator, |
AcceleratorHandler* handler); |
std::map<ui::Accelerator, InternalData> accelerators_; |
- scoped_ptr<ui::AcceleratorManager> accelerator_manager_; |
- |
+ scoped_ptr<AcceleratorWrapper> accelerator_wrapper_; |
scoped_ptr<wm::AcceleratorFilter> accelerator_filter_; |
scoped_ptr<wm::NestedAcceleratorController> nested_accelerator_controller_; |
- |
bool debug_accelerators_enabled_; |
DISALLOW_COPY_AND_ASSIGN(AcceleratorManagerImpl); |