summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorrjkroege@google.com <rjkroege@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-26 18:43:18 +0000
committerrjkroege@google.com <rjkroege@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-26 18:43:18 +0000
commitb2f7ac4583b968d0c20ea8f6c4110aeb6882699a (patch)
tree7bcf1278af056ab056221da0ee01e81851e9ebde /chrome
parentbd2b41afb25b648e3f77dce87064971f63894a7f (diff)
downloadchromium_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.cc10
-rw-r--r--chrome/browser/chromeos/views/native_menu_domui.h7
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_; }