Implement PostDelayedTaskAt for guaranteed timer ordering
commit2a96102e57a45f9c87187fb2b4f35c3cdba6153a
authorskyostil <skyostil@chromium.org>
Thu, 16 Jul 2015 14:39:26 +0000 (16 07:39 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 16 Jul 2015 14:40:10 +0000 (16 14:40 +0000)
tree1f954fb30f9730d86974266671864715d8046b01
parent2758adfdb7d5e8274152f443ee924163812e1c61
Implement PostDelayedTaskAt for guaranteed timer ordering

This patch implements a new method for posting delayed tasks:
PostDelayedTaskAt(). In contrast to PostDelayedTask(), this API accepts
the desired run time as an absolute time stamp instead of a delta from
the current time. This makes it possible for Blink to post several
aligned timers to the same desired run time and have the timers execute
in their posted order.

BUG=508279

Review URL: https://codereview.chromium.org/1223163006

Cr-Commit-Position: refs/heads/master@{#339024}
29 files changed:
components/scheduler/child/child_scheduler.h
components/scheduler/child/idle_helper.cc
components/scheduler/child/idle_helper_unittest.cc
components/scheduler/child/null_task_queue.cc [new file with mode: 0644]
components/scheduler/child/null_task_queue.h [new file with mode: 0644]
components/scheduler/child/null_worker_scheduler.cc
components/scheduler/child/null_worker_scheduler.h
components/scheduler/child/scheduler_helper.cc
components/scheduler/child/scheduler_helper.h
components/scheduler/child/scheduler_helper_unittest.cc
components/scheduler/child/task_queue.h [new file with mode: 0644]
components/scheduler/child/task_queue_manager.cc
components/scheduler/child/task_queue_manager.h
components/scheduler/child/task_queue_manager_perftest.cc
components/scheduler/child/task_queue_manager_unittest.cc
components/scheduler/child/web_scheduler_impl.cc
components/scheduler/child/web_scheduler_impl.h
components/scheduler/child/worker_scheduler_impl.cc
components/scheduler/child/worker_scheduler_impl.h
components/scheduler/renderer/null_renderer_scheduler.cc
components/scheduler/renderer/null_renderer_scheduler.h
components/scheduler/renderer/renderer_scheduler.h
components/scheduler/renderer/renderer_scheduler_impl.cc
components/scheduler/renderer/renderer_scheduler_impl.h
components/scheduler/renderer/renderer_web_scheduler_impl.cc
components/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc
components/scheduler/scheduler.gypi
content/test/fake_renderer_scheduler.cc
content/test/fake_renderer_scheduler.h