Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 690706 Split "Create" and "Start" phases of TaskScheduler to allow tasks to be posted prior to it running
Starred by 2 users Project Member Reported by robliao@chromium.org, Feb 9 Back to list
Status: Fixed
Owner:
Closed: Apr 28
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature

Blocking:
issue 553459
issue 659191
issue 667892



Sign in to add a comment
Currently base/task_scheduler/post_task.h requires a TaskScheduler to be set for any of the APIs to work.

This has been a source of issues (crashes) for Chrome initialization as we find callers that occur before a TaskScheduler is actually set. To solve this issue once and for all, a default TaskScheduler should probably be set for later customization.

There are two main approaches considered:

1) A simple task scheduler without all of the bells and whistles of the main one.
2) A queuing task scheduler that will wait until the real one is instantiated and forward to that.
3) Allowing the current default task scheduler to queue and then adjust to environment parameters specified after construction.

Options (1) and (2) will require a handoff of the in-flight tasks to the next task scheduler.

Option (3) will require adjusting the machinery to allow for parameter changes like maximum number of workers (currently we have an assumption that this doesn't change after construction).
 
Description: Show this description
Blocking: 667892 659191
Labels: -Pri-2 M-58 Pri-1
Owner: fdoray@chromium.org
Status: Assigned
Summary: Split "Create" and "Start" phases of TaskScheduler to allow tasks to be posted prior to it running (was: Design and Implement TaskScheduler API Default Behavior)
This is required for M58 to make sure we don't have crashes after branch per an infrequent task being posted too early.

Let's prioritize this ahead of further migration work.
Project Member Comment 3 by bugdroid1@chromium.org, Mar 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dafc3415b9ca6afe4c08690891e6331280ee7bbb

commit dafc3415b9ca6afe4c08690891e6331280ee7bbb
Author: fdoray <fdoray@chromium.org>
Date: Tue Mar 21 17:19:29 2017

Remove the |max_threads| argument from CreateAndSetSimpleTaskScheduler().

We want to change TaskSchedulerImpl so that it always has 4 thread pools. This
is incompatible with a CreateAndSetSimpleTaskScheduler() function that takes
a global maximum number of threads as argument. Therefore, this CL removes
that argument. Since existing callers didn't have comments to justify how the
value of this argument was chosen, they shouldn't care too much about this
change.

This CL also adds a |name| argument to CreateAndSetSimpleTaskScheduler()
that is used to label threads and histograms associated with the created
TaskScheduler.

BUG= 690706 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

Review-Url: https://codereview.chromium.org/2729523006
Cr-Commit-Position: refs/heads/master@{#458450}

[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/chrome/app/mash/mash_runner.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/chrome/service/service_process.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/content/child/child_process.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/client/chromoting_client_runtime.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/client/ios/app_runtime.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/host/it2me/it2me_native_messaging_host_main.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/host/setup/me2me_native_messaging_host_main.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/host/setup/start_host_main.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/remoting/test/chromoting_test_driver.cc
[modify] https://crrev.com/dafc3415b9ca6afe4c08690891e6331280ee7bbb/ui/ozone/demo/ozone_demo.cc

Project Member Comment 4 by bugdroid1@chromium.org, Mar 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f6f57a4713fc45b7e4fddf588df5aa43c909457

commit 3f6f57a4713fc45b7e4fddf588df5aa43c909457
Author: fdoray <fdoray@chromium.org>
Date: Tue Mar 28 18:02:39 2017

Add TaskScheduler::InitParams and accept it in TaskSchedulerImpl constructor.

TaskScheduler::InitParams is a struct of 4 SchedulerWorkerPoolParams.
Eventually, TaskSchedulerImpl will always be initialized with it
(it will no longer be possible to provide a vector with an
arbitrary number of SchedulerWorkerPoolParams).

Reference CL: https://codereview.chromium.org/2749303002/

BUG= 690706 

Review-Url: https://codereview.chromium.org/2764603002
Cr-Commit-Position: refs/heads/master@{#460167}

[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/scheduler_worker_pool_params.cc
[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/scheduler_worker_pool_params.h
[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/3f6f57a4713fc45b7e4fddf588df5aa43c909457/base/task_scheduler/task_scheduler_impl.h

Project Member Comment 5 by bugdroid1@chromium.org, Mar 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa6f34f961ffb2d4570a1c58f46b7fca6ddfad8b

commit fa6f34f961ffb2d4570a1c58f46b7fca6ddfad8b
Author: fdoray <fdoray@chromium.org>
Date: Wed Mar 29 12:25:37 2017

Initialize TaskScheduler with InitParams in sequenced_worker_pool_unittest.cc.

Initializing TaskScheduler with a vector of SchedulerWorkerPoolParams
is no longer supported.

Reference CL: https://codereview.chromium.org/2749303002/

BUG= 690706 

Review-Url: https://codereview.chromium.org/2762753002
Cr-Commit-Position: refs/heads/master@{#460358}

[modify] https://crrev.com/fa6f34f961ffb2d4570a1c58f46b7fca6ddfad8b/base/threading/sequenced_worker_pool_unittest.cc

Project Member Comment 6 by bugdroid1@chromium.org, Apr 4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd083b7d9394059c80f9131b4874fc54662ee3bc

commit fd083b7d9394059c80f9131b4874fc54662ee3bc
Author: fdoray <fdoray@chromium.org>
Date: Tue Apr 04 13:45:01 2017

Generate TaskScheduler::InitParams from components/task_scheduler_util/.

Initialization of TaskScheduler with a vector of
SchedulerWorkerPoolParams is being deprecated in favor of
initialization with a TaskScheduler::InitParams struct that contains
a fixed number of SchedulerWorkerPoolParams members.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2788223002
Cr-Commit-Position: refs/heads/master@{#461698}

[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/base/task_scheduler/scheduler_worker_pool_params.h
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/browser/initialization.cc
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/browser/initialization.h
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/common/variations_util.cc
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/common/variations_util.h
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/common/variations_util_unittest.cc
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/renderer/initialization.cc
[modify] https://crrev.com/fd083b7d9394059c80f9131b4874fc54662ee3bc/components/task_scheduler_util/renderer/initialization.h

Project Member Comment 8 by bugdroid1@chromium.org, Apr 4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a70d7175ade7962c719eed61838d483c572fc137

commit a70d7175ade7962c719eed61838d483c572fc137
Author: fdoray <fdoray@chromium.org>
Date: Tue Apr 04 20:52:20 2017

Use TaskScheduler::InitParams to initialize TaskScheduler in child processes.

Initialization with an arbitrary vector of SchedulerWorkerPoolParams
is being deprecated.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2798623002
Cr-Commit-Position: refs/heads/master@{#461828}

[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/chrome/renderer/chrome_content_renderer_client.cc
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/chrome/renderer/chrome_content_renderer_client.h
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/child/child_process.cc
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/child/child_process.h
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/public/renderer/content_renderer_client.cc
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/public/renderer/content_renderer_client.h
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/renderer/render_process.cc
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/renderer/render_process.h
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/renderer/render_process_impl.cc
[modify] https://crrev.com/a70d7175ade7962c719eed61838d483c572fc137/content/renderer/render_process_impl.h

Project Member Comment 9 by bugdroid1@chromium.org, Apr 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb0d1678d04256ad6e41aaa88a7edd83ca8ca030

commit fb0d1678d04256ad6e41aaa88a7edd83ca8ca030
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 05 13:56:04 2017

Initialize TaskScheduler with InitParams in ScopedAsyncTaskScheduler.

Initialization with a vector of SchedulerWorkerPoolParams is
deprecated.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2795693006
Cr-Commit-Position: refs/heads/master@{#462057}

[modify] https://crrev.com/fb0d1678d04256ad6e41aaa88a7edd83ca8ca030/base/test/scoped_async_task_scheduler.cc

Project Member Comment 10 by bugdroid1@chromium.org, Apr 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5217ff6448e98b789300c01dc178bdac31f8a134

commit 5217ff6448e98b789300c01dc178bdac31f8a134
Author: fdoray <fdoray@chromium.org>
Date: Thu Apr 06 21:05:24 2017

Initialize TaskScheduler with InitParams in CreateAndSetSimpleTaskScheduler().

Initialization with a vector of SchedulerWorkerPoolParams is
deprecated.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2791423003
Cr-Commit-Position: refs/heads/master@{#462616}

[modify] https://crrev.com/5217ff6448e98b789300c01dc178bdac31f8a134/base/task_scheduler/task_scheduler.cc

Project Member Comment 11 by bugdroid1@chromium.org, Apr 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/168cacfff7d0fb37a4f14e9a558cc368524b6ec0

commit 168cacfff7d0fb37a4f14e9a558cc368524b6ec0
Author: fdoray <fdoray@chromium.org>
Date: Sat Apr 08 00:51:58 2017

Separate the create and start phases in SchedulerWorkerPoolImpl.

With this CL, a newly instantiated SchedulerWorkerPoolImpl doesn't
have any workers. Tasks can be posted to it but they don't run until
Start() is called. When Start() is called, workers are created and
tasks can start running.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2801673002
Cr-Commit-Position: refs/heads/master@{#463082}

[modify] https://crrev.com/168cacfff7d0fb37a4f14e9a558cc368524b6ec0/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/168cacfff7d0fb37a4f14e9a558cc368524b6ec0/base/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/168cacfff7d0fb37a4f14e9a558cc368524b6ec0/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/168cacfff7d0fb37a4f14e9a558cc368524b6ec0/base/task_scheduler/task_scheduler_impl.cc

Project Member Comment 14 by bugdroid1@chromium.org, Apr 10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f60fb4d0d4527442621b0626edac9ca97a27fa2

commit 5f60fb4d0d4527442621b0626edac9ca97a27fa2
Author: fdoray <fdoray@chromium.org>
Date: Mon Apr 10 18:29:19 2017

Initialize TaskScheduler with InitParams in service_process.cc.

Initialization with a vector of SchedulerWorkerPoolParams is
deprecated.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2794423002
Cr-Commit-Position: refs/heads/master@{#463336}

[modify] https://crrev.com/5f60fb4d0d4527442621b0626edac9ca97a27fa2/chrome/service/service_process.cc

Project Member Comment 15 by bugdroid1@chromium.org, Apr 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a

commit b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 19 00:37:26 2017

Separate the create and start phases in SchedulerSingleThreadTaskRunnerManager.

With this CL, single-thread TaskRunners created from a newly
instantiated SchedulerSingleThreadTaskRunnerManager aren't backed
by a thread (and hence their tasks can't run right away). Thread
creation is delayed until
SchedulerSingleThreadTaskRunnerManager::Start().

BUG= 690706 

Review-Url: https://codereview.chromium.org/2806413002
Cr-Commit-Position: refs/heads/master@{#465439}

[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker.h
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker_stack_unittest.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/b64df4b2b6feeebc0ae622fb2fc012cfa6b58c1a/base/task_scheduler/task_scheduler_impl.cc

Project Member Comment 16 by bugdroid1@chromium.org, Apr 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7e8477007b26a23de2a945ec69d11e766f3fb70

commit e7e8477007b26a23de2a945ec69d11e766f3fb70
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 19 13:42:24 2017

Always use TaskScheduler::InitParams to initialize a TaskScheduler.

This CL removes code that allows initialization of TaskSchedulerImp
with a vector of SchedulerWorkerPoolParams and a TaskTraits->pool
mapping function. TaskSchedulerImpl is now always initialized with a
TaskScheduler::InitParams, always has four pools and has a hard-coded
TaskTraits->pool mapping function.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2809163003
Cr-Commit-Position: refs/heads/master@{#465583}

[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/e7e8477007b26a23de2a945ec69d11e766f3fb70/base/task_scheduler/task_scheduler_impl_unittest.cc

Project Member Comment 17 by bugdroid1@chromium.org, Apr 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2cc05d188ea62c172bf3bf54611671c95c380ab7

commit 2cc05d188ea62c172bf3bf54611671c95c380ab7
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 19 14:06:54 2017

Do not take a MessageLoopForIO in the constructor of TaskTrackerPosix.

The MessageLoopForIO isn't available until the service thread
is started. TaskTrackerPosix needs to be instantiated before
that so that SchedulerWorkerPools can be instantiated with a
pointer to it before the TaskScheduler is started.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2816653003
Cr-Commit-Position: refs/heads/master@{#465586}

[modify] https://crrev.com/2cc05d188ea62c172bf3bf54611671c95c380ab7/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/2cc05d188ea62c172bf3bf54611671c95c380ab7/base/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/2cc05d188ea62c172bf3bf54611671c95c380ab7/base/task_scheduler/task_tracker_posix.cc
[modify] https://crrev.com/2cc05d188ea62c172bf3bf54611671c95c380ab7/base/task_scheduler/task_tracker_posix.h
[modify] https://crrev.com/2cc05d188ea62c172bf3bf54611671c95c380ab7/base/task_scheduler/task_tracker_posix_unittest.cc

Project Member Comment 18 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/840441cf01a424125e56e25369a75994ec4b9588

commit 840441cf01a424125e56e25369a75994ec4b9588
Author: fdoray <fdoray@chromium.org>
Date: Thu Apr 20 13:13:11 2017

Separate the create and start phases in DelayedTaskManager.

Tasks added to the DelayedTaskManager before Start() are sent to the
service thread when Start() is called. Tasks added to the
DelayedTaskManager after Start() are sent to the service thread as
they are added. The service thread calls the post task callback of
a task when it becomes ripe for execution.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2810873008
Cr-Commit-Position: refs/heads/master@{#465988}

[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/delayed_task_manager.cc
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/delayed_task_manager.h
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/delayed_task_manager_unittest.cc
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/840441cf01a424125e56e25369a75994ec4b9588/base/task_scheduler/task_scheduler_impl.h

Project Member Comment 21 by bugdroid1@chromium.org, Apr 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/43ec6dfaa0c7df6c01fc05649593808bbe5e051b

commit 43ec6dfaa0c7df6c01fc05649593808bbe5e051b
Author: fdoray <fdoray@chromium.org>
Date: Tue Apr 25 23:16:12 2017

Add TaskScheduler::Create and TaskScheduler::CreateAndStartWithDefaultParams.

Processes that need to initialize task scheduler with custom params
and processes that need to create and start task scheduler in separate
steps should use TaskScheduler::Create.

Processes that need a task scheduler but don't need custom
initialization params and are fine with creating and starting the
task scheduler in one step (i.e. don't need a period during which
tasks can be posted to task scheduler without running) should
use TaskScheduler::CreateAndStartWithDefaultParams.

BUG= 690706 

Review-Url: https://codereview.chromium.org/2836033002
Cr-Commit-Position: refs/heads/master@{#467159}

[modify] https://crrev.com/43ec6dfaa0c7df6c01fc05649593808bbe5e051b/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/43ec6dfaa0c7df6c01fc05649593808bbe5e051b/base/task_scheduler/task_scheduler.h

Project Member Comment 22 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/54151d830574c77a0673105e99076bfa1fbd792a

commit 54151d830574c77a0673105e99076bfa1fbd792a
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 26 10:00:15 2017

Create TaskScheduler in BrowserMainLoop constructor.

This CL allows tasks to be posted via base/task_scheduler/post_task.h
as soon as BrowserMainLoop is instantiated. Tasks don't run until
TaskScheduler::Start() is called in BrowserMainLoop::CreateThreads().

BUG= 690706 

Review-Url: https://codereview.chromium.org/2835933004
Cr-Commit-Position: refs/heads/master@{#467283}

[modify] https://crrev.com/54151d830574c77a0673105e99076bfa1fbd792a/content/browser/browser_main_loop.cc

Project Member Comment 23 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70f501b9dc3cd0ed78e99ec63514700c31186666

commit 70f501b9dc3cd0ed78e99ec63514700c31186666
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 26 20:30:04 2017

Create TaskScheduler in WebMainLoop constructor.

This CL allows tasks to be posted via base/task_scheduler/post_task.h
as soon as WebMainLoop is instantiated. Tasks don't run until
TaskScheduler::Start() is called in BrowserMainLoop::CreateThreads().

This change matches a BrowserMainLoop change:
https://codereview.chromium.org/2835933004/

BUG= 690706 

Review-Url: https://codereview.chromium.org/2841943005
Cr-Commit-Position: refs/heads/master@{#467439}

[modify] https://crrev.com/70f501b9dc3cd0ed78e99ec63514700c31186666/ios/web/app/web_main_loop.mm

Project Member Comment 24 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f264f1a41214087a86a32e5d5497650fcf40cb4b

commit f264f1a41214087a86a32e5d5497650fcf40cb4b
Author: fdoray <fdoray@chromium.org>
Date: Wed Apr 26 21:54:58 2017

Remove TaskScheduler::CreateAndSetSimpleTaskScheduler().

This method has been replaced by
CreateAndStartWithDefaultParams().

TBR=gab@chromium.org
BUG= 690706 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

Review-Url: https://codereview.chromium.org/2836293006
Cr-Commit-Position: refs/heads/master@{#467472}

[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/content/child/child_process.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/client/chromoting_client_runtime.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/host/it2me/it2me_native_messaging_host_main.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/host/setup/me2me_native_messaging_host_main.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/host/setup/start_host_main.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/remoting/test/chromoting_test_driver.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/services/service_manager/embedder/main.cc
[modify] https://crrev.com/f264f1a41214087a86a32e5d5497650fcf40cb4b/ui/ozone/demo/ozone_demo.cc

Status: Fixed
Awesome!
Sign in to add a comment