Index: chrome/browser/chrome_browser_main.cc |
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc |
index 6e3e14b2cc96c364e574a4d97e1b5cb07c1a5512..42c9d2f79844e4794c1279863b241895d9554e04 100644 |
--- a/chrome/browser/chrome_browser_main.cc |
+++ b/chrome/browser/chrome_browser_main.cc |
@@ -335,7 +335,7 @@ void MaybeInitializeTaskScheduler() { |
variation_params.find("RedirectSequencedWorkerPools"); |
if (sequenced_worker_pool_param != variation_params.end() && |
sequenced_worker_pool_param->second == "true") { |
- base::SequencedWorkerPool::RedirectToTaskSchedulerForProcess(); |
+ base::SequencedWorkerPool::EnableWithRedirectionToTaskSchedulerForProcess(); |
} |
} |
@@ -1229,7 +1229,8 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
// IOThread's initialization which happens in BrowserProcess:PreCreateThreads. |
SetupFieldTrials(); |
- // Task Scheduler initialization needs to be here for the following reasons: |
+ // Initializing TaskScheduler and enabling SequencedWorkerPool needs to be |
+ // here for the following reasons: |
// * After |SetupFieldTrials()|: Initialization uses variations. |
// * Before |SetupMetrics()|: |SetupMetrics()| uses the blocking pool. The |
// Task Scheduler must do any necessary redirection before then. |
@@ -1240,6 +1241,12 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
// shutdown call may also need to be moved. |
MaybeInitializeTaskScheduler(); |
+ // If MaybeInitializeTaskScheduler() hasn't enabled SequencedWorkerPool with |
+ // redirection to TaskScheduler, enable it without redirection. |
+ // TODO(fdoray): Remove this once the SequencedWorkerPool to TaskScheduler |
+ // redirection experiment concludes https://crbug.com/622400. |
+ base::SequencedWorkerPool::EnableForProcess(); |
gab
2016/11/01 16:09:48
Add a bool to MaybeInitializeTaskScheduler() and m
fdoray
2016/11/01 20:40:28
Done.
|
+ |
SetupMetrics(); |
// ChromeOS needs ResourceBundle::InitSharedInstance to be called before this. |