x11: Remove MessagePumpObserver.

Convert the last ramining instances of MessagePumpObservers into
PlatformEventObservers, and remove support for MessagePumpObservers
from non-Windows platforms.

BUG=354062
R=sky@chromium.org
TBR=darin@chromium.org

Review URL: https://codereview.chromium.org/233653002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263158 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: e10f5fe11f4e034f7e12bd5cf4ab0a9d11bb8639
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index 5f51fb7..6bea30c 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -669,8 +669,7 @@
 }
 #endif
 
-#if !defined(OS_NACL) && (defined(TOOLKIT_GTK) || \
-                          defined(OS_WIN) || defined(USE_X11))
+#if !defined(OS_NACL) && defined(OS_WIN)
 void MessageLoopForUI::AddObserver(Observer* observer) {
   pump_ui()->AddObserver(observer);
 }
@@ -678,7 +677,7 @@
 void MessageLoopForUI::RemoveObserver(Observer* observer) {
   pump_ui()->RemoveObserver(observer);
 }
-#endif  //  !defined(OS_MACOSX) && !defined(OS_NACL) && !defined(OS_ANDROID)
+#endif  // !defined(OS_NACL) && defined(OS_WIN)
 
 #if defined(USE_OZONE) && !defined(OS_NACL)
 bool MessageLoopForUI::WatchFileDescriptor(
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index a56de80..6539c65 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -93,8 +93,7 @@
 //
 class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
  public:
-
-#if defined(USE_AURA)
+#if defined(OS_WIN)
   typedef MessagePumpObserver Observer;
 #elif defined(USE_GTK_MESSAGE_PUMP)
   typedef MessagePumpGdkObserver Observer;
@@ -577,10 +576,8 @@
   void Start();
 #endif
 
-#if !defined(OS_NACL) && (defined(TOOLKIT_GTK) || \
-                          defined(OS_WIN) || defined(USE_X11))
-  // Please see message_pump_win/message_pump_glib for definitions of these
-  // methods.
+#if !defined(OS_NACL) && defined(OS_WIN)
+  // Please see message_pump_win for definitions of these methods.
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
 #endif
diff --git a/base/message_loop/message_pump_observer.h b/base/message_loop/message_pump_observer.h
index 1e8a7f5..d6e7abf 100644
--- a/base/message_loop/message_pump_observer.h
+++ b/base/message_loop/message_pump_observer.h
@@ -8,16 +8,16 @@
 #include "base/base_export.h"
 #include "base/event_types.h"
 
+#if !defined(OS_WIN)
+#error Should not be here.
+#endif
+
 namespace base {
 
 // A MessagePumpObserver is an object that receives global
-// notifications from the UI MessageLoop with MessagePumpWin or
-// MessagePumpX11.
+// notifications from the UI MessageLoop with MessagePumpWin.
 //
 // NOTE: An Observer implementation should be extremely fast!
-//
-// For use with MessagePumpX11, please see message_pump_glib.h for more
-// info about how this is invoked in this environment.
 class BASE_EXPORT MessagePumpObserver {
  public:
   // This method is called before processing a NativeEvent.
diff --git a/base/message_loop/message_pump_x11.cc b/base/message_loop/message_pump_x11.cc
index 69d574c..fb40b1d 100644
--- a/base/message_loop/message_pump_x11.cc
+++ b/base/message_loop/message_pump_x11.cc
@@ -60,20 +60,4 @@
 }
 #endif
 
-void MessagePumpX11::AddObserver(MessagePumpObserver* observer) {
-  observers_.AddObserver(observer);
-}
-
-void MessagePumpX11::RemoveObserver(MessagePumpObserver* observer) {
-  observers_.RemoveObserver(observer);
-}
-
-void MessagePumpX11::WillProcessXEvent(XEvent* xevent) {
-  FOR_EACH_OBSERVER(MessagePumpObserver, observers_, WillProcessEvent(xevent));
-}
-
-void MessagePumpX11::DidProcessXEvent(XEvent* xevent) {
-  FOR_EACH_OBSERVER(MessagePumpObserver, observers_, DidProcessEvent(xevent));
-}
-
 }  // namespace base
diff --git a/base/message_loop/message_pump_x11.h b/base/message_loop/message_pump_x11.h
index ee20672..5fdfeea 100644
--- a/base/message_loop/message_pump_x11.h
+++ b/base/message_loop/message_pump_x11.h
@@ -10,27 +10,14 @@
 
 #include "base/memory/scoped_ptr.h"
 #include "base/message_loop/message_pump.h"
-#include "base/message_loop/message_pump_dispatcher.h"
 #include "base/message_loop/message_pump_glib.h"
-#include "base/message_loop/message_pump_observer.h"
 #include "base/observer_list.h"
 
-// It would be nice to include the X11 headers here so that we use Window
-// instead of its typedef of unsigned long, but we can't because everything in
-// chrome includes us through base/message_loop/message_loop.h, and X11's crappy
-// #define heavy headers muck up half of chrome.
-
-typedef struct _GPollFD GPollFD;
-typedef struct _GSource GSource;
 typedef struct _XDisplay Display;
 
 namespace base {
 
 // This class implements a message-pump for dispatching X events.
-//
-// If there's a current dispatcher given through RunWithDispatcher(), that
-// dispatcher receives events. Otherwise, we route to messages to dispatchers
-// who have subscribed to messages from a specific X11 window.
 class BASE_EXPORT MessagePumpX11 : public MessagePumpGlib {
  public:
   MessagePumpX11();
@@ -42,21 +29,7 @@
   // Returns the UI or GPU message pump.
   static MessagePumpX11* Current();
 
-  // Adds an Observer, which will start receiving notifications immediately.
-  void AddObserver(MessagePumpObserver* observer);
-
-  // Removes an Observer.  It is safe to call this method while an Observer is
-  // receiving a notification callback.
-  void RemoveObserver(MessagePumpObserver* observer);
-
-  // Sends the event to the observers.
-  void WillProcessXEvent(XEvent* xevent);
-  void DidProcessXEvent(XEvent* xevent);
-
  private:
-  // List of observers.
-  ObserverList<MessagePumpObserver> observers_;
-
   DISALLOW_COPY_AND_ASSIGN(MessagePumpX11);
 };