| Index: mojo/common/handle_watcher.cc
 | 
| diff --git a/mojo/common/handle_watcher.cc b/mojo/common/handle_watcher.cc
 | 
| index 79cdcdb616b7e8cc5c1b69603b945b52f06ced65..6bff0cd1a8981bfdcb190981d6d4b7aa93b88915 100644
 | 
| --- a/mojo/common/handle_watcher.cc
 | 
| +++ b/mojo/common/handle_watcher.cc
 | 
| @@ -14,9 +14,10 @@
 | 
|  #include "base/memory/singleton.h"
 | 
|  #include "base/memory/weak_ptr.h"
 | 
|  #include "base/message_loop/message_loop.h"
 | 
| -#include "base/message_loop/message_loop_proxy.h"
 | 
| +#include "base/single_thread_task_runner.h"
 | 
|  #include "base/synchronization/lock.h"
 | 
|  #include "base/synchronization/waitable_event.h"
 | 
| +#include "base/thread_task_runner_handle.h"
 | 
|  #include "base/threading/thread.h"
 | 
|  #include "base/threading/thread_restrictions.h"
 | 
|  #include "base/time/time.h"
 | 
| @@ -41,16 +42,14 @@ base::TimeTicks MojoDeadlineToTimeTicks(MojoDeadline deadline) {
 | 
|  // Tracks the data for a single call to Start().
 | 
|  struct WatchData {
 | 
|    WatchData()
 | 
| -      : id(0),
 | 
| -        handle_signals(MOJO_HANDLE_SIGNAL_NONE),
 | 
| -        message_loop(NULL) {}
 | 
| +      : id(0), handle_signals(MOJO_HANDLE_SIGNAL_NONE), task_runner(NULL) {}
 | 
|  
 | 
|    WatcherID id;
 | 
|    Handle handle;
 | 
|    MojoHandleSignals handle_signals;
 | 
|    base::TimeTicks deadline;
 | 
|    base::Callback<void(MojoResult)> callback;
 | 
| -  scoped_refptr<base::MessageLoopProxy> message_loop;
 | 
| +  scoped_refptr<base::SingleThreadTaskRunner> task_runner;
 | 
|  };
 | 
|  
 | 
|  // WatcherBackend --------------------------------------------------------------
 | 
| @@ -124,7 +123,7 @@ void WatcherBackend::RemoveAndNotify(const Handle& handle,
 | 
|    handle_to_data_.erase(handle);
 | 
|    MessagePumpMojo::current()->RemoveHandler(handle);
 | 
|  
 | 
| -  data.message_loop->PostTask(FROM_HERE, base::Bind(data.callback, result));
 | 
| +  data.task_runner->PostTask(FROM_HERE, base::Bind(data.callback, result));
 | 
|  }
 | 
|  
 | 
|  bool WatcherBackend::GetMojoHandleByWatcherID(WatcherID watcher_id,
 | 
| @@ -238,9 +237,7 @@ WatcherID WatcherThreadManager::StartWatching(
 | 
|    request_data.start_data.callback = callback;
 | 
|    request_data.start_data.handle_signals = handle_signals;
 | 
|    request_data.start_data.deadline = deadline;
 | 
| -  request_data.start_data.message_loop = base::MessageLoopProxy::current();
 | 
| -  DCHECK_NE(static_cast<base::MessageLoopProxy*>(NULL),
 | 
| -            request_data.start_data.message_loop.get());
 | 
| +  request_data.start_data.task_runner = base::ThreadTaskRunnerHandle::Get();
 | 
|    AddRequest(request_data);
 | 
|    return request_data.start_data.id;
 | 
|  }
 | 
| @@ -280,7 +277,7 @@ void WatcherThreadManager::AddRequest(const RequestData& data) {
 | 
|        return;
 | 
|    }
 | 
|    // We own |thread_|, so it's safe to use Unretained() here.
 | 
| -  thread_.message_loop()->PostTask(
 | 
| +  thread_.task_runner()->PostTask(
 | 
|        FROM_HERE,
 | 
|        base::Bind(&WatcherThreadManager::ProcessRequestsOnBackendThread,
 | 
|                   base::Unretained(this)));
 | 
| 
 |