Revert 263726 "x11: Remove X11 message-pump."
Reason for revert: along with 263718 blamed for
http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/45298
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/29956
> x11: Remove X11 message-pump.
>
> The remaining use of the X11 mesage-pump was opening the connection to the
> X11 server. This patch moves that out of the message-pump, into gfx. This
> allows us to remove the X11 message-pump, and just use the base Glib-based
> message-pump on Linux and ChromeOS.
>
> BUG=354062
> R=darin@chromium.org, sky@chromium.org
>
> Review URL: https://codereview.chromium.org/235043005
TBR=sadrul@chromium.org
Review URL: https://codereview.chromium.org/238093002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263733 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: dfca51a8801c7be9db5cb59de202dc0e0c91ccda
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 07f9105..6539c65 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -34,10 +34,14 @@
#include "base/message_loop/message_pump_libevent.h"
#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-#if defined(USE_GLIB) && !defined(OS_NACL)
-#include "base/message_loop/message_pump_glib.h"
+#if defined(USE_AURA) && defined(USE_X11) && !defined(OS_NACL)
+#include "base/message_loop/message_pump_x11.h"
#elif !defined(OS_ANDROID_HOST)
-#include "base/message_loop/message_pump_glib.h"
+#define USE_GTK_MESSAGE_PUMP
+#include "base/message_loop/message_pump_gtk.h"
+#if defined(TOOLKIT_GTK)
+#include "base/message_loop/message_pump_x11.h"
+#endif
#endif
#endif
@@ -91,6 +95,8 @@
public:
#if defined(OS_WIN)
typedef MessagePumpObserver Observer;
+#elif defined(USE_GTK_MESSAGE_PUMP)
+ typedef MessagePumpGdkObserver Observer;
#endif
// A MessageLoop has a particular type, which indicates the set of
@@ -407,6 +413,13 @@
MessagePumpLibevent* pump_libevent() {
return static_cast<MessagePumpLibevent*>(pump_.get());
}
+#if defined(TOOLKIT_GTK)
+ friend class MessagePumpX11;
+ MessagePumpX11* pump_gpu() {
+ DCHECK_EQ(TYPE_GPU, type());
+ return static_cast<MessagePumpX11*>(pump_.get());
+ }
+#endif
#endif
scoped_ptr<MessagePump> pump_;
@@ -580,6 +593,10 @@
#endif
protected:
+#if defined(USE_X11)
+ friend class MessagePumpX11;
+#endif
+
#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
// TODO(rvargas): Make this platform independent.
MessagePumpForUI* pump_ui() {