| Index: base/task_runner.cc
|
| diff --git a/base/task_runner.cc b/base/task_runner.cc
|
| index 262e1f8b09eac8d9f91b4113ddeccc27a33323ad..6c6b76e6318eac6a0cf93bb90a31fd135137e923 100644
|
| --- a/base/task_runner.cc
|
| +++ b/base/task_runner.cc
|
| @@ -4,42 +4,13 @@
|
|
|
| #include "base/task_runner.h"
|
|
|
| +#include "base/bind.h"
|
| #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 +20,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() {}
|
|
|