| Index: base/threading/post_task_and_reply_impl.h
|
| diff --git a/base/threading/post_task_and_reply_impl.h b/base/threading/post_task_and_reply_impl.h
|
| index d21ab78de85501e4cd7dd8cf66d0e02e8176dc5f..5663b20a22445e68d6ce8375bcb788777ccf5df3 100644
|
| --- a/base/threading/post_task_and_reply_impl.h
|
| +++ b/base/threading/post_task_and_reply_impl.h
|
| @@ -2,41 +2,26 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// This file contains the implementation shared by
|
| -// TaskRunner::PostTaskAndReply and WorkerPool::PostTaskAndReply.
|
| -
|
| #ifndef BASE_THREADING_POST_TASK_AND_REPLY_IMPL_H_
|
| #define BASE_THREADING_POST_TASK_AND_REPLY_IMPL_H_
|
|
|
| +#include "base/base_export.h"
|
| #include "base/callback_forward.h"
|
| #include "base/location.h"
|
|
|
| namespace base {
|
| namespace internal {
|
|
|
| -// Inherit from this in a class that implements PostTask appropriately
|
| -// for sending to a destination thread.
|
| -//
|
| -// Note that 'reply' will always get posted back to your current
|
| -// MessageLoop.
|
| -//
|
| -// If you're looking for a concrete implementation of
|
| -// PostTaskAndReply, you probably want base::SingleThreadTaskRunner, or you
|
| -// may want base::WorkerPool.
|
| -class PostTaskAndReplyImpl {
|
| - public:
|
| - virtual ~PostTaskAndReplyImpl() = default;
|
| -
|
| - // Implementation for TaskRunner::PostTaskAndReply and
|
| - // WorkerPool::PostTaskAndReply.
|
| - bool PostTaskAndReply(const tracked_objects::Location& from_here,
|
| - const Closure& task,
|
| - const Closure& reply);
|
| +using PostTaskCallback =
|
| + Callback<bool(const tracked_objects::Location&, const Closure& task)>;
|
|
|
| - private:
|
| - virtual bool PostTask(const tracked_objects::Location& from_here,
|
| - const Closure& task) = 0;
|
| -};
|
| +// Posts |task| via |post_task_callback|. Then, when |task| completes its
|
| +// execution, posts |reply| to the sequence from which this function was
|
| +// invoked. Can only be called when SequencedTaskRunnerHandle::IsSet().
|
| +bool BASE_EXPORT PostTaskAndReply(const tracked_objects::Location& from_here,
|
| + const Closure& task,
|
| + const Closure& reply,
|
| + const PostTaskCallback& post_task_callback);
|
|
|
| } // namespace internal
|
| } // namespace base
|
|
|