diff options
Diffstat (limited to 'src/core/web_contents_adapter.cpp')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index e37a3ad24..364d4d5b2 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -46,6 +46,7 @@ #include "browser_accessibility_qt.h" #include "browser_context_adapter.h" +#include "browser_context_adapter_client.h" #include "browser_context_qt.h" #include "download_manager_delegate_qt.h" #include "media_capture_devices_dispatcher.h" @@ -847,11 +848,17 @@ void WebContentsAdapter::updateWebPreferences(const content::WebPreferences & we void WebContentsAdapter::download(const QUrl &url, const QString &suggestedFileName) { + Q_D(WebContentsAdapter); content::BrowserContext *bctx = webContents()->GetBrowserContext(); content::DownloadManager *dlm = content::BrowserContext::GetDownloadManager(bctx); + DownloadManagerDelegateQt *dlmd = d->browserContextAdapter->downloadManagerDelegate(); + if (!dlm) return; + dlmd->setDownloadType(BrowserContextAdapterClient::UserRequested); + dlm->SetDelegate(dlmd); + scoped_ptr<content::DownloadUrlParameters> params( content::DownloadUrlParameters::FromWebContents(webContents(), toGurl(url))); params->set_suggested_name(toString16(suggestedFileName)); |