| Index: base/threading/thread.cc
|
| diff --git a/base/threading/thread.cc b/base/threading/thread.cc
|
| index aca4ddbaa02a11c37ef02b39b5e4c3da829f404e..a49c73a5a7393ae209396b1bd848af5cc3cfadca 100644
|
| --- a/base/threading/thread.cc
|
| +++ b/base/threading/thread.cc
|
| @@ -174,8 +174,15 @@ void Thread::ThreadMain() {
|
| {
|
| // The message loop for this thread.
|
| // Allocated on the heap to centralize any leak reports at this line.
|
| - scoped_ptr<MessageLoop> message_loop(
|
| - new MessageLoop(startup_data_->options.message_loop_type));
|
| + scoped_ptr<MessageLoop> message_loop;
|
| + if (startup_data_->options.message_pump) {
|
| + message_loop.reset(new MessageLoop(
|
| + scoped_ptr<base::MessagePump>(
|
| + startup_data_->options.message_pump)));
|
| + } else {
|
| + message_loop.reset(
|
| + new MessageLoop(startup_data_->options.message_loop_type));
|
| + }
|
|
|
| // Complete the initialization of our Thread object.
|
| thread_id_ = PlatformThread::CurrentId();
|
|
|