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

Unified Diff: chrome/browser/chromeos/events/event_rewriter.h

Issue 255033003: Convert sticky keys to a chromeos::EventRewriter phase. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@x354034-er
Patch Set: distinguish between MouseEvent and MouseWheelEvent 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: 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);
};
« no previous file with comments | « chrome/browser/chromeos/chrome_browser_main_chromeos.cc ('k') | chrome/browser/chromeos/events/event_rewriter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698