Index: base/task_runner.cc |
diff --git a/base/task_runner.cc b/base/task_runner.cc |
index 262e1f8b09eac8d9f91b4113ddeccc27a33323ad..8f9d0f5a082b1023ab2be433ca25986703bbbb08 100644 |
--- a/base/task_runner.cc |
+++ b/base/task_runner.cc |
@@ -4,42 +4,14 @@ |
#include "base/task_runner.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
gab
2016/07/25 17:57:44
I think bind_helpers.h is an implicit include from
fdoray
2016/07/25 20:40:04
Done.
|
#include "base/compiler_specific.h" |
#include "base/logging.h" |
#include "base/threading/post_task_and_reply_impl.h" |
namespace base { |
-namespace { |
- |
-// TODO(akalin): There's only one other implementation of |
-// PostTaskAndReplyImpl in WorkerPool. Investigate whether it'll be |
-// possible to merge the two. |
-class PostTaskAndReplyTaskRunner : public internal::PostTaskAndReplyImpl { |
- public: |
- explicit PostTaskAndReplyTaskRunner(TaskRunner* destination); |
- |
- private: |
- bool PostTask(const tracked_objects::Location& from_here, |
- const Closure& task) override; |
- |
- // Non-owning. |
- TaskRunner* destination_; |
-}; |
- |
-PostTaskAndReplyTaskRunner::PostTaskAndReplyTaskRunner( |
- TaskRunner* destination) : destination_(destination) { |
- DCHECK(destination_); |
-} |
- |
-bool PostTaskAndReplyTaskRunner::PostTask( |
- const tracked_objects::Location& from_here, |
- const Closure& task) { |
- return destination_->PostTask(from_here, task); |
-} |
- |
-} // namespace |
- |
bool TaskRunner::PostTask(const tracked_objects::Location& from_here, |
const Closure& task) { |
return PostDelayedTask(from_here, task, base::TimeDelta()); |
@@ -49,8 +21,8 @@ bool TaskRunner::PostTaskAndReply( |
const tracked_objects::Location& from_here, |
const Closure& task, |
const Closure& reply) { |
- return PostTaskAndReplyTaskRunner(this).PostTaskAndReply( |
- from_here, task, reply); |
+ return internal::PostTaskAndReply( |
+ from_here, task, reply, Bind(&TaskRunner::PostTask, Unretained(this))); |
} |
TaskRunner::TaskRunner() {} |