New issue
Advanced search Search tips

Issue 795809 link

Starred by 2 users

Issue metadata

Status: Duplicate
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug


Participants' hotlists:
Downloads-Framework-Service


Sign in to add a comment

In memory download support for download service

Project Member Reported by xingliu@chromium.org, Dec 18 2017

Issue description

For incognito mode, download service shouldn't persist files to disk. 

And download related databases can't persist also. Currently download service uses the original profile and keep doing work in incognito mode.

Design doc:
go/download-service-incognito
 
Cc: carlosk@chromium.org
Found the first CL is pointed to an incorrect bug.
 
https://chromium-review.googlesource.com/c/chromium/src/+/833026
+carlosk@ for prefetch suggestion,

Hi, we are trying to support incognito where we never persist files to disk. Will it have impact on prefetch? 

Since prefetch can try to download in incognito session, it won't find the file in a normal session and thus may do a retry and be confused.
Seems PrefetchServiceFactory will return nullptr in incognito mode, so download service incognito support won't affect prefetch feature.
Mergedinto: 766299
Status: Duplicate (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 9 2018

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

commit 89860474c2ce980c14f12b97204c83b9fe5f76bd
Author: Xing Liu <xingliu@chromium.org>
Date: Fri Feb 09 20:07:02 2018

Background Download: Incognito mode support.

This CL implements more functionality for background download to support
incognito mode, the feature is behind a flag and disabled.

Major changes includes:

1. InMemoryDownloadDriver and tests, similar to
content::DownloadManagerImpl and download::DownloadDriverImpl. Extract
InMemoryDownload to a virtual base class for test.

2. A series of classes that don't do any db IO or file IO, and hook up
the pipeline to Chrome layer in DownloadServiceFactory.

3. Expose storage::BlobStorageContext in content/public, since download
now needs to use this API to save data to blob.

Bug:  795809 
Change-Id: Ib7f388fe7e86f9697625dfbb0da3689afbd824f6
Reviewed-on: https://chromium-review.googlesource.com/903372
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Xing Liu <xingliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535791}
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/chrome/browser/background_fetch/background_fetch_download_client.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/chrome/browser/download/download_service_factory.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/components_unittests.filter
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/content/factory/download_service_factory.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/content/factory/download_service_factory.h
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/content/internal/BUILD.gn
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/content/internal/download_driver_impl_unittest.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/BUILD.gn
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/blob_task_proxy.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/blob_task_proxy.h
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/empty_file_monitor.cc
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/empty_file_monitor.h
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/empty_task_scheduler.cc
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/empty_task_scheduler.h
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download.h
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download_driver.cc
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download_driver.h
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download_driver_unittest.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/in_memory_download_unittest.cc
[rename] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/noop_store.cc
[rename] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/noop_store.h
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/test/BUILD.gn
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/test/mock_download_driver_client.cc
[add] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/internal/background_service/test/mock_download_driver_client.h
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/public/background_service/features.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/components/download/public/background_service/features.h
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/content/browser/browser_context.cc
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/content/public/browser/BUILD.gn
[modify] https://crrev.com/89860474c2ce980c14f12b97204c83b9fe5f76bd/content/public/browser/browser_context.h

Sign in to add a comment