Enforce order of CrossThread Thens

Before a promise is resolved/rejected the Thens/Catches are added to a
specialized lock free list and run in order.  Currently there is a race
between dispatching those and dealing with any new dependencies that
arrive after the promise is resolved/rejected.

Bug: 906125
Change-Id: I915c670c29160a1f88ffaf1d1e703ee0fe0b4cb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648176
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669510}
6 files changed