diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index 87a0b63..cdd8721 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -184,10 +184,6 @@
       pump_.reset(MESSAGE_PUMP_UI);
   } else if (type_ == TYPE_IO) {
     pump_.reset(MESSAGE_PUMP_IO);
-#if defined(TOOLKIT_GTK)
-  } else if (type_ == TYPE_GPU) {
-    pump_.reset(new MessagePumpX11());
-#endif
 #if defined(OS_ANDROID)
   } else if (type_ == TYPE_JAVA) {
     pump_.reset(MESSAGE_PUMP_UI);
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 3520b72..bdad1b2 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -42,9 +42,6 @@
 #else
 #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
@@ -113,11 +110,6 @@
   //   This type of ML also supports native UI events (e.g., Windows messages).
   //   See also MessageLoopForUI.
   //
-  // TYPE_GPU
-  //   This type of ML also supports native UI events for use in the GPU
-  //   process. On Linux this will always be an X11 ML (as compared with the
-  //   sometimes-GTK ML in the browser process).
-  //
   // TYPE_IO
   //   This type of ML also supports asynchronous IO.  See also
   //   MessageLoopForIO.
@@ -131,9 +123,6 @@
   enum Type {
     TYPE_DEFAULT,
     TYPE_UI,
-#if defined(TOOLKIT_GTK)
-    TYPE_GPU,
-#endif
     TYPE_IO,
 #if defined(OS_ANDROID)
     TYPE_JAVA,
@@ -427,13 +416,6 @@
   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_;
@@ -617,7 +599,7 @@
 #endif
 
  protected:
-#if defined(USE_X11)
+#if defined(USE_AURA) && defined(USE_X11) && !defined(OS_NACL)
   friend class MessagePumpX11;
 #endif
 #if defined(USE_OZONE) && !defined(OS_NACL)
diff --git a/base/message_loop/message_pump_x11.cc b/base/message_loop/message_pump_x11.cc
index dd8b965..7e780b2 100644
--- a/base/message_loop/message_pump_x11.cc
+++ b/base/message_loop/message_pump_x11.cc
@@ -158,13 +158,7 @@
   return InitializeXInput2();
 }
 
-#if defined(TOOLKIT_GTK)
-// static
-MessagePumpX11* MessagePumpX11::Current() {
-  MessageLoop* loop = MessageLoop::current();
-  return static_cast<MessagePumpX11*>(loop->pump_gpu());
-}
-#else
+#if !defined(TOOLKIT_GTK)
 // static
 MessagePumpX11* MessagePumpX11::Current() {
   MessageLoopForUI* loop = MessageLoopForUI::current();
diff --git a/base/message_loop/message_pump_x11.h b/base/message_loop/message_pump_x11.h
index f1f678a..6f2c609 100644
--- a/base/message_loop/message_pump_x11.h
+++ b/base/message_loop/message_pump_x11.h
@@ -43,8 +43,10 @@
   // Returns true if the system supports XINPUT2.
   static bool HasXInput2();
 
-  // Returns the UI or GPU message pump.
+#if !defined(TOOLKIT_GTK)
+  // Returns the UI message pump.
   static MessagePumpX11* Current();
+#endif
 
   // Adds/Removes |dispatcher| for the |xid|. This will route all messages from
   // the window |xid| to |dispatcher.
