Revert 245226 "Nukes MessageLoop::Dispatcher"

> Nukes MessageLoop::Dispatcher
> 
> There is no point in this typedef now that MessagePumpDispatcher is
> its own class.
> 
> BUG=none
> TEST=none
> R=ben@chromium.org, darin@chromium.org
> 
> Review URL: https://codereview.chromium.org/139593002

TBR=sky@chromium.org

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

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


CrOS-Libchrome-Original-Commit: d57905e9d64d545c597ba17aa0bea785e3e36af7
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 74eddaf..59c6cdc 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -25,8 +25,9 @@
 #include "base/time/time.h"
 #include "base/tracking_info.h"
 
-// TODO(sky): these includes should not be necessary. Nuke them.
 #if defined(OS_WIN)
+// We need this to declare base::MessagePumpWin::Dispatcher, which we should
+// really just eliminate.
 #include "base/message_loop/message_pump_win.h"
 #elif defined(OS_IOS)
 #include "base/message_loop/message_pump_io_ios.h"
@@ -52,6 +53,7 @@
 namespace base {
 
 class HistogramBase;
+class MessagePumpDispatcher;
 class MessagePumpObserver;
 class RunLoop;
 class ThreadTaskRunnerHandle;
@@ -95,6 +97,7 @@
  public:
 
 #if defined(USE_AURA)
+  typedef MessagePumpDispatcher Dispatcher;
   typedef MessagePumpObserver Observer;
 #elif defined(USE_GTK_MESSAGE_PUMP)
   typedef MessagePumpGdkObserver Observer;