Description[Downloads] Do not store error responses during resumption.
If a server or an intermediary sends a redirect, error, or other
unexpected response during resumption, don't store it or discard the
partial download state. Instead the download item will flag itself as
interrupted again and will require an externally initiated Resume() call
to try again.
Such responses are common where captive portals or other middle boxes
are present. If such cases aren't explicitly handled, an untimely
resumption attempt could discard partial state.
As a side-effect of this patch, downloads will also not discard partial
state due to other server errors during resumption (e.g. 500).
BUG=7648
R=svaldez@chromium.org, davidben@chromium.org, rdevlin.cronin@chromium.org
TBR=sky@chromium.org
Committed: https://crrev.com/edb920a2e81a6be07d4ef30da09e3f2e9debe0c1
Cr-Commit-Position: refs/heads/master@{#376625}
Patch Set 1 #Patch Set 2 : #
Total comments: 13
Patch Set 3 : Restrict changes to redirect handling. #Patch Set 4 : Catch up with upstream. #Patch Set 5 : Catch up with upstream changes. #Patch Set 6 : #Patch Set 7 : #Patch Set 8 : #Messages
Total messages: 23 (10 generated)
|