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

Unified Diff: athena/input/accelerator_manager_impl.h

Issue 332443005: Enable accelerators on web activity window (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
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..e335ee5cb6db595e567128e8b1def0d34f98c4d8 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,17 +31,26 @@ 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);
Jun Mukai 2014/06/11 22:07:51 I am not sure what this means. Who can call this
oshima 2014/06/11 22:46:43 Sorry I didn't understand your question.
Jun Mukai 2014/06/11 23:13:22 Ah, it must be called from a static method of its
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:
// AcceleratorManager:
virtual void RegisterAccelerators(const AcceleratorData accelerators[],
@@ -57,14 +62,12 @@ 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);
+ class InternalData;
Jun Mukai 2014/06/11 22:07:51 nit: internal class declaration usually appears ri
oshima 2014/06/11 22:46:43 Done.
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_;

Powered by Google App Engine
This is Rietveld 408576698