Chromium Code Reviews| Index: ash/magnifier/magnifier_key_scroller.h |
| diff --git a/ash/magnifier/magnifier_key_scroller.h b/ash/magnifier/magnifier_key_scroller.h |
| index 4f9f19efb68367a96cbc9147ff1a6947c3611fd3..173d6249f2f647b7b77936134fcea71c108a6c7e 100644 |
| --- a/ash/magnifier/magnifier_key_scroller.h |
| +++ b/ash/magnifier/magnifier_key_scroller.h |
| @@ -5,6 +5,7 @@ |
| #ifndef ASH_MAGNIFIER_MAGNIFIER_KEY_SCROLLER_H_ |
| #define ASH_MAGNIFIER_MAGNIFIER_KEY_SCROLLER_H_ |
| +#include "ash/accelerators/key_hold_detector.h" |
| #include "ash/ash_export.h" |
| #include "ui/events/event_handler.h" |
| @@ -14,18 +15,12 @@ class KeyEvent; |
| namespace ash { |
| -// This class implements the press and hold key-bindings (shift-arrow keys) |
| -// to control magnified screen. |
| -class ASH_EXPORT MagnifierKeyScroller : public ui::EventHandler { |
| +// A KeyHoldDetector delegate to control control magnified screen. |
| +class ASH_EXPORT MagnifierKeyScroller : public KeyHoldDetector::Delegate { |
| public: |
| static bool IsEnabled(); |
| static void SetEnabled(bool enabled); |
| - |
| - MagnifierKeyScroller(); |
| - virtual ~MagnifierKeyScroller(); |
| - |
| - // ui::EventHandler overrides: |
| - virtual void OnKeyEvent(ui::KeyEvent* key_event) OVERRIDE; |
| + static ui::EventHandler* CreateHandler(); |
|
xiyuan
2014/02/14 01:50:21
Same here. Document the ownership of the returned
|
| // A scoped object to enable and disable the magnifier accelerator for test. |
| class ScopedEnablerForTest { |
| @@ -42,22 +37,14 @@ class ASH_EXPORT MagnifierKeyScroller : public ui::EventHandler { |
| }; |
| private: |
| - // A state to keep track of one click and click and hold operation. |
| - // |
| - // One click: |
| - // INITIAL --(first press)--> PRESSED --(release)--> INITIAL[SEND PRESS] |
| - // |
| - // Click and hold: |
| - // INITIAL --(first press)--> PRESSED --(press)--> |
| - // HOLD[scroll] --(press)--> HOLD[scroll] --(release)--> |
| - // INITIAL[stop scroll] |
| - enum State { |
| - INITIAL, |
| - PRESSED, |
| - HOLD |
| - }; |
| + // KeyHoldDetector overrides: |
| + virtual bool ShouldProcessEvent(const ui::KeyEvent* event) const OVERRIDE; |
| + virtual bool IsStartEvent(const ui::KeyEvent* event) const OVERRIDE; |
| + virtual void OnKeyHold(const ui::KeyEvent* event) OVERRIDE; |
| + virtual void OnKeyUnhold(const ui::KeyEvent* event) OVERRIDE; |
| - State state_; |
| + MagnifierKeyScroller(); |
| + virtual ~MagnifierKeyScroller(); |
| DISALLOW_COPY_AND_ASSIGN(MagnifierKeyScroller); |
| }; |