Index: chrome/browser/chromeos/events/event_rewriter.h |
diff --git a/chrome/browser/chromeos/events/event_rewriter.h b/chrome/browser/chromeos/events/event_rewriter.h |
index 3763a89e0cdbbd03420207c6d7cfbba07c39c6eb..ac45cf6c9157eca5c4e56612270384ece7beb972 100644 |
--- a/chrome/browser/chromeos/events/event_rewriter.h |
+++ b/chrome/browser/chromeos/events/event_rewriter.h |
@@ -23,6 +23,10 @@ typedef union _XEvent XEvent; |
class PrefService; |
+namespace ash { |
+class StickyKeysController; |
+} |
+ |
namespace chromeos { |
namespace input_method { |
class ImeKeyboard; |
@@ -51,7 +55,10 @@ class EventRewriter |
kDeviceAppleKeyboard, |
}; |
- EventRewriter(); |
+ // Does not take ownership of the |sticky_keys_controller|, which may also |
+ // be NULL (for testing without ash), in which case sticky key operations |
+ // don't happen. |
+ explicit EventRewriter(ash::StickyKeysController* sticky_keys_controller); |
virtual ~EventRewriter(); |
// Calls DeviceAddedInternal. |
@@ -98,7 +105,7 @@ class EventRewriter |
#endif |
private: |
- // Things that internal rewriter phases can change about an Event. |
+ // Things that keyboard-related rewriter phases can change about an Event. |
struct MutableKeyState { |
int flags; |
ui::KeyboardCode key_code; |
@@ -151,12 +158,18 @@ class EventRewriter |
ui::EventRewriteStatus RewriteKeyEvent( |
const ui::KeyEvent& key_event, |
scoped_ptr<ui::Event>* rewritten_event); |
- ui::EventRewriteStatus RewriteMouseEvent( |
+ ui::EventRewriteStatus RewriteMouseButtonEvent( |
const ui::MouseEvent& mouse_event, |
scoped_ptr<ui::Event>* rewritten_event); |
+ ui::EventRewriteStatus RewriteMouseWheelEvent( |
+ const ui::MouseWheelEvent& mouse_event, |
+ scoped_ptr<ui::Event>* rewritten_event); |
ui::EventRewriteStatus RewriteTouchEvent( |
const ui::TouchEvent& touch_event, |
scoped_ptr<ui::Event>* rewritten_event); |
+ ui::EventRewriteStatus RewriteScrollEvent( |
+ const ui::ScrollEvent& scroll_event, |
+ scoped_ptr<ui::Event>* rewritten_event); |
// Rewriter phases. These can inspect the original |event|, but operate using |
// the current |state|, which may have been modified by previous phases. |
@@ -175,6 +188,10 @@ class EventRewriter |
chromeos::input_method::ImeKeyboard* ime_keyboard_for_testing_; |
const PrefService* pref_service_for_testing_; |
+ // The sticky keys controller is not owned here; |
+ // at time of writing it is a singleton in ash::Shell> |
+ ash::StickyKeysController* sticky_keys_controller_; |
+ |
DISALLOW_COPY_AND_ASSIGN(EventRewriter); |
}; |