summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download/download_util.cc
diff options
context:
space:
mode:
authorahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 12:14:13 +0000
committerahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 12:14:13 +0000
commitbc932eff9ad3a4dcf306ed234d73510e49d33ff2 (patch)
tree763666f71b200d4eba8e708838b8ff183a794d6e /chrome/browser/download/download_util.cc
parentc34e9a7afa5eb386f22aa2480156b6bdec8597cd (diff)
downloadchromium_src-bc932eff9ad3a4dcf306ed234d73510e49d33ff2.zip
chromium_src-bc932eff9ad3a4dcf306ed234d73510e49d33ff2.tar.gz
chromium_src-bc932eff9ad3a4dcf306ed234d73510e49d33ff2.tar.bz2
Added DownloadProcessHandle class.
BUG=None TEST=Download tests still pass. Review URL: http://codereview.chromium.org/6932046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84967 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download/download_util.cc')
-rw-r--r--chrome/browser/download/download_util.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/chrome/browser/download/download_util.cc b/chrome/browser/download/download_util.cc
index 90fe73d..f68d676 100644
--- a/chrome/browser/download/download_util.cc
+++ b/chrome/browser/download/download_util.cc
@@ -809,13 +809,24 @@ void DownloadUrl(
*context);
}
-void CancelDownloadRequest(ResourceDispatcherHost* rdh,
- int render_process_id,
- int request_id) {
+static void CancelDownloadRequestOnIOThread(
+ ResourceDispatcherHost* rdh, DownloadProcessHandle process_handle) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
// |rdh| may be NULL in unit tests.
- if (rdh)
- rdh->CancelRequest(render_process_id, request_id, false);
+ if (!rdh)
+ return;
+
+ rdh->CancelRequest(process_handle.child_id(),
+ process_handle.request_id(),
+ false);
+}
+
+void CancelDownloadRequest(ResourceDispatcherHost* rdh,
+ DownloadProcessHandle process_handle) {
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ NewRunnableFunction(&download_util::CancelDownloadRequestOnIOThread,
+ rdh, process_handle));
}
void NotifyDownloadInitiated(int render_process_id, int render_view_id) {