Chromium Code Reviews| 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()); |