| 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)));
|
|
|