Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Issue 2767593003: Handle early pause, cancel for parallel requests. (Closed)

Created:
3 years, 9 months ago by xingliu
Modified:
3 years, 9 months ago
CC:
chromium-reviews, asanka, jam, kinuko+watch, darin-cc_chromium.org, blink-worker-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Handle early pause, cancel for parallel requests. Currently we have an issue that Pause, Cancel can be called before building the parallel requests or before adding the byte stream reader to the file sink. In this case, we should still call request handle's pause or cancel to block the pipe or destroy the pipe. BUG=702683, 644352 Review-Url: https://codereview.chromium.org/2767593003 Cr-Commit-Position: refs/heads/master@{#459873} Committed: https://chromium.googlesource.com/chromium/src/+/cca0315b59850a2d21409f77e6c9c970cb8a47e2

Patch Set 1 #

Patch Set 2 : Rebase. #

Total comments: 9

Patch Set 3 : Work on feedback. #

Total comments: 5

Patch Set 4 : Work on feedback, let workers remember some states. #

Patch Set 5 : Revert the change to let workers know more states. #

Patch Set 6 : Remove a debugging code. #

Patch Set 7 : Rebase with master. #

Patch Set 8 : Removed empty line caused by auto merge. #

Patch Set 9 : Work on feedback, make DownloadWorker cache some states. #

Total comments: 2

Patch Set 10 : Move is_canceled_ to subclass. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+189 lines, -51 lines) Patch
M content/browser/download/download_job.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -2 lines 0 comments Download
M content/browser/download/download_job.cc View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -7 lines 0 comments Download
M content/browser/download/download_worker.h View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -1 line 0 comments Download
M content/browser/download/download_worker.cc View 1 2 3 4 5 6 7 8 4 chunks +20 lines, -2 lines 0 comments Download
M content/browser/download/parallel_download_job.h View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -7 lines 0 comments Download
M content/browser/download/parallel_download_job.cc View 1 2 3 4 5 6 7 8 9 6 chunks +21 lines, -4 lines 0 comments Download
M content/browser/download/parallel_download_job_unittest.cc View 1 2 3 4 5 6 7 8 9 6 chunks +125 lines, -28 lines 0 comments Download

Messages

