Index: content/browser/android/download_controller_android_impl.cc |
diff --git a/content/browser/android/download_controller_android_impl.cc b/content/browser/android/download_controller_android_impl.cc |
index d8da51836f8b44754b555af927974795d304ffaa..df13580e4e59196e43045d180ac590986f947e2f 100644 |
--- a/content/browser/android/download_controller_android_impl.cc |
+++ b/content/browser/android/download_controller_android_impl.cc |
@@ -390,7 +390,8 @@ DownloadControllerAndroidImpl::JavaObject* |
} |
void DownloadControllerAndroidImpl::StartContextMenuDownload( |
- const ContextMenuParams& params, WebContents* web_contents, bool is_link) { |
+ const ContextMenuParams& params, WebContents* web_contents, bool is_link, |
+ const std::string& extra_headers) { |
const GURL& url = is_link ? params.link_url : params.src_url; |
const GURL& referring_url = params.frame_url.is_empty() ? |
params.page_url : params.frame_url; |
@@ -405,7 +406,11 @@ void DownloadControllerAndroidImpl::StartContextMenuDownload( |
dl_params->set_referrer(referrer); |
if (is_link) |
dl_params->set_referrer_encoding(params.frame_charset); |
- else |
+ net::HttpRequestHeaders headers; |
+ headers.AddHeadersFromString(extra_headers); |
+ for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) |
+ dl_params->add_request_header(it.name(), it.value()); |
Ted C
2015/06/23 16:32:53
indented 2 too many
megjablon
2015/06/23 20:29:47
Done.
|
+ if (!is_link && extra_headers.empty()) |
dl_params->set_prefer_cache(true); |
dl_params->set_prompt(false); |
dlm->DownloadUrl(dl_params.Pass()); |