diff options
Diffstat (limited to 'chrome/browser/renderer_host/download_resource_handler.cc')
-rw-r--r-- | chrome/browser/renderer_host/download_resource_handler.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/chrome/browser/renderer_host/download_resource_handler.cc b/chrome/browser/renderer_host/download_resource_handler.cc index 911edf8..3e5f3c0 100644 --- a/chrome/browser/renderer_host/download_resource_handler.cc +++ b/chrome/browser/renderer_host/download_resource_handler.cc @@ -92,9 +92,14 @@ bool DownloadResourceHandler::OnResponseStarted(int request_id, info->referrer_charset = request_->context()->referrer_charset(); info->save_info = save_info_; ChromeThread::PostTask( - ChromeThread::FILE, FROM_HERE, + ChromeThread::UI, FROM_HERE, NewRunnableMethod( download_file_manager_, &DownloadFileManager::StartDownload, info)); + + // We can't start saving the data before we create the file on disk. + // The request will be un-paused in DownloadFileManager::CreateDownloadFile. + rdh_->PauseRequest(global_id_.child_id, global_id_.request_id, true); + return true; } |