| Index: base/message_loop/message_loop_proxy_impl.cc
|
| diff --git a/base/message_loop/message_loop_proxy_impl.cc b/base/message_loop/message_loop_proxy_impl.cc
|
| index b7abca377e668270d2f1db89f54c3731de577602..1a54ddad00bb0c1f9c554c43c913ac24a32cf561 100644
|
| --- a/base/message_loop/message_loop_proxy_impl.cc
|
| +++ b/base/message_loop/message_loop_proxy_impl.cc
|
| @@ -12,10 +12,16 @@
|
| namespace base {
|
| namespace internal {
|
|
|
| -MessageLoopProxyImpl::MessageLoopProxyImpl(
|
| - scoped_refptr<IncomingTaskQueue> incoming_queue)
|
| - : incoming_queue_(incoming_queue),
|
| - valid_thread_id_(PlatformThread::CurrentId()) {
|
| +// static
|
| +MessageLoopProxyImpl* MessageLoopProxyImpl::Create(
|
| + scoped_refptr<IncomingTaskQueue> incoming_queue) {
|
| + return new MessageLoopProxyImpl(incoming_queue, false /* lazy_init */);
|
| +}
|
| +
|
| +// static
|
| +MessageLoopProxyImpl* MessageLoopProxyImpl::CreateForLazyInit(
|
| + scoped_refptr<IncomingTaskQueue> incoming_queue) {
|
| + return new MessageLoopProxyImpl(incoming_queue, true /* lazy_init */);
|
| }
|
|
|
| bool MessageLoopProxyImpl::PostDelayedTask(
|
| @@ -38,6 +44,19 @@ bool MessageLoopProxyImpl::RunsTasksOnCurrentThread() const {
|
| return valid_thread_id_ == PlatformThread::CurrentId();
|
| }
|
|
|
| +void MessageLoopProxyImpl::LazyInit() {
|
| + DCHECK_EQ(kInvalidThreadId, valid_thread_id_);
|
| + valid_thread_id_ = PlatformThread::CurrentId();
|
| +}
|
| +
|
| +MessageLoopProxyImpl::MessageLoopProxyImpl(
|
| + scoped_refptr<IncomingTaskQueue> incoming_queue,
|
| + bool lazy_init)
|
| + : incoming_queue_(incoming_queue),
|
| + valid_thread_id_(lazy_init ? kInvalidThreadId
|
| + : PlatformThread::CurrentId()) {
|
| +}
|
| +
|
| MessageLoopProxyImpl::~MessageLoopProxyImpl() {
|
| }
|
|
|
|
|