Asynchonously remove a download item to avoid reentrance issue

When native found an externally deleted download, it calls into DownloadItem::OnDownloadUpdated().
This will trigger the DownloadHistoryItemWrapper to call removeDownload().
Which in turn calls into DownloadItem::OnDownloadUpdated() again.
This CL makes removeDownload() an asynchronous operation.
So we don't have the reentrance issue.


Change-Id: I84a71c3fbc2d8757da5e9c16bc0a6b24f94f8e44
Commit-Queue: Min Qin <>
Reviewed-by: Xing Liu <>
Cr-Commit-Position: refs/heads/master@{#518505}
2 files changed