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() {