scheduler: Allow timer task to be nested
commit022f550d73963aa4ce245aeaa0515504d89b2e24
authorskyostil <skyostil@chromium.org>
Fri, 22 May 2015 17:14:47 +0000 (22 10:14 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 22 May 2015 17:15:16 +0000 (22 17:15 +0000)
treefb0256267d289e97fafd19cf440a4a59210aa202
parent34f31e27d41871ba15c1852870010f7bee6c8c43
scheduler: Allow timer task to be nested

Blink's current shared timer mechanism, which we are trying to replace,
allows timers to execute in nested message loops, but only if the
nested message loop itself was not initiated by a timer. We believe
this limitation is a historical relic which was originally introduced
to prevent multiple invocations of the same timer[1].

When the shared timer is replaced by indivially posted tasks, the
underlying scheduler will ensure that each task is only executed once.
Therefore it should be safe to lift this restriction.

[1] https://trac.webkit.org/changeset/12774

BUG=463143,416362,480522

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

Cr-Commit-Position: refs/heads/master@{#331133}
components/scheduler/child/web_scheduler_impl.cc