Chromium Code Reviews| Index: content/browser/download/download_resource_handler.cc |
| diff --git a/content/browser/download/download_resource_handler.cc b/content/browser/download/download_resource_handler.cc |
| index d806d9449330cbb7adce8c3f5743334936d37967..cfbc96f1668c9cbc533802962893316ba4170ecc 100644 |
| --- a/content/browser/download/download_resource_handler.cc |
| +++ b/content/browser/download/download_resource_handler.cc |
| @@ -62,10 +62,13 @@ static void StartOnUIThread( |
| scoped_ptr<DownloadCreateInfo> info, |
| scoped_ptr<DownloadResourceHandler::DownloadTabInfo> tab_info, |
| scoped_ptr<ByteStreamReader> stream, |
| + DownloadManager* parent_download_manager, |
| const DownloadUrlParameters::OnStartedCallback& started_cb) { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| DownloadManager* download_manager = info->request_handle.GetDownloadManager(); |
| + if (!download_manager) |
| + download_manager = parent_download_manager; |
|
asanka
2015/11/20 19:57:46
I'd do this the other way. I.e. if parent_download
svaldez
2015/11/23 15:18:56
Done.
|
| if (!download_manager) { |
| // NULL in unittests or if the page closed right after starting the |
| // download. |
| @@ -252,6 +255,7 @@ bool DownloadResourceHandler::OnResponseStarted( |
| base::Passed(&info), |
| base::Passed(&tab_info_), |
| base::Passed(&stream_reader), |
| + parent_download_manager_, |
| // Pass to StartOnUIThread so that variable |
| // access is always on IO thread but function |
| // is called on UI thread. |