Chromium Code Reviews| Index: content/browser/browser_main_loop.cc |
| diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc |
| index b652408781292dcabc393cb8919471f25ea4acb3..c1b9e7d67409fbbbf2135c18e69a917797166d9b 100644 |
| --- a/content/browser/browser_main_loop.cc |
| +++ b/content/browser/browser_main_loop.cc |
| @@ -31,6 +31,7 @@ |
| #include "base/strings/string_number_conversions.h" |
| #include "base/strings/string_split.h" |
| #include "base/system_monitor/system_monitor.h" |
| +#include "base/threading/sequenced_worker_pool.h" |
| #include "base/threading/thread_restrictions.h" |
| #include "base/threading/thread_task_runner_handle.h" |
| #include "base/timer/hi_res_timer_manager.h" |
| @@ -734,6 +735,8 @@ void BrowserMainLoop::PostMainMessageLoopStart() { |
| } |
| int BrowserMainLoop::PreCreateThreads() { |
| + DCHECK(!base::SequencedWorkerPool::IsEnabled()); |
|
gab
2016/11/01 21:48:02
DCHECK are supposed to document invariants, so a D
fdoray
2016/11/02 12:56:09
Added comment to clarify.
SequencedWorkerPool is
|
| + |
| if (parts_) { |
| TRACE_EVENT0("startup", |
| "BrowserMainLoop::CreateThreads:PreCreateThreads"); |
| @@ -741,6 +744,13 @@ int BrowserMainLoop::PreCreateThreads() { |
| result_code_ = parts_->PreCreateThreads(); |
| } |
| + // Enable SequencedWorkerPool for this process if it has not already been |
| + // enabled by the BrowserMainParts::PreCreateThreads() call above. |
| + // TODO(fdoray): Remove this once the SequencedWorkerPool to TaskScheduler |
| + // redirection experiment concludes https://crbug.com/622400. |
| + if (!base::SequencedWorkerPool::IsEnabled()) |
| + base::SequencedWorkerPool::EnableForProcess(); |
| + |
| const base::CommandLine* command_line = |
| base::CommandLine::ForCurrentProcess(); |
| // Note that we do not initialize a new FeatureList when calling this for |