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