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

Side by Side Diff: base/task_scheduler/scheduler_worker_unittest.cc

Issue 2791243002: Rewrite base::Bind into base::BindOnce on trivial cases in base (Closed)
Patch Set: rebase Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/task_scheduler/scheduler_worker.h" 5 #include "base/task_scheduler/scheduler_worker.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 165
166 // Check if a Sequence should be returned. 166 // Check if a Sequence should be returned.
167 if (outer_->num_sequences_to_create_ == 0) 167 if (outer_->num_sequences_to_create_ == 0)
168 return nullptr; 168 return nullptr;
169 --outer_->num_sequences_to_create_; 169 --outer_->num_sequences_to_create_;
170 } 170 }
171 171
172 // Create a Sequence with TasksPerSequence() Tasks. 172 // Create a Sequence with TasksPerSequence() Tasks.
173 scoped_refptr<Sequence> sequence(new Sequence); 173 scoped_refptr<Sequence> sequence(new Sequence);
174 for (size_t i = 0; i < outer_->TasksPerSequence(); ++i) { 174 for (size_t i = 0; i < outer_->TasksPerSequence(); ++i) {
175 std::unique_ptr<Task> task(new Task( 175 std::unique_ptr<Task> task(
176 FROM_HERE, Bind(&TaskSchedulerWorkerTest::RunTaskCallback, 176 new Task(FROM_HERE,
177 Unretained(outer_)), 177 BindOnce(&TaskSchedulerWorkerTest::RunTaskCallback,
178 TaskTraits(), TimeDelta())); 178 Unretained(outer_)),
179 TaskTraits(), TimeDelta()));
179 EXPECT_TRUE(outer_->task_tracker_.WillPostTask(task.get())); 180 EXPECT_TRUE(outer_->task_tracker_.WillPostTask(task.get()));
180 sequence->PushTask(std::move(task)); 181 sequence->PushTask(std::move(task));
181 } 182 }
182 183
183 ExpectCallToDidRunTask(); 184 ExpectCallToDidRunTask();
184 185
185 { 186 {
186 // Add the Sequence to the vector of created Sequences. 187 // Add the Sequence to the vector of created Sequences.
187 AutoSchedulerLock auto_lock(outer_->lock_); 188 AutoSchedulerLock auto_lock(outer_->lock_);
188 outer_->created_sequences_.push_back(sequence); 189 outer_->created_sequences_.push_back(sequence);
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 override { 428 override {
428 // Sends one item of work to signal |work_processed_|. On subsequent calls, 429 // Sends one item of work to signal |work_processed_|. On subsequent calls,
429 // sends nullptr to indicate there's no more work to be done. 430 // sends nullptr to indicate there's no more work to be done.
430 if (controls_->work_requested_) 431 if (controls_->work_requested_)
431 return nullptr; 432 return nullptr;
432 433
433 controls_->work_requested_ = true; 434 controls_->work_requested_ = true;
434 scoped_refptr<Sequence> sequence(new Sequence); 435 scoped_refptr<Sequence> sequence(new Sequence);
435 std::unique_ptr<Task> task(new Task( 436 std::unique_ptr<Task> task(new Task(
436 FROM_HERE, 437 FROM_HERE,
437 Bind( 438 BindOnce(
438 [](WaitableEvent* work_processed, WaitableEvent* work_running) { 439 [](WaitableEvent* work_processed, WaitableEvent* work_running) {
439 work_processed->Signal(); 440 work_processed->Signal();
440 work_running->Wait(); 441 work_running->Wait();
441 }, 442 },
442 Unretained(&controls_->work_processed_), 443 Unretained(&controls_->work_processed_),
443 Unretained(&controls_->work_running_)), 444 Unretained(&controls_->work_running_)),
444 TaskTraits().WithBaseSyncPrimitives().WithShutdownBehavior( 445 TaskTraits().WithBaseSyncPrimitives().WithShutdownBehavior(
445 TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN), 446 TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN),
446 TimeDelta())); 447 TimeDelta()));
447 EXPECT_TRUE(task_tracker_->WillPostTask(task.get())); 448 EXPECT_TRUE(task_tracker_->WillPostTask(task.get()));
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 // COM library wasn't already initialized on the thread. 920 // COM library wasn't already initialized on the thread.
920 EXPECT_EQ(S_OK, delegate_raw->coinitialize_hresult()); 921 EXPECT_EQ(S_OK, delegate_raw->coinitialize_hresult());
921 922
922 worker->JoinForTesting(); 923 worker->JoinForTesting();
923 } 924 }
924 925
925 #endif // defined(OS_WIN) 926 #endif // defined(OS_WIN)
926 927
927 } // namespace internal 928 } // namespace internal
928 } // namespace base 929 } // namespace base
OLDNEW
« no previous file with comments | « base/task_scheduler/scheduler_worker_pool_impl_unittest.cc ('k') | base/task_scheduler/task_scheduler_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698