diff options
author | rjkroege@google.com <rjkroege@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-26 18:43:18 +0000 |
---|---|---|
committer | rjkroege@google.com <rjkroege@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-26 18:43:18 +0000 |
commit | b2f7ac4583b968d0c20ea8f6c4110aeb6882699a (patch) | |
tree | 7bcf1278af056ab056221da0ee01e81851e9ebde /chrome | |
parent | bd2b41afb25b648e3f77dce87064971f63894a7f (diff) | |
download | chromium_src-b2f7ac4583b968d0c20ea8f6c4110aeb6882699a.zip chromium_src-b2f7ac4583b968d0c20ea8f6c4110aeb6882699a.tar.gz chromium_src-b2f7ac4583b968d0c20ea8f6c4110aeb6882699a.tar.bz2 |
touchui: Directly process key and mouse events.
Capture the keyboard and mouse events directly from X, create a corresponding
views::Event out of it, and send it to the associated RootView.
Includes Chad's (wyck) function FindRootViewForGdkEvent (from #3704005) slightly
modified (called FindRootViewForGdkWindow).
BUG=None
TEST=Click/Keypress events in a webpage should work correctly.
Review URL: http://codereview.chromium.org/3801011
Patch from Sadrul Chowdhury <sadrul@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63916 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/chromeos/views/native_menu_domui.cc | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/views/native_menu_domui.h | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/views/native_menu_domui.cc b/chrome/browser/chromeos/views/native_menu_domui.cc index d1a0458..5ce238c 100644 --- a/chrome/browser/chromeos/views/native_menu_domui.cc +++ b/chrome/browser/chromeos/views/native_menu_domui.cc @@ -22,6 +22,10 @@ #include "views/controls/menu/native_menu_gtk.h" #include "views/controls/menu/nested_dispatcher_gtk.h" +#if defined(TOUCH_UI) +#include "views/focus/accelerator_handler.h" +#endif + namespace { using chromeos::NativeMenuDOMUI; @@ -244,6 +248,12 @@ bool NativeMenuDOMUI::Dispatch(GdkEvent* event) { return true; } +#if defined(TOUCH_UI) +bool NativeMenuDOMUI::Dispatch(XEvent* xevent) { + return views::DispatchXEvent(xevent); +} +#endif + //////////////////////////////////////////////////////////////////////////////// // NativeMenuDOMUI, MenuControl implementation: diff --git a/chrome/browser/chromeos/views/native_menu_domui.h b/chrome/browser/chromeos/views/native_menu_domui.h index fb03604e..03a6b92 100644 --- a/chrome/browser/chromeos/views/native_menu_domui.h +++ b/chrome/browser/chromeos/views/native_menu_domui.h @@ -27,6 +27,10 @@ namespace views { class NestedDispatcherGtk; } // namespace views; +#if defined(TOUCH_UI) +typedef union _XEvent XEvent; +#endif + namespace chromeos { class MenuLocator; @@ -59,6 +63,9 @@ class NativeMenuDOMUI : public views::MenuWrapper, // Overriden from MessageLoopForUI::Dispatcher: virtual bool Dispatch(GdkEvent* event); +#if defined(TOUCH_UI) + virtual bool Dispatch(XEvent* xevent); +#endif // Overriden from DOMUIMenuControl; virtual menus::MenuModel* GetMenuModel() { return model_; } |