Commit 202aea34 authored by Carlos Caballero's avatar Carlos Caballero Committed by Commit Bot

Make USER_BLOCKING the default priority

We will then selectively downgrade tasks to USER_VISIBLE.

Eventually we want all task priorities to be either inherited or
explicitly set, so no defaults will be used. Roots will need to
explicitly set the priority (most likely USER_BLOCKING) thus that is a
good default for now.

Bug: 863341

Change-Id: I9872976bb944bc78dd43cbb6aff0cb5912043936
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1634702Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#664726}
parent 50d54017
......@@ -34,7 +34,7 @@ ScopedSetTaskPriorityForCurrentThread::
TaskPriority GetTaskPriorityForCurrentThread() {
const TaskPriority* priority =
tls_task_priority_for_current_thread.Get().Get();
return priority ? *priority : TaskPriority::USER_VISIBLE;
return priority ? *priority : TaskPriority::USER_BLOCKING;
}
} // namespace internal
......
......@@ -12,14 +12,13 @@ namespace internal {
TEST(ScopedSetTaskPriorityForCurrentThreadTest,
ScopedSetTaskPriorityForCurrentThread) {
EXPECT_EQ(TaskPriority::USER_VISIBLE, GetTaskPriorityForCurrentThread());
EXPECT_EQ(TaskPriority::USER_BLOCKING, GetTaskPriorityForCurrentThread());
{
ScopedSetTaskPriorityForCurrentThread
scoped_set_task_priority_for_current_thread(
TaskPriority::USER_BLOCKING);
EXPECT_EQ(TaskPriority::USER_BLOCKING, GetTaskPriorityForCurrentThread());
scoped_set_task_priority_for_current_thread(TaskPriority::BEST_EFFORT);
EXPECT_EQ(TaskPriority::BEST_EFFORT, GetTaskPriorityForCurrentThread());
}
EXPECT_EQ(TaskPriority::USER_VISIBLE, GetTaskPriorityForCurrentThread());
EXPECT_EQ(TaskPriority::USER_BLOCKING, GetTaskPriorityForCurrentThread());
}
} // namespace internal
......
......@@ -195,7 +195,7 @@ class BASE_EXPORT TaskTraits {
trait_helpers::AreValidTraits<ValidTrait, ArgTypes...>{},
args...)),
priority_(
trait_helpers::GetEnum<TaskPriority, TaskPriority::USER_VISIBLE>(
trait_helpers::GetEnum<TaskPriority, TaskPriority::USER_BLOCKING>(
args...)),
shutdown_behavior_(
trait_helpers::GetEnum<TaskShutdownBehavior,
......
......@@ -11,7 +11,7 @@ namespace base {
TEST(TaskTraitsTest, Default) {
constexpr TaskTraits traits = {};
EXPECT_FALSE(traits.priority_set_explicitly());
EXPECT_EQ(TaskPriority::USER_VISIBLE, traits.priority());
EXPECT_EQ(TaskPriority::USER_BLOCKING, traits.priority());
EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN, traits.shutdown_behavior());
EXPECT_EQ(ThreadPolicy::PREFER_BACKGROUND, traits.thread_policy());
EXPECT_FALSE(traits.may_block());
......@@ -31,7 +31,7 @@ TEST(TaskTraitsTest, TaskPriority) {
TEST(TaskTraitsTest, TaskShutdownBehavior) {
constexpr TaskTraits traits = {TaskShutdownBehavior::BLOCK_SHUTDOWN};
EXPECT_FALSE(traits.priority_set_explicitly());
EXPECT_EQ(TaskPriority::USER_VISIBLE, traits.priority());
EXPECT_EQ(TaskPriority::USER_BLOCKING, traits.priority());
EXPECT_EQ(TaskShutdownBehavior::BLOCK_SHUTDOWN, traits.shutdown_behavior());
EXPECT_EQ(ThreadPolicy::PREFER_BACKGROUND, traits.thread_policy());
EXPECT_FALSE(traits.may_block());
......@@ -41,7 +41,7 @@ TEST(TaskTraitsTest, TaskShutdownBehavior) {
TEST(TaskTraitsTest, ThreadPolicy) {
constexpr TaskTraits traits = {ThreadPolicy::MUST_USE_FOREGROUND};
EXPECT_FALSE(traits.priority_set_explicitly());
EXPECT_EQ(TaskPriority::USER_VISIBLE, traits.priority());
EXPECT_EQ(TaskPriority::USER_BLOCKING, traits.priority());
EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN, traits.shutdown_behavior());
EXPECT_EQ(ThreadPolicy::MUST_USE_FOREGROUND, traits.thread_policy());
EXPECT_FALSE(traits.may_block());
......@@ -51,7 +51,7 @@ TEST(TaskTraitsTest, ThreadPolicy) {
TEST(TaskTraitsTest, MayBlock) {
constexpr TaskTraits traits = {MayBlock()};
EXPECT_FALSE(traits.priority_set_explicitly());
EXPECT_EQ(TaskPriority::USER_VISIBLE, traits.priority());
EXPECT_EQ(TaskPriority::USER_BLOCKING, traits.priority());
EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN, traits.shutdown_behavior());
EXPECT_EQ(ThreadPolicy::PREFER_BACKGROUND, traits.thread_policy());
EXPECT_TRUE(traits.may_block());
......@@ -61,7 +61,7 @@ TEST(TaskTraitsTest, MayBlock) {
TEST(TaskTraitsTest, WithBaseSyncPrimitives) {
constexpr TaskTraits traits = {WithBaseSyncPrimitives()};
EXPECT_FALSE(traits.priority_set_explicitly());
EXPECT_EQ(TaskPriority::USER_VISIBLE, traits.priority());
EXPECT_EQ(TaskPriority::USER_BLOCKING, traits.priority());
EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN, traits.shutdown_behavior());
EXPECT_EQ(ThreadPolicy::PREFER_BACKGROUND, traits.thread_policy());
EXPECT_FALSE(traits.may_block());
......
......@@ -118,11 +118,13 @@ class BrowserTaskTraitsMappingTest : public BrowserTaskExecutorTest {
EXPECT_EQ(GetQueueType({ID, BrowserTaskType::kBootstrap}),
QueueType::kBootstrap);
EXPECT_EQ(GetQueueType({ID, BrowserTaskType::kDefault}),
QueueType::kDefault);
QueueType::kUserBlocking);
EXPECT_EQ(GetQueueType({ID, BrowserTaskType::kNavigation}),
QueueType::kNavigationAndPreconnection);
EXPECT_EQ(GetQueueType({ID, BrowserTaskType::kPreconnect}),
QueueType::kNavigationAndPreconnection);
EXPECT_EQ(GetQueueType({ID}), QueueType::kUserBlocking);
}
private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment