Index: content/browser/browser_main_loop.cc |
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc |
index 7b6135ce7a876b1dd5cea190b4056c68c68a2478..431e2eef9dfb71cb0c534c8638aa40dca840346c 100644 |
--- a/content/browser/browser_main_loop.cc |
+++ b/content/browser/browser_main_loop.cc |
@@ -1009,8 +1009,19 @@ int BrowserMainLoop::CreateThreads() { |
// |non_ui_non_io_task_runner_traits| (which can be augmented below). |
// TODO(gab): Existing non-UI/non-IO BrowserThreads allow sync primitives so |
// the initial redirection will as well but they probably don't need to. |
- base::TaskTraits non_ui_non_io_task_runner_traits = |
- base::TaskTraits().MayBlock().WithBaseSyncPrimitives(); |
+ base::TaskTraits non_ui_non_io_task_runner_traits; |
+ |
+ // Note: if you're copying these TaskTraits elsewhere, you most likely don't |
+ // need and shouldn't use base::WithBaseSyncPrimitives() -- see its |
+ // documentation. |
+ constexpr base::TaskTraits kUserVisibleTraits = { |
+ base::MayBlock(), base::WithBaseSyncPrimitives(), |
+ base::TaskPriority::USER_VISIBLE, |
+ base::TaskShutdownBehavior::BLOCK_SHUTDOWN}; |
+ constexpr base::TaskTraits kUserBlockingTraits = { |
+ base::MayBlock(), base::WithBaseSyncPrimitives(), |
+ base::TaskPriority::USER_BLOCKING, |
+ base::TaskShutdownBehavior::BLOCK_SHUTDOWN}; |
switch (thread_id) { |
case BrowserThread::DB: |
@@ -1018,9 +1029,7 @@ int BrowserMainLoop::CreateThreads() { |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::DB"); |
if (redirect_thread) { |
- non_ui_non_io_task_runner_traits |
- .WithPriority(base::TaskPriority::USER_VISIBLE) |
- .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN); |
+ non_ui_non_io_task_runner_traits = kUserVisibleTraits; |
} else { |
thread_to_start = &db_thread_; |
options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
@@ -1031,9 +1040,7 @@ int BrowserMainLoop::CreateThreads() { |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::FILE_USER_BLOCKING"); |
if (redirect_thread) { |
- non_ui_non_io_task_runner_traits |
- .WithPriority(base::TaskPriority::USER_BLOCKING) |
- .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN); |
+ non_ui_non_io_task_runner_traits = kUserBlockingTraits; |
} else { |
thread_to_start = &file_user_blocking_thread_; |
} |
@@ -1054,9 +1061,7 @@ int BrowserMainLoop::CreateThreads() { |
options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
#else |
if (redirect_thread) { |
- non_ui_non_io_task_runner_traits |
- .WithPriority(base::TaskPriority::USER_VISIBLE) |
- .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN); |
+ non_ui_non_io_task_runner_traits = kUserVisibleTraits; |
} else { |
thread_to_start = &file_thread_; |
options = io_message_loop_options; |
@@ -1077,9 +1082,7 @@ int BrowserMainLoop::CreateThreads() { |
DCHECK(message_loop); |
#endif |
if (redirect_thread) { |
- non_ui_non_io_task_runner_traits |
- .WithPriority(base::TaskPriority::USER_BLOCKING) |
- .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN); |
+ non_ui_non_io_task_runner_traits = kUserBlockingTraits; |
} else { |
thread_to_start = &process_launcher_thread_; |
options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
@@ -1100,9 +1103,7 @@ int BrowserMainLoop::CreateThreads() { |
options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
#else // OS_WIN |
if (redirect_thread) { |
- non_ui_non_io_task_runner_traits |
- .WithPriority(base::TaskPriority::USER_BLOCKING) |
- .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN); |
+ non_ui_non_io_task_runner_traits = kUserBlockingTraits; |
} else { |
thread_to_start = &cache_thread_; |
options.timer_slack = base::TIMER_SLACK_MAXIMUM; |