summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Choc <tedchoc@google.com>2014-12-18 13:03:00 -0800
committerTed Choc <tedchoc@google.com>2014-12-18 21:04:27 +0000
commit0da72a79169e6f1d357bbe05ca9a025811f72268 (patch)
treedddb8435adac64dee659d840ea8d7f292c271ab5
parentc80dd8fce5ffbc6630d89b61862be688af1b1d6b (diff)
downloadchromium_src-0da72a79169e6f1d357bbe05ca9a025811f72268.zip
chromium_src-0da72a79169e6f1d357bbe05ca9a025811f72268.tar.gz
chromium_src-0da72a79169e6f1d357bbe05ca9a025811f72268.tar.bz2
[Android] Sanitze referrer for context menu downloads.
BUG=435479 Review URL: https://codereview.chromium.org/807063005 Cr-Commit-Position: refs/branch-heads/2214@{#335} Cr-Branched-From: 03655fd3f6d72165dc3c9bd2c89807305316fe6c-refs/heads/master@{#303346}
-rw-r--r--content/browser/android/download_controller_android_impl.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/content/browser/android/download_controller_android_impl.cc b/content/browser/android/download_controller_android_impl.cc
index 08cea4b..3cac149 100644
--- a/content/browser/android/download_controller_android_impl.cc
+++ b/content/browser/android/download_controller_android_impl.cc
@@ -371,14 +371,17 @@ DownloadControllerAndroidImpl::JavaObject*
void DownloadControllerAndroidImpl::StartContextMenuDownload(
const ContextMenuParams& params, WebContents* web_contents, bool is_link) {
const GURL& url = is_link ? params.link_url : params.src_url;
- const GURL& referrer = params.frame_url.is_empty() ?
+ const GURL& referring_url = params.frame_url.is_empty() ?
params.page_url : params.frame_url;
DownloadManagerImpl* dlm = static_cast<DownloadManagerImpl*>(
BrowserContext::GetDownloadManager(web_contents->GetBrowserContext()));
scoped_ptr<DownloadUrlParameters> dl_params(
DownloadUrlParameters::FromWebContents(web_contents, url));
- dl_params->set_referrer(
- Referrer(referrer, params.referrer_policy));
+ content::Referrer referrer = content::Referrer::SanitizeForRequest(
+ url,
+ content::Referrer(referring_url.GetAsReferrer(),
+ params.referrer_policy));
+ dl_params->set_referrer(referrer);
if (is_link)
dl_params->set_referrer_encoding(params.frame_charset);
else