| Index: base/message_loop/message_loop.cc
|
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
|
| index dd1a393ab08633514df9d6d021a1be7ff4dbd23f..ccece4d38ca1d4acb3d9810b9eb7ba9d646a58a4 100644
|
| --- a/base/message_loop/message_loop.cc
|
| +++ b/base/message_loop/message_loop.cc
|
| @@ -229,6 +229,14 @@ scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) {
|
| #define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpForUI())
|
| #endif
|
|
|
| +#if defined(OS_MACOSX)
|
| + // Use an OS native runloop on Mac to support timer coalescing.
|
| + #define MESSAGE_PUMP_DEFAULT \
|
| + scoped_ptr<MessagePump>(new MessagePumpCFRunLoop())
|
| +#else
|
| + #define MESSAGE_PUMP_DEFAULT scoped_ptr<MessagePump>(new MessagePumpDefault())
|
| +#endif
|
| +
|
| if (type == MessageLoop::TYPE_UI) {
|
| if (message_pump_for_ui_factory_)
|
| return message_pump_for_ui_factory_();
|
| @@ -243,7 +251,7 @@ scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) {
|
| #endif
|
|
|
| DCHECK_EQ(MessageLoop::TYPE_DEFAULT, type);
|
| - return scoped_ptr<MessagePump>(new MessagePumpDefault());
|
| + return MESSAGE_PUMP_DEFAULT;
|
| }
|
|
|
| void MessageLoop::AddDestructionObserver(
|
|
|