Chromium Code Reviews| Index: base/message_loop/message_loop.cc |
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
| index 8f6c9d8cb6f0d0901d1a6d7fdb1d04b871adc6a9..ac9b44617db9cc007ceaacf3b540d5771981ec8b 100644 |
| --- a/base/message_loop/message_loop.cc |
| +++ b/base/message_loop/message_loop.cc |
| @@ -87,7 +87,6 @@ const LinearHistogram::DescriptionPair event_descriptions_[] = { |
| bool enable_histogrammer_ = false; |
| MessageLoop::MessagePumpFactory* message_pump_for_ui_factory_ = NULL; |
| - |
|
darin (slow to review)
2014/03/05 00:37:05
nit: I think it was better to have a new line here
|
| // Returns true if MessagePump::ScheduleWork() must be called one |
| // time for every task that is added to the MessageLoop incoming queue. |
| bool AlwaysNotifyPump(MessageLoop::Type type) { |
| @@ -123,7 +122,7 @@ MessageLoop::MessageLoop(Type type) |
| run_loop_(NULL) { |
| Init(); |
| - pump_.reset(CreateMessagePumpForType(type)); |
| + pump_.reset(CreateMessagePumpForType(type).release()); |
|
darin (slow to review)
2014/03/05 00:37:05
nit: you could also write:
pump_ = CreateMessag
|
| } |
| MessageLoop::MessageLoop(scoped_ptr<MessagePump> pump) |
| @@ -190,36 +189,37 @@ void MessageLoop::EnableHistogrammer(bool enable) { |
| } |
| // static |
| -bool MessageLoop::InitMessagePumpForUIFactory(MessagePumpFactory* factory) { |
| +bool MessageLoop::InitMessagePumpForUIFactory(scoped_ptr<MessagePumpFactory> |
| + factory) { |
| if (message_pump_for_ui_factory_) |
| return false; |
| - message_pump_for_ui_factory_ = factory; |
| + message_pump_for_ui_factory_ = factory.release(); |
| return true; |
| } |
| // static |
| -MessagePump* MessageLoop::CreateMessagePumpForType(Type type) { |
| +scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) { |
| // TODO(rvargas): Get rid of the OS guards. |
| #if defined(OS_WIN) |
| -#define MESSAGE_PUMP_UI new MessagePumpForUI() |
| -#define MESSAGE_PUMP_IO new MessagePumpForIO() |
| +#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpForUI()) |
| +#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpForIO()) |
| #elif defined(OS_IOS) |
| -#define MESSAGE_PUMP_UI MessagePumpMac::Create() |
| -#define MESSAGE_PUMP_IO new MessagePumpIOSForIO() |
| +#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(MessagePumpMac::Create()) |
| +#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpIOSForIO()) |
| #elif defined(OS_MACOSX) |
| -#define MESSAGE_PUMP_UI MessagePumpMac::Create() |
| -#define MESSAGE_PUMP_IO new MessagePumpLibevent() |
| +#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(MessagePumpMac::Create()) |
| +#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpLibevent()) |
| #elif defined(OS_NACL) |
| // Currently NaCl doesn't have a UI MessageLoop. |
| // TODO(abarth): Figure out if we need this. |
| -#define MESSAGE_PUMP_UI NULL |
| +#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>() |
| // ipc_channel_nacl.cc uses a worker thread to do socket reads currently, and |
| // doesn't require extra support for watching file descriptors. |
| -#define MESSAGE_PUMP_IO new MessagePumpDefault() |
| +#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpDefault()) |
| #elif defined(OS_POSIX) // POSIX but not MACOSX. |
| -#define MESSAGE_PUMP_UI new MessagePumpForUI() |
| -#define MESSAGE_PUMP_IO new MessagePumpLibevent() |
| +#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpForUI()) |
| +#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpLibevent()) |
| #else |
| #error Not implemented |
| #endif |
| @@ -240,7 +240,7 @@ MessagePump* MessageLoop::CreateMessagePumpForType(Type type) { |
| return MESSAGE_PUMP_UI; |
| #endif |
| DCHECK_EQ(MessageLoop::TYPE_DEFAULT, type); |
| - return new MessagePumpDefault(); |
| + return scoped_ptr<MessagePump>(new MessagePumpDefault()); |
| } |
| void MessageLoop::AddDestructionObserver( |