Mac-specific CFRunLoop-based MessagePump implementation
Review URL: http://codereview.chromium.org/444

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


CrOS-Libchrome-Original-Commit: 96c9ea12f042a0c12f4de097c86e3be27a458bd2
diff --git a/base/message_loop.cc b/base/message_loop.cc
index ccd6d3e..91c40d3 100644
--- a/base/message_loop.cc
+++ b/base/message_loop.cc
@@ -13,6 +13,9 @@
 #include "base/string_util.h"
 #include "base/thread_local.h"
 
+#if defined(OS_MACOSX)
+#include "base/message_pump_mac.h"
+#endif
 #if defined(OS_POSIX)
 #include "base/message_pump_libevent.h"
 #endif
@@ -83,14 +86,19 @@
     pump_ = new base::MessagePumpWin();
   }
 #elif defined(OS_POSIX)
+#if defined(OS_MACOSX)
+  if (type_ == TYPE_UI) {
+    pump_ = base::MessagePumpMac::Create();
+  } else
+#endif  // OS_MACOSX
   if (type_ == TYPE_IO) {
     pump_ = new base::MessagePumpLibevent();
   } else {
     pump_ = new base::MessagePumpDefault();
   }
-#else
+#else  // OS_POSIX
   pump_ = new base::MessagePumpDefault();
-#endif
+#endif  // OS_POSIX
 }
 
 MessageLoop::~MessageLoop() {