| Index: base/message_loop/message_loop.cc
|
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
|
| index e14ce859a6d925a512a11b6a89775209cebe2c87..229eae7bf8e7ec91c414c4fcc3e56e9a8bfbb086 100644
|
| --- a/base/message_loop/message_loop.cc
|
| +++ b/base/message_loop/message_loop.cc
|
| @@ -125,7 +125,7 @@ MessageLoop::MessageLoop(Type type)
|
| run_loop_(NULL) {
|
| Init();
|
|
|
| - pump_.reset(CreateMessagePumpForType(type));
|
| + pump_ = CreateMessagePumpForType(type).Pass();
|
| }
|
|
|
| MessageLoop::MessageLoop(scoped_ptr<MessagePump> pump)
|
| @@ -201,27 +201,27 @@ bool MessageLoop::InitMessagePumpForUIFactory(MessagePumpFactory* factory) {
|
| }
|
|
|
| // 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
|
| @@ -235,14 +235,14 @@ MessagePump* MessageLoop::CreateMessagePumpForType(Type type) {
|
| return MESSAGE_PUMP_IO;
|
| #if defined(TOOLKIT_GTK)
|
| if (type == MessageLoop::TYPE_GPU)
|
| - return new MessagePumpX11();
|
| + return scoped_ptr<MessagePump>(new MessagePumpX11());
|
| #endif
|
| #if defined(OS_ANDROID)
|
| if (type == MessageLoop::TYPE_JAVA)
|
| return MESSAGE_PUMP_UI;
|
| #endif
|
| DCHECK_EQ(MessageLoop::TYPE_DEFAULT, type);
|
| - return new MessagePumpDefault();
|
| + return scoped_ptr<MessagePump>(new MessagePumpDefault());
|
| }
|
|
|
| void MessageLoop::AddDestructionObserver(
|
|
|