Index: base/threading/sequenced_worker_pool_unittest.cc |
diff --git a/base/threading/sequenced_worker_pool_unittest.cc b/base/threading/sequenced_worker_pool_unittest.cc |
index 8430d2965c15cfd1fc5b21d3999dc4a436572a90..d3580596af7deefa5eff55271a167ee4fc763c91 100644 |
--- a/base/threading/sequenced_worker_pool_unittest.cc |
+++ b/base/threading/sequenced_worker_pool_unittest.cc |
@@ -321,9 +321,9 @@ class SequencedWorkerPoolTest |
// workers to be created. |
ThreadBlocker blocker; |
for (size_t i = 0; i < kNumWorkerThreads; i++) { |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), -1, &blocker)); |
+ pool()->PostWorkerTask( |
+ FROM_HERE, |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), -1, &blocker)); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
@@ -383,7 +383,7 @@ void ShouldNotRun(const scoped_refptr<DeletionHelper>& helper) { |
TEST_P(SequencedWorkerPoolTest, DelayedTaskDuringShutdown) { |
// Post something to verify the pool is started up. |
EXPECT_TRUE(pool()->PostTask( |
- FROM_HERE, base::Bind(&TestTracker::FastTask, tracker(), 1))); |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 1))); |
scoped_refptr<base::RefCountedData<bool> > deleted_flag( |
new base::RefCountedData<bool>(false)); |
@@ -392,8 +392,8 @@ TEST_P(SequencedWorkerPoolTest, DelayedTaskDuringShutdown) { |
// Post something that shouldn't run. |
EXPECT_TRUE(pool()->PostDelayedTask( |
FROM_HERE, |
- base::Bind(&ShouldNotRun, |
- make_scoped_refptr(new DeletionHelper(deleted_flag))), |
+ base::BindOnce(&ShouldNotRun, |
+ make_scoped_refptr(new DeletionHelper(deleted_flag))), |
TestTimeouts::action_timeout())); |
std::vector<int> completion_sequence = tracker()->WaitUntilTasksComplete(1); |
@@ -453,12 +453,12 @@ TEST_P(SequencedWorkerPoolTest, NamedTokens) { |
// threads) runs them all. |
TEST_P(SequencedWorkerPoolTest, LotsOfTasks) { |
pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::SlowTask, tracker(), 0)); |
+ base::BindOnce(&TestTracker::SlowTask, tracker(), 0)); |
const size_t kNumTasks = 20; |
for (size_t i = 1; i < kNumTasks; i++) { |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), i)); |
+ pool()->PostWorkerTask( |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), i)); |
} |
std::vector<int> result = tracker()->WaitUntilTasksComplete(kNumTasks); |
@@ -498,8 +498,8 @@ TEST_P(SequencedWorkerPoolTest, Sequence) { |
ThreadBlocker background_blocker; |
for (size_t i = 0; i < kNumBackgroundTasks; i++) { |
pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), i, &background_blocker)); |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), i, |
+ &background_blocker)); |
} |
tracker()->WaitUntilTasksBlocked(kNumBackgroundTasks); |
@@ -511,10 +511,10 @@ TEST_P(SequencedWorkerPoolTest, Sequence) { |
SequencedWorkerPool::SequenceToken token1 = pool()->GetSequenceToken(); |
pool()->PostSequencedWorkerTask( |
token1, FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, tracker(), 100, &blocker)); |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), 100, &blocker)); |
pool()->PostSequencedWorkerTask( |
token1, FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 101)); |
+ base::BindOnce(&TestTracker::FastTask, tracker(), 101)); |
EXPECT_EQ(0u, tracker()->WaitUntilTasksComplete(0).size()); |
// Create another two tasks as above with a different token. These will be |
@@ -522,10 +522,10 @@ TEST_P(SequencedWorkerPoolTest, Sequence) { |
SequencedWorkerPool::SequenceToken token2 = pool()->GetSequenceToken(); |
pool()->PostSequencedWorkerTask( |
token2, FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 200)); |
+ base::BindOnce(&TestTracker::FastTask, tracker(), 200)); |
pool()->PostSequencedWorkerTask( |
token2, FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 201)); |
+ base::BindOnce(&TestTracker::FastTask, tracker(), 201)); |
EXPECT_EQ(0u, tracker()->WaitUntilTasksComplete(0).size()); |
// Let one background task complete. This should then let both tasks of |
@@ -558,9 +558,8 @@ TEST_P(SequencedWorkerPoolTest, DISABLED_IgnoresAfterShutdown) { |
EnsureAllWorkersCreated(); |
ThreadBlocker blocker; |
for (size_t i = 0; i < kNumWorkerThreads; i++) { |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), i, &blocker)); |
+ pool()->PostWorkerTask(FROM_HERE, base::BindOnce(&TestTracker::BlockTask, |
+ tracker(), i, &blocker)); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
@@ -585,16 +584,13 @@ TEST_P(SequencedWorkerPoolTest, DISABLED_IgnoresAfterShutdown) { |
// No further tasks, regardless of shutdown mode, should be allowed. |
EXPECT_FALSE(pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 100), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 100), |
SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); |
EXPECT_FALSE(pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 101), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 101), |
SequencedWorkerPool::SKIP_ON_SHUTDOWN)); |
EXPECT_FALSE(pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 102), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 102), |
SequencedWorkerPool::BLOCK_SHUTDOWN)); |
ASSERT_EQ(old_has_work_call_count, has_work_call_count()); |
@@ -611,7 +607,7 @@ TEST_P(SequencedWorkerPoolTest, AllowsAfterShutdown) { |
for (int i = 0; i < kNumBlockTasks; ++i) { |
EXPECT_TRUE(pool()->PostWorkerTask( |
FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, tracker(), i, &blocker))); |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), i, &blocker))); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
@@ -621,8 +617,9 @@ TEST_P(SequencedWorkerPoolTest, AllowsAfterShutdown) { |
const int kNumQueuedTasks = static_cast<int>(kNumWorkerThreads); |
for (int i = 0; i < kNumQueuedTasks; ++i) { |
EXPECT_TRUE(pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, base::Bind(&TestTracker::PostAdditionalTasks, tracker(), i, |
- base::RetainedRef(pool()), false), |
+ FROM_HERE, |
+ base::BindOnce(&TestTracker::PostAdditionalTasks, tracker(), i, |
+ base::RetainedRef(pool()), false), |
SequencedWorkerPool::BLOCK_SHUTDOWN)); |
} |
@@ -674,7 +671,7 @@ TEST_P(SequencedWorkerPoolTest, |
for (int i = 0; i < kNumBlockTasks; ++i) { |
EXPECT_TRUE(pool()->PostWorkerTask( |
FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, tracker(), i, &blocker))); |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), i, &blocker))); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
@@ -728,24 +725,20 @@ TEST_P(SequencedWorkerPoolTest, DiscardOnShutdown) { |
EnsureAllWorkersCreated(); |
ThreadBlocker blocker; |
for (size_t i = 0; i < kNumWorkerThreads; i++) { |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), i, &blocker)); |
+ pool()->PostWorkerTask(FROM_HERE, base::BindOnce(&TestTracker::BlockTask, |
+ tracker(), i, &blocker)); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
// Create some tasks with different shutdown modes. |
pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 100), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 100), |
SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 101), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 101), |
SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 102), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 102), |
SequencedWorkerPool::BLOCK_SHUTDOWN); |
// Shutdown the worker pool. This should discard all non-blocking tasks. |
@@ -778,17 +771,12 @@ TEST_P(SequencedWorkerPoolTest, ContinueOnShutdown) { |
ThreadBlocker blocker; |
pool()->PostWorkerTaskWithShutdownBehavior( |
FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), 0, &blocker), |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), 0, &blocker), |
SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
- runner->PostTask( |
- FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), 1, &blocker)); |
- sequenced_runner->PostTask( |
- FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), 2, &blocker)); |
+ runner->PostTask(FROM_HERE, base::BindOnce(&TestTracker::BlockTask, tracker(), |
+ 1, &blocker)); |
+ sequenced_runner->PostTask(FROM_HERE, base::BindOnce(&TestTracker::BlockTask, |
+ tracker(), 2, &blocker)); |
tracker()->WaitUntilTasksBlocked(3); |
@@ -802,12 +790,12 @@ TEST_P(SequencedWorkerPoolTest, ContinueOnShutdown) { |
// Posting more tasks should fail. |
EXPECT_FALSE(pool()->PostWorkerTaskWithShutdownBehavior( |
- FROM_HERE, base::Bind(&TestTracker::FastTask, tracker(), 0), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 0), |
SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); |
EXPECT_FALSE(runner->PostTask( |
- FROM_HERE, base::Bind(&TestTracker::FastTask, tracker(), 0))); |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 0))); |
EXPECT_FALSE(sequenced_runner->PostTask( |
- FROM_HERE, base::Bind(&TestTracker::FastTask, tracker(), 0))); |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 0))); |
// Continue the background thread and make sure the tasks can complete. |
blocker.Unblock(3); |
@@ -836,7 +824,7 @@ TEST_P(SequencedWorkerPoolTest, SkipOnShutdown) { |
for (size_t i = 0; i < kNumWorkerThreads; i++) { |
pool()->PostWorkerTaskWithShutdownBehavior( |
FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, tracker(), i, &blocker), |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), i, &blocker), |
SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
} |
tracker()->WaitUntilTasksBlocked(kNumWorkerThreads); |
@@ -845,8 +833,7 @@ TEST_P(SequencedWorkerPoolTest, SkipOnShutdown) { |
// executed once Shutdown() has been called. |
pool()->PostWorkerTaskWithShutdownBehavior( |
FROM_HERE, |
- base::Bind(&TestTracker::BlockTask, |
- tracker(), 0, &blocker), |
+ base::BindOnce(&TestTracker::BlockTask, tracker(), 0, &blocker), |
SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
// This callback will only be invoked if SKIP_ON_SHUTDOWN tasks that have |
@@ -934,10 +921,10 @@ TEST_P(SequencedWorkerPoolTest, RunsTasksOnCurrentThread) { |
// - unused_pool_owner.pool()->RunsTasksOnCurrentThread() returns false. |
sequenced_task_runner_1->PostTask( |
FROM_HERE, |
- base::Bind(&VerifyRunsTasksOnCurrentThread, RedirectedToTaskScheduler(), |
- sequenced_task_runner_1, sequenced_task_runner_2, |
- base::RetainedRef(pool()), |
- base::RetainedRef(unused_pool_owner.pool()))); |
+ base::BindOnce(&VerifyRunsTasksOnCurrentThread, |
+ RedirectedToTaskScheduler(), sequenced_task_runner_1, |
+ sequenced_task_runner_2, base::RetainedRef(pool()), |
+ base::RetainedRef(unused_pool_owner.pool()))); |
// From a task posted to |unsequenced_task_runner|: |
// - unsequenced_task_runner->RunsTasksOnCurrentThread() returns true. |
// - sequenced_task_runner_1->RunsTasksOnCurrentThread() returns false. |
@@ -945,10 +932,10 @@ TEST_P(SequencedWorkerPoolTest, RunsTasksOnCurrentThread) { |
// - unused_pool_owner.pool()->RunsTasksOnCurrentThread() returns false. |
unsequenced_task_runner->PostTask( |
FROM_HERE, |
- base::Bind(&VerifyRunsTasksOnCurrentThread, RedirectedToTaskScheduler(), |
- unsequenced_task_runner, sequenced_task_runner_1, |
- base::RetainedRef(pool()), |
- base::RetainedRef(unused_pool_owner.pool()))); |
+ base::BindOnce(&VerifyRunsTasksOnCurrentThread, |
+ RedirectedToTaskScheduler(), unsequenced_task_runner, |
+ sequenced_task_runner_1, base::RetainedRef(pool()), |
+ base::RetainedRef(unused_pool_owner.pool()))); |
} |
// Checks that tasks are destroyed in the right context during shutdown. If a |
@@ -1004,19 +991,18 @@ TEST_P(SequencedWorkerPoolTest, FlushForTesting) { |
// Queue up a bunch of work, including a long delayed task and |
// a task that produces additional tasks as an artifact. |
pool()->PostDelayedWorkerTask( |
- FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 0), |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 0), |
TimeDelta::FromMinutes(5)); |
pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::SlowTask, tracker(), 0)); |
+ base::BindOnce(&TestTracker::SlowTask, tracker(), 0)); |
const size_t kNumFastTasks = 20; |
for (size_t i = 0; i < kNumFastTasks; i++) { |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&TestTracker::FastTask, tracker(), 0)); |
+ pool()->PostWorkerTask( |
+ FROM_HERE, base::BindOnce(&TestTracker::FastTask, tracker(), 0)); |
} |
pool()->PostWorkerTask( |
- FROM_HERE, base::Bind(&TestTracker::PostAdditionalTasks, tracker(), 0, |
- base::RetainedRef(pool()), true)); |
+ FROM_HERE, base::BindOnce(&TestTracker::PostAdditionalTasks, tracker(), 0, |
+ base::RetainedRef(pool()), true)); |
// We expect all except the delayed task to have been run. We verify all |
// closures have been deleted by looking at the refcount of the |
@@ -1086,14 +1072,14 @@ TEST_P(SequencedWorkerPoolTest, GetWorkerPoolAndSequenceTokenForCurrentThread) { |
SequencedWorkerPool::SequenceToken token2 = pool()->GetSequenceToken(); |
pool()->PostSequencedWorkerTask( |
token1, FROM_HERE, |
- base::Bind(&CheckWorkerPoolAndSequenceToken, pool(), token1)); |
+ base::BindOnce(&CheckWorkerPoolAndSequenceToken, pool(), token1)); |
pool()->PostSequencedWorkerTask( |
token2, FROM_HERE, |
- base::Bind(&CheckWorkerPoolAndSequenceToken, pool(), token2)); |
+ base::BindOnce(&CheckWorkerPoolAndSequenceToken, pool(), token2)); |
- pool()->PostWorkerTask(FROM_HERE, |
- base::Bind(&CheckWorkerPoolAndSequenceToken, pool(), |
- SequencedWorkerPool::SequenceToken())); |
+ pool()->PostWorkerTask( |
+ FROM_HERE, base::BindOnce(&CheckWorkerPoolAndSequenceToken, pool(), |
+ SequencedWorkerPool::SequenceToken())); |
pool()->FlushForTesting(); |
} |