diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 17:40:57 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 17:40:57 +0000 |
commit | 32857c06c8b61738dc7ac6c2adb7b3bd18a437d0 (patch) | |
tree | 63598ae15aff7b861b9651a4a823972daf5b578e /base | |
parent | 1a895fbc4c5a8b5b763593092d93a2bfed4b7417 (diff) | |
download | chromium_src-32857c06c8b61738dc7ac6c2adb7b3bd18a437d0.zip chromium_src-32857c06c8b61738dc7ac6c2adb7b3bd18a437d0.tar.gz chromium_src-32857c06c8b61738dc7ac6c2adb7b3bd18a437d0.tar.bz2 |
Revert of Revert "[Mac] Reland r276808 Use a native MessagePump instead of a MessagePumpDefault" (https://codereview.chromium.org/354673005/)
Reason for revert:
Original revert was due to a perf regression, which turned out to be nothing - see crbug.com/388360 for details.
Original issue's description:
> Revert "[Mac] Reland r276808 Use a native MessagePump instead of a MessagePumpDefault"
>
> This reverts commit e82339d44d0dde725295785b9fea8c448d382621.
>
> See if this fixes the perf regression.
>
> BUG=388360
> TBR=jeremy@chromium.org
> NOTRY=true
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=279474
TBR=miletus@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=388360
Review URL: https://codereview.chromium.org/349933004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279749 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/message_loop/message_loop.cc | 10 | ||||
-rw-r--r-- | base/message_loop/message_pump_default.h | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc index dd1a393..ccece4d 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( diff --git a/base/message_loop/message_pump_default.h b/base/message_loop/message_pump_default.h index a9b83e8..19e7200 100644 --- a/base/message_loop/message_pump_default.h +++ b/base/message_loop/message_pump_default.h @@ -5,13 +5,14 @@ #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_DEFAULT_H_ #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_DEFAULT_H_ +#include "base/base_export.h" #include "base/message_loop/message_pump.h" #include "base/synchronization/waitable_event.h" #include "base/time/time.h" namespace base { -class MessagePumpDefault : public MessagePump { +class BASE_EXPORT MessagePumpDefault : public MessagePump { public: MessagePumpDefault(); virtual ~MessagePumpDefault(); |