Total messages: 58 (34 generated)
xingliu
Hi, PTAL, thanks.
3 years, 9 months ago (2017-03-21 21:49:48 UTC) #8
qinmin
https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc File content/browser/download/parallel_download_job.cc (right): https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc#newcode96 content/browser/download/parallel_download_job.cc:96: worker->Cancel(); do you need to do this? If cancel ...
3 years, 9 months ago (2017-03-21 22:53:55 UTC) #11
xingliu
Thanks for the review, some discussion. https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc File content/browser/download/parallel_download_job.cc (right): https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc#newcode96 content/browser/download/parallel_download_job.cc:96: worker->Cancel(); On 2017/03/21 ...
3 years, 9 months ago (2017-03-21 23:19:14 UTC) #12
xingliu
Some discussion, I think it also makes sense to let the worker defer the cancel ...
3 years, 9 months ago (2017-03-21 23:28:00 UTC) #13
qinmin
https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc File content/browser/download/parallel_download_job.cc (right): https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc#newcode96 content/browser/download/parallel_download_job.cc:96: worker->Cancel(); On 2017/03/21 23:27:59, xingliu wrote: > On 2017/03/21 ...
3 years, 9 months ago (2017-03-21 23:48:33 UTC) #14
xingliu
Thanks for the feedback, PTAL. Also clean up the unit tests. https://codereview.chromium.org/2767593003/diff/20001/content/browser/download/parallel_download_job.cc File content/browser/download/parallel_download_job.cc (right): ...
3 years, 9 months ago (2017-03-22 01:26:00 UTC) #15
qinmin
https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h File content/browser/download/parallel_download_job.h (right): https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h#newcode58 content/browser/download/parallel_download_job.h:58: bool IsPaused() const override; nit: worker can remember whether ...
3 years, 9 months ago (2017-03-22 05:50:29 UTC) #16
xingliu
Thanks for the feedback. PTAL. Add a cancel check before building paralleld requests. Clean up ...
3 years, 9 months ago (2017-03-22 23:54:06 UTC) #19
David Trainor- moved to gerrit
lgtm
3 years, 9 months ago (2017-03-24 17:02:15 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2767593003/100001
3 years, 9 months ago (2017-03-24 18:57:24 UTC) #25
commit-bot: I haz the power
Failed to apply patch for content/browser/download/download_job.cc: While running git apply --index -p1; error: patch failed: ...
3 years, 9 months ago (2017-03-24 19:39:17 UTC) #27
qinmin
https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h File content/browser/download/parallel_download_job.h (right): https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h#newcode58 content/browser/download/parallel_download_job.h:58: bool IsPaused() const override; On 2017/03/22 23:54:06, xingliu wrote: ...
3 years, 9 months ago (2017-03-24 19:52:58 UTC) #28
xingliu
On 2017/03/24 19:52:58, qinmin wrote: > https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h > File content/browser/download/parallel_download_job.h (right): > > https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h#newcode58 > ...
3 years, 9 months ago (2017-03-24 22:04:42 UTC) #31
xingliu
On 2017/03/24 22:04:42, xingliu wrote: > On 2017/03/24 19:52:58, qinmin wrote: > > > https://codereview.chromium.org/2767593003/diff/40001/content/browser/download/parallel_download_job.h ...
3 years, 9 months ago (2017-03-24 22:10:22 UTC) #32
qinmin
On 2017/03/24 22:10:22, xingliu wrote: > On 2017/03/24 22:04:42, xingliu wrote: > > On 2017/03/24 ...
3 years, 9 months ago (2017-03-24 22:26:12 UTC) #33
xingliu
On 2017/03/24 22:26:12, qinmin wrote: > On 2017/03/24 22:10:22, xingliu wrote: > > On 2017/03/24 ...
3 years, 9 months ago (2017-03-24 23:20:07 UTC) #36
xingliu
The main reason is UrlDownloader::Delegate need to be passed in when creating the request. So ...
3 years, 9 months ago (2017-03-24 23:25:28 UTC) #37
xingliu
PTAL, thanks. Work on the feedback, 1. Now DownloadWorker also has variable is_pause, is_cancel. 2. ...
3 years, 9 months ago (2017-03-25 00:35:49 UTC) #40
qinmin
lgtm % nit https://codereview.chromium.org/2767593003/diff/160001/content/browser/download/download_job.h File content/browser/download/download_job.h (right): https://codereview.chromium.org/2767593003/diff/160001/content/browser/download/download_job.h#newcode35 content/browser/download/download_job.h:35: bool is_canceled() const { return is_canceled_; ...
3 years, 9 months ago (2017-03-26 05:01:00 UTC) #43
xingliu
Thanks for the review. https://codereview.chromium.org/2767593003/diff/160001/content/browser/download/download_job.h File content/browser/download/download_job.h (right): https://codereview.chromium.org/2767593003/diff/160001/content/browser/download/download_job.h#newcode35 content/browser/download/download_job.h:35: bool is_canceled() const { return ...
3 years, 9 months ago (2017-03-27 17:29:33 UTC) #44
qinmin
On 2017/03/27 17:29:33, xingliu wrote: > Thanks for the review. > > https://codereview.chromium.org/2767593003/diff/160001/content/browser/download/download_job.h > File ...
3 years, 9 months ago (2017-03-27 17:46:57 UTC) #47
xingliu
On 2017/03/27 17:46:57, qinmin wrote: > On 2017/03/27 17:29:33, xingliu wrote: > > Thanks for ...
3 years, 9 months ago (2017-03-27 18:10:09 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2767593003/180001
3 years, 9 months ago (2017-03-27 20:37:17 UTC) #55
commit-bot: I haz the power
3 years, 9 months ago (2017-03-27 20:55:15 UTC) #58
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/cca0315b59850a2d21409f77e6c9...

Powered by Google App Engine
This is Rietveld 408576698