Handle downloads on Android without all of Chrome running |
||||||||||||||||||
Issue descriptionOnce the network service is split up to run on its own (bug 598073), can we handle downloads on Android without all of Chrome running? First, this tracking bug should list dependencies and we can then try to estimate how soon we can do this feature. ⛆ |
|
|
,
Feb 22 2017
,
Feb 22 2017
,
Apr 26 2017
,
Apr 26 2017
,
Jul 7 2017
,
Nov 10 2017
,
May 26 2018
,
May 27 2018
,
Jun 1 2018
,
Jun 1 2018
POC test plan: https://docs.google.com/document/d/1L6AICZhGSyDeNue8TQzo1Gp0pCIb-D_y-Vmx6P1SbQI/
,
Jun 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c commit 42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c Author: Ken Rockot <rockot@chromium.org> Date: Thu Jun 28 21:08:41 2018 Introduce download_manager service Registers a download_manager service with the in-process ServiceManager, giving it access to the network service. The service instance is initialized on startup and runs indefinitely, providing a dedicated service manager connection for the Android DownloadManagerService object. Bug: 695115 Change-Id: Ia372fd417679b8b31c0986d087289d2fc20c09f6 Reviewed-on: https://chromium-review.googlesource.com/1117573 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Reviewed-by: Min Qin <qinmin@chromium.org> Commit-Queue: Ken Rockot <rockot@chromium.org> Cr-Commit-Position: refs/heads/master@{#571256} [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/app/BUILD.gn [add] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/android/download/OWNERS [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/android/download/download_manager_service.cc [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/android/download/download_manager_service.h [add] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/android/download/manifest.json [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/chrome/browser/chrome_content_browser_client.h [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/content/browser/service_manager/service_manager_context.cc [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/content/public/browser/content_browser_client.cc [modify] https://crrev.com/42dfa78ed0bb5501129cf2f4d9ebdef3622f9e8c/content/public/browser/content_browser_client.h
,
Jul 18
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4d370e2ccac71fff3c4a5709439c2eef747c7340 commit 4d370e2ccac71fff3c4a5709439c2eef747c7340 Author: Min Qin <qinmin@chromium.org> Date: Wed Jul 18 00:04:45 2018 Do a null check on BrowserContext in DownloadManagerService DownloadManagerService may start too early before full browser is started. In this case, downloadItem doesn't have a BrowserContext object assocuated, BUG=695115 Change-Id: Ie7dcc88bb63cdfc8af0d0e4d4670e808e22f175e Reviewed-on: https://chromium-review.googlesource.com/1140519 Reviewed-by: Shakti Sahu <shaktisahu@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#575863} [modify] https://crrev.com/4d370e2ccac71fff3c4a5709439c2eef747c7340/chrome/browser/android/download/download_manager_service.cc
,
Jul 20
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1193143e8226c0547934918726d505b3283b49e7 commit 1193143e8226c0547934918726d505b3283b49e7 Author: Min Qin <qinmin@chromium.org> Date: Fri Jul 20 00:40:34 2018 Revert "Do a null check on BrowserContext in DownloadManagerService" This reverts commit 4d370e2ccac71fff3c4a5709439c2eef747c7340. Reason for revert: <INSERT REASONING HERE> Original change's description: > Do a null check on BrowserContext in DownloadManagerService > > DownloadManagerService may start too early before full browser is started. > In this case, downloadItem doesn't have a BrowserContext object assocuated, > > BUG=695115 > > Change-Id: Ie7dcc88bb63cdfc8af0d0e4d4670e808e22f175e > Reviewed-on: https://chromium-review.googlesource.com/1140519 > Reviewed-by: Shakti Sahu <shaktisahu@chromium.org> > Commit-Queue: Min Qin <qinmin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#575863} TBR=qinmin@chromium.org,shaktisahu@chromium.org,xingliu@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 695115 Change-Id: Iaaa46d8f07625f423dceadede668a7f4d254d3b6 Reviewed-on: https://chromium-review.googlesource.com/1144082 Commit-Queue: Min Qin <qinmin@chromium.org> Reviewed-by: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#576725} [modify] https://crrev.com/1193143e8226c0547934918726d505b3283b49e7/chrome/browser/android/download/download_manager_service.cc
,
Jul 20
,
Jul 20
,
Jul 20
,
Jul 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871 commit d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871 Author: Min Qin <qinmin@chromium.org> Date: Sat Jul 21 06:46:59 2018 Allow DownloadManagerImpl to get InProgressDownloadManager from DownloadManagerService InProgressDownloadManager could get created before DownloadManagerImpl ctor. And DownloadManagerService will own the InProgressDownloadManager in that case. This CL allows DownloadManagerImpl to retrieve the pre-created InProgressDownloadManager from DownloadManagerService BUG=695115 Change-Id: Ie2d553894e623116a5e09ae54ec4b8672b180c7f Reviewed-on: https://chromium-review.googlesource.com/1135986 Commit-Queue: Min Qin <qinmin@chromium.org> Reviewed-by: Xing Liu <xingliu@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#577075} [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/chrome/browser/android/download/download_manager_service.cc [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/chrome/browser/android/download/download_manager_service.h [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/chrome/browser/profiles/profile_impl.cc [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/chrome/browser/profiles/profile_impl.h [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/components/download/public/common/in_progress_download_manager.h [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/content/browser/browser_context.cc [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/content/browser/download/download_manager_impl.cc [modify] https://crrev.com/d3ff2ed6a3ff78e2a5ad203b6dc3967e53b9a871/content/public/browser/browser_context.h
,
Jul 25
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/71a13fc632e501da625e1922c990c52b95ccad82 commit 71a13fc632e501da625e1922c990c52b95ccad82 Author: Min Qin <qinmin@chromium.org> Date: Wed Jul 25 21:32:35 2018 Move DownloadUrlLoaderFactoryGetterImpl from content/ to components/ There are no dependencies in content/ for this class. Moving it to components/ so it can be used in chrome/ layer for servicification. BUG=695115 Change-Id: If37805b71ef588bbaaa7035eecb16c5cbc4a75b6 Reviewed-on: https://chromium-review.googlesource.com/1150402 Reviewed-by: Bo <boliu@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#578071} [modify] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/components/download/internal/common/BUILD.gn [rename] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/components/download/internal/common/download_url_loader_factory_getter_impl.cc [modify] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/components/download/public/common/BUILD.gn [rename] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/components/download/public/common/download_url_loader_factory_getter_impl.h [modify] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/content/browser/BUILD.gn [modify] https://crrev.com/71a13fc632e501da625e1922c990c52b95ccad82/content/browser/download/download_manager_impl.cc
,
Aug 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7852489cc7f23304635ae9423ab5c46e00deaf3c commit 7852489cc7f23304635ae9423ab5c46e00deaf3c Author: Min Qin <qinmin@chromium.org> Date: Tue Aug 07 22:08:07 2018 Handle some cases download is running without full browser When browser is not fully running, Profile cannot be accessed. This CL also disables the use of toast as it is very expensive when full browser is not running. BUG=695115 Change-Id: I7560e3684307741e0a1ba01ec8efec0ff97fdbc4 Reviewed-on: https://chromium-review.googlesource.com/1165849 Reviewed-by: Xing Liu <xingliu@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#581358} [modify] https://crrev.com/7852489cc7f23304635ae9423ab5c46e00deaf3c/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java [modify] https://crrev.com/7852489cc7f23304635ae9423ab5c46e00deaf3c/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java [modify] https://crrev.com/7852489cc7f23304635ae9423ab5c46e00deaf3c/chrome/browser/android/download/download_manager_service.cc [modify] https://crrev.com/7852489cc7f23304635ae9423ab5c46e00deaf3c/chrome/browser/android/download/download_manager_service.h
,
Aug 23
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f62ac05708a883c55333495d60b9ac8b4610369c commit f62ac05708a883c55333495d60b9ac8b4610369c Author: Min Qin <qinmin@chromium.org> Date: Thu Aug 23 00:43:59 2018 Don't call ProcessInitializationHandler.initializePostNative() when running ServiceManager only. All codes in ProcessInitializationHandler.initializePostNative() requires full browser to run. And some of the class uses profile during initialization, which will crash when only service manager is running. As a result, there is no need to run this method if full browser is not launched. For services, they should add their own required tasks in ChromeBrowserInitializer.handlePostNativeStartup. BUG=695115 Change-Id: I66f314cfcb56df00553f017d3e5b6989e3a9ef60 Reviewed-on: https://chromium-review.googlesource.com/1182008 Reviewed-by: Ted Choc <tedchoc@chromium.org> Reviewed-by: Xi Han <hanxi@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#585341} [modify] https://crrev.com/f62ac05708a883c55333495d60b9ac8b4610369c/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
,
Aug 25
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9cbcf63de4223f2aac6a5e93227a3aa43c65b7bf commit 9cbcf63de4223f2aac6a5e93227a3aa43c65b7bf Author: Min Qin <qinmin@chromium.org> Date: Sat Aug 25 01:24:52 2018 Add a helper method to retrieve network service from a service manager Connector If services are launched without full browser process, they need to retrieve the network service from the service manager connector they have. This CL adds a helper method to allow that to work. BUG=695115 Change-Id: I362b814b03d60d9645523664a7243555bac6f053 Reviewed-on: https://chromium-review.googlesource.com/1188776 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#586094} [modify] https://crrev.com/9cbcf63de4223f2aac6a5e93227a3aa43c65b7bf/content/browser/network_service_instance.cc [modify] https://crrev.com/9cbcf63de4223f2aac6a5e93227a3aa43c65b7bf/content/public/browser/network_service_instance.h
,
Sep 22
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/56437421524037987544f00bf660e6b7ca7732c8 commit 56437421524037987544f00bf660e6b7ca7732c8 Author: Min Qin <qinmin@chromium.org> Date: Sat Sep 22 00:22:03 2018 Call DownloadManagerService::OnFullBrowserStarted when full browser launches If DownloadManagerService is launched without full browser, we need to call OnFullBrowserStarted() once full browser launches BUG=695115 Change-Id: Ibaabb72716305d674edadbd4659eb6a1bbb6cf63 Reviewed-on: https://chromium-review.googlesource.com/1185731 Reviewed-by: Xing Liu <xingliu@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#593391} [modify] https://crrev.com/56437421524037987544f00bf660e6b7ca7732c8/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
,
Oct 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c2a2894f23c4197f201f30d74aa67554a708112 commit 7c2a2894f23c4197f201f30d74aa67554a708112 Author: Min Qin <qinmin@chromium.org> Date: Wed Oct 03 22:33:55 2018 Allow DownloadManagerService to create InProgressDownloadManager. This CL allows DownloadManagerService to create InProgressDownloadManager under cirtain circumstances. The created InProgressDownloadManager can be used to resume download without launching full browser process. And can be passed to the DownloadManager when the latter is created. BUG=695115 Change-Id: I050c1e5f5247cc1550e59117f7943a66a71656ce Reviewed-on: https://chromium-review.googlesource.com/c/1182613 Reviewed-by: Xing Liu <xingliu@chromium.org> Commit-Queue: Min Qin <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#596403} [modify] https://crrev.com/7c2a2894f23c4197f201f30d74aa67554a708112/chrome/browser/android/download/download_manager_service.cc [modify] https://crrev.com/7c2a2894f23c4197f201f30d74aa67554a708112/chrome/browser/android/download/download_manager_service.h
,
Oct 25
,
Oct 26
|
|||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by jam@chromium.org
, Feb 22 2017