New issue
Advanced search Search tips

Issue 809674 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 26
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug


Participants' hotlists:
Downloads-Framework-Service


Sign in to add a comment

Download service incognito: InMemoryDownload polish

Project Member Reported by xingliu@chromium.org, Feb 6 2018

Issue description

InMemoryDownload backend needs a couple of polishes, including:

1. Avoid extra large data copy, currently we use URLFetcher::GetResponseAsString(via URLFetcherStringWriter) that when we push data to blob, there is one extra copy which is pretty bad for large chunk of data like in memory download.

2. Destroy large data buffer in the correct time. Useless large data chunk should be release in time. This is potentially important because of blob system's memory limit.

3. Support pause, and download resumption.

4. Metric for incognito support. Especially blob system error.

5. Use SimpleUrlLoader instead of URLFetcher as network backend.
 
Description: Show this description
Description: Show this description
Project Member

Comment 3 by bugdroid1@chromium.org, Feb 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/682a22a8f73476faf9464a615f4b55fbefa13cfa

commit 682a22a8f73476faf9464a615f4b55fbefa13cfa
Author: Xing Liu <xingliu@chromium.org>
Date: Sat Feb 17 02:02:39 2018

Download background service: Support pause resume for incognito mode.

This CL polishes InMemoryDownload and adds ResponseWriter to support
download pause and resume API.

Also avoid an unneccessary data copy from URLFetcher to InMemoryDownload
that the default StringWriter must copy out the data.

Bug:  809674 
Change-Id: Ic86ce2a35109c21951c42d9e759b980eb116a42c
Reviewed-on: https://chromium-review.googlesource.com/918061
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Xing Liu <xingliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537504}
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/blob_task_proxy.cc
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/in_memory_download.cc
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/in_memory_download.h
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/in_memory_download_driver.cc
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/in_memory_download_driver_unittest.cc
[modify] https://crrev.com/682a22a8f73476faf9464a615f4b55fbefa13cfa/components/download/internal/background_service/in_memory_download_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af7868f3c26d516aff85f7ad2a4e4997a8093751

commit af7868f3c26d516aff85f7ad2a4e4997a8093751
Author: Xing Liu <xingliu@chromium.org>
Date: Fri Feb 23 01:31:30 2018

Download Service: Verify blob data in tests.

This CL uses storage::BlobReader to verify in memory download data in
the unit test.

Bug:  809674 ,766299
Change-Id: Idcc944da6c8d4fdd2e35ed4eb83784543ec4b723
Reviewed-on: https://chromium-review.googlesource.com/932013
Commit-Queue: Xing Liu <xingliu@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538656}
[modify] https://crrev.com/af7868f3c26d516aff85f7ad2a4e4997a8093751/components/download/internal/background_service/in_memory_download_unittest.cc

Description: Show this description
Status: started (was: Assigned)
Status: Fixed (was: Started)

Sign in to add a comment