| Index: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
|
| index 6335d3f50a38e9a4e0c582956c82a2d79af5484d..0378313903b0f6879d988f36d56d026f27bcbd90 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
|
| @@ -1120,6 +1120,7 @@ public class DownloadManagerService extends BroadcastReceiver implements
|
| boolean isNotificationDismissed) {
|
| nativeCancelDownload(getNativeDownloadManagerService(), downloadGuid, isOffTheRecord,
|
| isNotificationDismissed);
|
| + removeDownloadProgress(downloadGuid);
|
| recordDownloadFinishedUMA(DOWNLOAD_STATUS_CANCELLED, downloadGuid, 0);
|
| }
|
|
|
| @@ -1149,6 +1150,7 @@ public class DownloadManagerService extends BroadcastReceiver implements
|
| */
|
| public void removeDownload(String downloadGuid, boolean isOffTheRecord) {
|
| nativeRemoveDownload(getNativeDownloadManagerService(), downloadGuid, isOffTheRecord);
|
| + removeDownloadProgress(downloadGuid);
|
| }
|
|
|
| /**
|
| @@ -1166,7 +1168,7 @@ public class DownloadManagerService extends BroadcastReceiver implements
|
| void onResumptionFailed(String downloadGuid) {
|
| mDownloadNotifier.notifyDownloadFailed(
|
| new DownloadInfo.Builder().setDownloadGuid(downloadGuid).build());
|
| - mDownloadProgressMap.remove(downloadGuid);
|
| + removeDownloadProgress(downloadGuid);
|
| recordDownloadResumption(UMA_DOWNLOAD_RESUMPTION_FAILED);
|
| recordDownloadFinishedUMA(DOWNLOAD_STATUS_FAILED, downloadGuid, 0);
|
| }
|
| @@ -1337,6 +1339,15 @@ public class DownloadManagerService extends BroadcastReceiver implements
|
| stopListenToConnectionChangeIfNotNeeded();
|
| }
|
|
|
| + /**
|
| + * Helper method to remove a download from |mDownloadProgressMap|.
|
| + * @param guid Id of the download item.
|
| + */
|
| + private void removeDownloadProgress(String guid) {
|
| + mDownloadProgressMap.remove(guid);
|
| + removeAutoResumableDownload(guid);
|
| + }
|
| +
|
| @Override
|
| public void onConnectionTypeChanged(int connectionType) {
|
| if (mAutoResumableDownloadIds.isEmpty()) return;
|
|
|