| Index: base/task_scheduler/task_tracker_unittest.cc
|
| diff --git a/base/task_scheduler/task_tracker_unittest.cc b/base/task_scheduler/task_tracker_unittest.cc
|
| index 96bda677649f219e02c3f06ec08431bc80490a08..2fbfff27850efae361719e43d40cd85297f2db40 100644
|
| --- a/base/task_scheduler/task_tracker_unittest.cc
|
| +++ b/base/task_scheduler/task_tracker_unittest.cc
|
| @@ -149,7 +149,7 @@ class TaskSchedulerTaskTrackerTest
|
| return MakeUnique<Task>(
|
| FROM_HERE,
|
| Bind(&TaskSchedulerTaskTrackerTest::RunTaskCallback, Unretained(this)),
|
| - TaskTraits().WithShutdownBehavior(shutdown_behavior), TimeDelta());
|
| + TaskTraits(shutdown_behavior), TimeDelta());
|
| }
|
|
|
| // Calls tracker_->Shutdown() on a new thread. When this returns, Shutdown()
|
| @@ -269,16 +269,15 @@ TEST_P(TaskSchedulerTaskTrackerTest, WillPostAndRunLongTaskBeforeShutdown) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| WaitableEvent task_barrier(WaitableEvent::ResetPolicy::AUTOMATIC,
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| - auto blocked_task = base::MakeUnique<Task>(
|
| + auto blocked_task = MakeUnique<Task>(
|
| FROM_HERE,
|
| Bind(
|
| [](WaitableEvent* task_running, WaitableEvent* task_barrier) {
|
| task_running->Signal();
|
| task_barrier->Wait();
|
| },
|
| - Unretained(&task_running), base::Unretained(&task_barrier)),
|
| - TaskTraits().WithBaseSyncPrimitives().WithShutdownBehavior(GetParam()),
|
| - TimeDelta());
|
| + Unretained(&task_running), Unretained(&task_barrier)),
|
| + TaskTraits(WithBaseSyncPrimitives(), GetParam()), TimeDelta());
|
|
|
| // Inform |task_tracker_| that |blocked_task| will be posted.
|
| EXPECT_TRUE(tracker_.WillPostTask(blocked_task.get()));
|
| @@ -429,7 +428,7 @@ TEST_P(TaskSchedulerTaskTrackerTest, SingletonAllowed) {
|
| TaskTracker tracker;
|
| std::unique_ptr<Task> task(
|
| new Task(FROM_HERE, BindOnce(&ThreadRestrictions::AssertSingletonAllowed),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta()));
|
| + TaskTraits(GetParam()), TimeDelta()));
|
| EXPECT_TRUE(tracker.WillPostTask(task.get()));
|
|
|
| // Set the singleton allowed bit to the opposite of what it is expected to be
|
| @@ -453,12 +452,12 @@ TEST_P(TaskSchedulerTaskTrackerTest, IOAllowed) {
|
| // Unset the IO allowed bit. Expect TaskTracker to set it before running a
|
| // task with the MayBlock() trait.
|
| ThreadRestrictions::SetIOAllowed(false);
|
| - auto task_with_may_block = MakeUnique<Task>(
|
| - FROM_HERE, Bind([]() {
|
| - // Shouldn't fail.
|
| - ThreadRestrictions::AssertIOAllowed();
|
| - }),
|
| - TaskTraits().MayBlock().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto task_with_may_block =
|
| + MakeUnique<Task>(FROM_HERE, Bind([]() {
|
| + // Shouldn't fail.
|
| + ThreadRestrictions::AssertIOAllowed();
|
| + }),
|
| + TaskTraits(MayBlock(), GetParam()), TimeDelta());
|
| EXPECT_TRUE(tracker.WillPostTask(task_with_may_block.get()));
|
| tracker.RunTask(std::move(task_with_may_block), SequenceToken::Create());
|
|
|
| @@ -469,7 +468,7 @@ TEST_P(TaskSchedulerTaskTrackerTest, IOAllowed) {
|
| FROM_HERE, Bind([]() {
|
| EXPECT_DCHECK_DEATH({ ThreadRestrictions::AssertIOAllowed(); });
|
| }),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + TaskTraits(GetParam()), TimeDelta());
|
| EXPECT_TRUE(tracker.WillPostTask(task_without_may_block.get()));
|
| tracker.RunTask(std::move(task_without_may_block), SequenceToken::Create());
|
| }
|
| @@ -503,7 +502,7 @@ TEST_P(TaskSchedulerTaskTrackerTest, TaskRunnerHandleIsNotSetOnParallel) {
|
| // scope per no TaskRunner ref being set to it.
|
| std::unique_ptr<Task> verify_task(
|
| new Task(FROM_HERE, BindOnce(&VerifyNoTaskRunnerHandle),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta()));
|
| + TaskTraits(GetParam()), TimeDelta()));
|
|
|
| RunTaskRunnerHandleVerificationTask(&tracker_, std::move(verify_task));
|
| }
|
| @@ -525,8 +524,8 @@ TEST_P(TaskSchedulerTaskTrackerTest,
|
| std::unique_ptr<Task> verify_task(
|
| new Task(FROM_HERE,
|
| BindOnce(&VerifySequencedTaskRunnerHandle,
|
| - base::Unretained(test_task_runner.get())),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta()));
|
| + Unretained(test_task_runner.get())),
|
| + TaskTraits(GetParam()), TimeDelta()));
|
| verify_task->sequenced_task_runner_ref = test_task_runner;
|
|
|
| RunTaskRunnerHandleVerificationTask(&tracker_, std::move(verify_task));
|
| @@ -551,8 +550,8 @@ TEST_P(TaskSchedulerTaskTrackerTest,
|
| std::unique_ptr<Task> verify_task(
|
| new Task(FROM_HERE,
|
| BindOnce(&VerifyThreadTaskRunnerHandle,
|
| - base::Unretained(test_task_runner.get())),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta()));
|
| + Unretained(test_task_runner.get())),
|
| + TaskTraits(GetParam()), TimeDelta()));
|
| verify_task->single_thread_task_runner_ref = test_task_runner;
|
|
|
| RunTaskRunnerHandleVerificationTask(&tracker_, std::move(verify_task));
|
| @@ -560,17 +559,15 @@ TEST_P(TaskSchedulerTaskTrackerTest,
|
|
|
| TEST_P(TaskSchedulerTaskTrackerTest, FlushPendingDelayedTask) {
|
| const Task delayed_task(FROM_HERE, BindOnce(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()),
|
| - TimeDelta::FromDays(1));
|
| + TaskTraits(GetParam()), TimeDelta::FromDays(1));
|
| tracker_.WillPostTask(&delayed_task);
|
| // Flush() should return even if the delayed task didn't run.
|
| tracker_.Flush();
|
| }
|
|
|
| TEST_P(TaskSchedulerTaskTrackerTest, FlushPendingUndelayedTask) {
|
| - auto undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto undelayed_task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing),
|
| + TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(undelayed_task.get());
|
|
|
| // Flush() shouldn't return before the undelayed task runs.
|
| @@ -584,9 +581,8 @@ TEST_P(TaskSchedulerTaskTrackerTest, FlushPendingUndelayedTask) {
|
| }
|
|
|
| TEST_P(TaskSchedulerTaskTrackerTest, PostTaskDuringFlush) {
|
| - auto undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto undelayed_task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing),
|
| + TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(undelayed_task.get());
|
|
|
| // Flush() shouldn't return before the undelayed task runs.
|
| @@ -595,9 +591,8 @@ TEST_P(TaskSchedulerTaskTrackerTest, PostTaskDuringFlush) {
|
| VERIFY_ASYNC_FLUSH_IN_PROGRESS();
|
|
|
| // Simulate posting another undelayed task.
|
| - auto other_undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto other_undelayed_task = MakeUnique<Task>(
|
| + FROM_HERE, Bind(&DoNothing), TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(other_undelayed_task.get());
|
|
|
| // Run the first undelayed task.
|
| @@ -614,13 +609,12 @@ TEST_P(TaskSchedulerTaskTrackerTest, PostTaskDuringFlush) {
|
|
|
| TEST_P(TaskSchedulerTaskTrackerTest, RunDelayedTaskDuringFlush) {
|
| // Simulate posting a delayed and an undelayed task.
|
| - auto delayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta::FromDays(1));
|
| + auto delayed_task =
|
| + MakeUnique<Task>(FROM_HERE, Bind(&DoNothing), TaskTraits(GetParam()),
|
| + TimeDelta::FromDays(1));
|
| tracker_.WillPostTask(delayed_task.get());
|
| - auto undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto undelayed_task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing),
|
| + TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(undelayed_task.get());
|
|
|
| // Flush() shouldn't return before the undelayed task runs.
|
| @@ -648,9 +642,8 @@ TEST_P(TaskSchedulerTaskTrackerTest, FlushAfterShutdown) {
|
| return;
|
|
|
| // Simulate posting a task.
|
| - auto undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto undelayed_task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing),
|
| + TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(undelayed_task.get());
|
|
|
| // Shutdown() should return immediately since there are no pending
|
| @@ -667,9 +660,8 @@ TEST_P(TaskSchedulerTaskTrackerTest, ShutdownDuringFlush) {
|
| return;
|
|
|
| // Simulate posting a task.
|
| - auto undelayed_task = base::MakeUnique<Task>(
|
| - FROM_HERE, Bind(&DoNothing),
|
| - TaskTraits().WithShutdownBehavior(GetParam()), TimeDelta());
|
| + auto undelayed_task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing),
|
| + TaskTraits(GetParam()), TimeDelta());
|
| tracker_.WillPostTask(undelayed_task.get());
|
|
|
| // Flush() shouldn't return before the undelayed task runs or
|
| @@ -711,9 +703,9 @@ void ExpectSequenceToken(SequenceToken sequence_token) {
|
| // when a Task runs.
|
| TEST_F(TaskSchedulerTaskTrackerTest, CurrentSequenceToken) {
|
| const SequenceToken sequence_token(SequenceToken::Create());
|
| - auto task = base::MakeUnique<Task>(FROM_HERE,
|
| - Bind(&ExpectSequenceToken, sequence_token),
|
| - TaskTraits(), TimeDelta());
|
| + auto task =
|
| + MakeUnique<Task>(FROM_HERE, Bind(&ExpectSequenceToken, sequence_token),
|
| + TaskTraits(), TimeDelta());
|
| tracker_.WillPostTask(task.get());
|
|
|
| EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid());
|
| @@ -879,7 +871,7 @@ class WaitAllowedTestThread : public SimpleThread {
|
| // Shouldn't fail.
|
| ThreadRestrictions::AssertWaitAllowed();
|
| }),
|
| - TaskTraits().WithBaseSyncPrimitives(), TimeDelta());
|
| + TaskTraits(WithBaseSyncPrimitives()), TimeDelta());
|
| EXPECT_TRUE(tracker.WillPostTask(task_with_sync_primitives.get()));
|
| tracker.RunTask(std::move(task_with_sync_primitives),
|
| SequenceToken::Create());
|
| @@ -912,32 +904,26 @@ TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) {
|
| const TaskTraits traits;
|
| const char* const expected_histogram;
|
| } tests[] = {
|
| - {TaskTraits().WithPriority(TaskPriority::BACKGROUND),
|
| + {{TaskPriority::BACKGROUND},
|
| "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority"},
|
| - {TaskTraits().WithPriority(TaskPriority::BACKGROUND).MayBlock(),
|
| + {{MayBlock(), TaskPriority::BACKGROUND},
|
| "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority.MayBlock"},
|
| - {TaskTraits()
|
| - .WithPriority(TaskPriority::BACKGROUND)
|
| - .WithBaseSyncPrimitives(),
|
| + {{WithBaseSyncPrimitives(), TaskPriority::BACKGROUND},
|
| "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority.MayBlock"},
|
| - {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE),
|
| + {{TaskPriority::USER_VISIBLE},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority"},
|
| - {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE).MayBlock(),
|
| + {{MayBlock(), TaskPriority::USER_VISIBLE},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority."
|
| "MayBlock"},
|
| - {TaskTraits()
|
| - .WithPriority(TaskPriority::USER_VISIBLE)
|
| - .WithBaseSyncPrimitives(),
|
| + {{WithBaseSyncPrimitives(), TaskPriority::USER_VISIBLE},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority."
|
| "MayBlock"},
|
| - {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING),
|
| + {{TaskPriority::USER_BLOCKING},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority"},
|
| - {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING).MayBlock(),
|
| + {{MayBlock(), TaskPriority::USER_BLOCKING},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority."
|
| "MayBlock"},
|
| - {TaskTraits()
|
| - .WithPriority(TaskPriority::USER_BLOCKING)
|
| - .WithBaseSyncPrimitives(),
|
| + {{WithBaseSyncPrimitives(), TaskPriority::USER_BLOCKING},
|
| "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority."
|
| "MayBlock"}};
|
|
|
|
|