base: Don't avoid scheduling immediate work inside DoDelayedWork

Some message pumps -- most notably the Mac ones -- don't guarantee that
returning true from DoDelayedWork causes a future call to DoWork to be
scheduled. This patch ensures the optimization to prevent a redundant
call to ScheduleWork from a running task isn't applied for delayed
tasks. This is a speculative fix to some of the Mac hangs that we are
observing with the SequenceManager.

Bug: 891670
Change-Id: Ib457a66afc68f9aa41b022a812fc433cd991d124
Reviewed-on: https://chromium-review.googlesource.com/c/1396317
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620009}
3 files changed