| Index: base/message_loop_proxy_impl.cc
|
| diff --git a/base/message_loop_proxy_impl.cc b/base/message_loop_proxy_impl.cc
|
| index af0d21439b82618fc303f3fc326e995c64d73dec..6b52351c29967b43be3b57fa1b4cb1d8324e1068 100644
|
| --- a/base/message_loop_proxy_impl.cc
|
| +++ b/base/message_loop_proxy_impl.cc
|
| @@ -8,13 +8,6 @@
|
| namespace base {
|
|
|
| MessageLoopProxyImpl::~MessageLoopProxyImpl() {
|
| - AutoLock lock(message_loop_lock_);
|
| - // If the target message loop still exists, the d'tor WILL execute on the
|
| - // target loop.
|
| - if (target_message_loop_) {
|
| - DCHECK(MessageLoop::current() == target_message_loop_);
|
| - MessageLoop::current()->RemoveDestructionObserver(this);
|
| - }
|
| }
|
|
|
| // MessageLoopProxy implementation
|
| @@ -102,7 +95,6 @@ void MessageLoopProxyImpl::OnDestruct() const {
|
|
|
| MessageLoopProxyImpl::MessageLoopProxyImpl()
|
| : target_message_loop_(MessageLoop::current()) {
|
| - target_message_loop_->AddDestructionObserver(this);
|
| }
|
|
|
| bool MessageLoopProxyImpl::PostTaskHelper(
|
| @@ -143,9 +135,11 @@ bool MessageLoopProxyImpl::PostTaskHelper(
|
| }
|
|
|
| scoped_refptr<MessageLoopProxy>
|
| -MessageLoopProxy::CreateForCurrentThread() {
|
| - scoped_refptr<MessageLoopProxy> ret(new MessageLoopProxyImpl());
|
| - return ret;
|
| +MessageLoopProxy::current() {
|
| + MessageLoop* cur_loop = MessageLoop::current();
|
| + if (!cur_loop)
|
| + return NULL;
|
| + return cur_loop->message_loop_proxy();
|
| }
|
|
|
| } // namespace base
|
|
|