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..e0cf8ae680ee44ce2a00a91c35eb289cf9f88595 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& 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,17 @@ void DownloadControllerAndroidImpl::StartContextMenuDownload( |
dl_params->set_referrer(referrer); |
if (is_link) |
dl_params->set_referrer_encoding(params.frame_charset); |
- else |
+ if (!headers.empty()) { |
+ std::vector<std::string> key_value_list; |
+ base::SplitString(headers, '\n', &key_value_list); |
Ted C
2015/06/22 20:40:49
Instead of this, could it use something like HttpR
bengr
2015/06/22 22:13:10
Agreed.
megjablon
2015/06/22 23:21:02
I don't see another way to add the headers here ot
Ted C
2015/06/22 23:25:28
I was thinking that you would still use DownloadUR
megjablon
2015/06/23 00:54:27
Ah my bad. I misunderstood. Done.
|
+ for (const auto& key_value : key_value_list) { |
+ std::vector<std::string> pair; |
+ base::SplitString(key_value, ':', &pair); |
+ DCHECK_EQ(2ul, pair.size()); |
+ dl_params->add_request_header(pair[0], pair[1]); |
+ } |
+ } |
+ if (!is_link && headers.empty()) |
dl_params->set_prefer_cache(true); |
dl_params->set_prompt(false); |
dlm->DownloadUrl(dl_params.Pass()); |