[platform] Implement TaskRunners in the DefaultPlatform
This CL implements the TaskRunners in the DefaultPlatform which has been added recently to the platform API. In addition I changed how task posting works on the DefaultPlatform. With this implementation the DefaultPlatform keeps one DefaultForegroundTaskRunner per isolate, plus one DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners with a shared_ptr, which is also shared with any caller of GetForegroundTaskRunner or GetBackgroundTaskrunner. This CL moves the task management from the DefaultPlatform to the TaskRunners. The DefaultForegroundTaskRunner owns and manages the the task queue, the delayed task queue, and the idle task queue. The DefaultBackgroundTaskRunner owns the WorkerThread pool and the background task queue. In addition changed many Task* to std::unique_ptr<Task> to document task ownership. R=rmcilroy@chromium.org Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27 Reviewed-on: https://chromium-review.googlesource.com/753583 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49354}
Showing
Please
register
or
sign in
to comment