summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:32:44 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:32:44 +0000
commit7b398be3d0a34cb44dff6c45a6842f4ab4c1116e (patch)
tree3ca8fa89c3fa907eda6fde8c3e922cc9c54d5783 /base
parent39c9b9cd2230207b23e581a3f0307c6bd25676aa (diff)
downloadchromium_src-7b398be3d0a34cb44dff6c45a6842f4ab4c1116e.zip
chromium_src-7b398be3d0a34cb44dff6c45a6842f4ab4c1116e.tar.gz
chromium_src-7b398be3d0a34cb44dff6c45a6842f4ab4c1116e.tar.bz2
Run event executor on the ui thread to remove the need to explicitly XFlush() the XTest calls.
BUG=none TEST=Connect to a host and try moving the mouse and typing. Both inputs should be reflected correctly. Review URL: http://codereview.chromium.org/6489031 Patch from Jamie Walch <jamiewalch@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75477 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/message_loop.cc12
-rw-r--r--base/message_loop.h5
2 files changed, 17 insertions, 0 deletions
diff --git a/base/message_loop.cc b/base/message_loop.cc
index d83adcc..453172b 100644
--- a/base/message_loop.cc
+++ b/base/message_loop.cc
@@ -4,6 +4,11 @@
#include "base/message_loop.h"
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#endif
+
#include <algorithm>
#include "base/compiler_specific.h"
@@ -664,6 +669,13 @@ void MessageLoopForUI::DidProcessMessage(const MSG& message) {
}
#endif // defined(OS_WIN)
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
+Display* MessageLoopForUI::get_display()
+{
+ return gdk_x11_get_default_xdisplay();
+}
+#endif
+
#if !defined(OS_MACOSX) && !defined(OS_NACL)
void MessageLoopForUI::AddObserver(Observer* observer) {
pump_ui()->AddObserver(observer);
diff --git a/base/message_loop.h b/base/message_loop.h
index d238997..58306a7 100644
--- a/base/message_loop.h
+++ b/base/message_loop.h
@@ -24,6 +24,7 @@
#include "base/message_pump_libevent.h"
#if !defined(OS_MACOSX)
#include "base/message_pump_glib.h"
+typedef struct _XDisplay Display;
#endif
#endif
#if defined(TOUCH_UI)
@@ -508,6 +509,10 @@ class MessageLoopForUI : public MessageLoop {
void DidProcessMessage(const MSG& message);
#endif // defined(OS_WIN)
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
+ Display* get_display();
+#endif
+
#if !defined(OS_MACOSX)
// Please see message_pump_win/message_pump_glib for definitions of these
// methods.