Parallel Download: Fix missing request in an edge case.

Previously we always send a request after the last received slice, this
may lead to an out of range request, and we fix this issue in
https://chromium.googlesource.com/chromium/src/+/cb75f08beac18e6a237bf605fc612362b346d6fc

However, when the orginal request is completed before creating parallel
requests, we may not send parallel requests correctly due to the
assumption of always sending a request after last slice.

This CL fixes this issue and adds test coverage for this edge case.


Bug: 822340
Change-Id: Ibe459a642dc2f743075a5c9744ec1d9710446b05
Reviewed-on: https://chromium-review.googlesource.com/964992
Reviewed-by: Min Qin <qinmin@chromium.org>
Commit-Queue: Xing Liu <xingliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544165}
2 files changed