Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1084)

Unified Diff: base/threading/worker_pool.cc

Issue 2180953002: Support PostTaskAndReply from a sequenced task. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR gab #3 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/threading/worker_pool.cc
diff --git a/base/threading/worker_pool.cc b/base/threading/worker_pool.cc
index 6e07b6ef37e3d1b1c47ace828c6384a10061ddf0..db942be24fd7fc369ff8b828c156de4074e6eeb7 100644
--- a/base/threading/worker_pool.cc
+++ b/base/threading/worker_pool.cc
@@ -17,22 +17,6 @@ namespace base {
namespace {
-class PostTaskAndReplyWorkerPool : public internal::PostTaskAndReplyImpl {
- public:
- explicit PostTaskAndReplyWorkerPool(bool task_is_slow)
- : task_is_slow_(task_is_slow) {
- }
- ~PostTaskAndReplyWorkerPool() override = default;
-
- private:
- bool PostTask(const tracked_objects::Location& from_here,
- const Closure& task) override {
- return WorkerPool::PostTask(from_here, task, task_is_slow_);
- }
-
- bool task_is_slow_;
-};
-
// WorkerPoolTaskRunner ---------------------------------------------
// A TaskRunner which posts tasks to a WorkerPool with a
// fixed ShutdownBehavior.
@@ -113,8 +97,14 @@ bool WorkerPool::PostTaskAndReply(const tracked_objects::Location& from_here,
// http://crbug.com/290897
// Note: this annotation does not cover tasks posted through a TaskRunner.
ANNOTATE_SCOPED_MEMORY_LEAK;
- return PostTaskAndReplyWorkerPool(task_is_slow).PostTaskAndReply(
- from_here, task, reply);
+ return internal::PostTaskAndReply(
+ from_here, task, reply,
+ Bind(
+ [](bool task_is_slow, const tracked_objects::Location& from_here,
+ const Closure& task) {
+ return WorkerPool::PostTask(from_here, task, task_is_slow);
+ },
+ task_is_slow));
}
// static

Powered by Google App Engine
This is Rietveld 408576698