summaryrefslogtreecommitdiffstats
path: root/base/message_loop
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-14 21:13:20 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-14 21:13:20 +0000
commitc8ef1d0bc63aa014ba0fb94049671b371c0d5d18 (patch)
treef3f7a66331dde62271d9f9aeac0618cb9a07946b /base/message_loop
parent4b05a7bb244c80ffd75fd67cbb8d55f6735a5e04 (diff)
downloadchromium_src-c8ef1d0bc63aa014ba0fb94049671b371c0d5d18.zip
chromium_src-c8ef1d0bc63aa014ba0fb94049671b371c0d5d18.tar.gz
chromium_src-c8ef1d0bc63aa014ba0fb94049671b371c0d5d18.tar.bz2
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 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263726 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_loop')
-rw-r--r--base/message_loop/message_loop.h23
-rw-r--r--base/message_loop/message_pump_glib.h2
-rw-r--r--base/message_loop/message_pump_x11.cc63
-rw-r--r--base/message_loop/message_pump_x11.h42
4 files changed, 5 insertions, 125 deletions
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 6539c65..07f9105 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -34,14 +34,10 @@
#include "base/message_loop/message_pump_libevent.h"
#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-#if defined(USE_AURA) && defined(USE_X11) && !defined(OS_NACL)
-#include "base/message_loop/message_pump_x11.h"
+#if defined(USE_GLIB) && !defined(OS_NACL)
+#include "base/message_loop/message_pump_glib.h"
#elif !defined(OS_ANDROID_HOST)
-#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
+#include "base/message_loop/message_pump_glib.h"
#endif
#endif
@@ -95,8 +91,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
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
@@ -413,13 +407,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
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_;
@@ -593,10 +580,6 @@ class BASE_EXPORT MessageLoopForUI : public MessageLoop {
#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() {
diff --git a/base/message_loop/message_pump_glib.h b/base/message_loop/message_pump_glib.h
index 0211b0f..9acc472 100644
--- a/base/message_loop/message_pump_glib.h
+++ b/base/message_loop/message_pump_glib.h
@@ -94,6 +94,8 @@ class BASE_EXPORT MessagePumpGlib : public MessagePump {
DISALLOW_COPY_AND_ASSIGN(MessagePumpGlib);
};
+typedef MessagePumpGlib MessagePumpForUI;
+
} // namespace base
#endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_GLIB_H_
diff --git a/base/message_loop/message_pump_x11.cc b/base/message_loop/message_pump_x11.cc
deleted file mode 100644
index fb40b1d..0000000
--- a/base/message_loop/message_pump_x11.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/message_loop/message_pump_x11.h"
-
-#include <glib.h>
-#include <X11/X.h>
-#include <X11/extensions/XInput2.h>
-#include <X11/XKBlib.h>
-
-#include "base/basictypes.h"
-#include "base/message_loop/message_loop.h"
-
-namespace base {
-
-namespace {
-
-// The connection is essentially a global that's accessed through a static
-// method and destroyed whenever ~MessagePumpX11() is called. We do this
-// for historical reasons so user code can call
-// MessagePumpForUI::GetDefaultXDisplay() where MessagePumpForUI is a typedef
-// to whatever type in the current build.
-//
-// TODO(erg): This can be changed to something more sane like
-// MessagePumpX11::Current()->display() once MessagePumpGtk goes away.
-Display* g_xdisplay = NULL;
-
-} // namespace
-
-MessagePumpX11::MessagePumpX11() : MessagePumpGlib() {
- GetDefaultXDisplay();
-}
-
-MessagePumpX11::~MessagePumpX11() {
- if (g_xdisplay) {
- XCloseDisplay(g_xdisplay);
- g_xdisplay = NULL;
- }
-}
-
-// static
-Display* MessagePumpX11::GetDefaultXDisplay() {
- if (!g_xdisplay)
- g_xdisplay = XOpenDisplay(NULL);
- return g_xdisplay;
-}
-
-#if defined(TOOLKIT_GTK)
-// static
-MessagePumpX11* MessagePumpX11::Current() {
- MessageLoop* loop = MessageLoop::current();
- return static_cast<MessagePumpX11*>(loop->pump_gpu());
-}
-#else
-// static
-MessagePumpX11* MessagePumpX11::Current() {
- MessageLoopForUI* loop = MessageLoopForUI::current();
- return static_cast<MessagePumpX11*>(loop->pump_ui());
-}
-#endif
-
-} // namespace base
diff --git a/base/message_loop/message_pump_x11.h b/base/message_loop/message_pump_x11.h
deleted file mode 100644
index 5fdfeea..0000000
--- a/base/message_loop/message_pump_x11.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_X11_H
-#define BASE_MESSAGE_LOOP_MESSAGE_PUMP_X11_H
-
-#include <bitset>
-#include <map>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop/message_pump.h"
-#include "base/message_loop/message_pump_glib.h"
-#include "base/observer_list.h"
-
-typedef struct _XDisplay Display;
-
-namespace base {
-
-// This class implements a message-pump for dispatching X events.
-class BASE_EXPORT MessagePumpX11 : public MessagePumpGlib {
- public:
- MessagePumpX11();
- virtual ~MessagePumpX11();
-
- // Returns default X Display.
- static Display* GetDefaultXDisplay();
-
- // Returns the UI or GPU message pump.
- static MessagePumpX11* Current();
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MessagePumpX11);
-};
-
-#if !defined(TOOLKIT_GTK)
-typedef MessagePumpX11 MessagePumpForUI;
-#endif
-
-} // namespace base
-
-#endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_X11_H