summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download/download_request_limiter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download/download_request_limiter.cc')
-rw-r--r--chrome/browser/download/download_request_limiter.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/download/download_request_limiter.cc b/chrome/browser/download/download_request_limiter.cc
index 0a828a1..579c172 100644
--- a/chrome/browser/download/download_request_limiter.cc
+++ b/chrome/browser/download/download_request_limiter.cc
@@ -190,6 +190,7 @@ DownloadRequestLimiter::DownloadStatus
void DownloadRequestLimiter::CanDownloadOnIOThread(int render_process_host_id,
int render_view_id,
+ int request_id,
Callback* callback) {
// This is invoked on the IO thread. Schedule the task to run on the UI
// thread so that we can query UI state.
@@ -197,7 +198,8 @@ void DownloadRequestLimiter::CanDownloadOnIOThread(int render_process_host_id,
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
NewRunnableMethod(this, &DownloadRequestLimiter::CanDownload,
- render_process_host_id, render_view_id, callback));
+ render_process_host_id, render_view_id, request_id,
+ callback));
}
void DownloadRequestLimiter::OnUserGesture(TabContents* tab) {
@@ -233,6 +235,7 @@ DownloadRequestLimiter::TabDownloadState* DownloadRequestLimiter::
void DownloadRequestLimiter::CanDownload(int render_process_host_id,
int render_view_id,
+ int request_id,
Callback* callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -243,16 +246,17 @@ void DownloadRequestLimiter::CanDownload(int render_process_host_id,
ScheduleNotification(callback, false);
return;
}
- CanDownloadImpl(originating_tab, callback);
+ CanDownloadImpl(originating_tab, request_id, callback);
}
void DownloadRequestLimiter::CanDownloadImpl(
TabContents* originating_tab,
+ int request_id,
Callback* callback) {
// FYI: Chrome Frame overrides CanDownload in ExternalTabContainer in order
// to cancel the download operation in chrome and let the host browser
// take care of it.
- if (!originating_tab->CanDownload(callback->GetRequestId())) {
+ if (!originating_tab->CanDownload(request_id)) {
ScheduleNotification(callback, false);
return;
}