summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 17:22:49 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 17:22:49 +0000
commitf859eba5c449a4599851c3de396326e3360abd13 (patch)
treefc5e916fd8954971c8260bff0d9fa7cd07f3aab6 /content/browser
parent4da414195b83c07d4a2228d7d8bd4a8c0d496478 (diff)
downloadchromium_src-f859eba5c449a4599851c3de396326e3360abd13.zip
chromium_src-f859eba5c449a4599851c3de396326e3360abd13.tar.gz
chromium_src-f859eba5c449a4599851c3de396326e3360abd13.tar.bz2
Switch DownloadUrlParameters to use a content::Referrer instead of a GURL for the referrer
BUG=124750 TEST=none Review URL: https://chromiumcodereview.appspot.com/10441090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139562 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/download/download_manager_impl.cc5
-rw-r--r--content/browser/download/drag_download_file.cc2
-rw-r--r--content/browser/web_contents/web_contents_impl.cc3
3 files changed, 6 insertions, 4 deletions
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index 0303c3b..aae7f8a 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -37,6 +37,7 @@
#include "content/public/browser/web_contents_delegate.h"
#include "net/base/load_flags.h"
#include "net/base/upload_data.h"
+#include "webkit/glue/webkit_glue.h"
using content::BrowserThread;
using content::DownloadId;
@@ -57,7 +58,9 @@ void BeginDownload(content::DownloadUrlParameters* params) {
params->resource_dispatcher_host());
scoped_ptr<net::URLRequest> request(new net::URLRequest(
params->url(), resource_dispatcher_host));
- request->set_referrer(params->referrer().spec());
+ request->set_referrer(params->referrer().url.spec());
+ webkit_glue::ConfigureURLRequestForReferrerPolicy(
+ request.get(), params->referrer().policy);
request->set_load_flags(request->load_flags() | params->load_flags());
request->set_method(params->method());
if (!params->post_body().empty())
diff --git a/content/browser/download/drag_download_file.cc b/content/browser/download/drag_download_file.cc
index 077bb78..cbb4cab 100644
--- a/content/browser/download/drag_download_file.cc
+++ b/content/browser/download/drag_download_file.cc
@@ -139,7 +139,7 @@ void DragDownloadFile::InitiateDownload() {
download_stats::INITIATED_BY_DRAG_N_DROP);
scoped_ptr<DownloadUrlParameters> params(
DownloadUrlParameters::FromWebContents(web_contents_, url_, save_info));
- params->set_referrer(referrer_.url);
+ params->set_referrer(referrer_);
params->set_referrer_encoding(referrer_encoding_);
download_manager_->DownloadUrl(params.Pass());
}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 9ba0f4f..6512414 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3049,8 +3049,7 @@ void WebContentsImpl::SaveURL(const GURL& url,
save_info.prompt_for_save_location = true;
scoped_ptr<DownloadUrlParameters> params(
DownloadUrlParameters::FromWebContents(this, url, save_info));
- // TODO(jochen): Pass in the referrer policy as well.
- params->set_referrer(referrer.url);
+ params->set_referrer(referrer);
params->set_post_id(post_id);
params->set_prefer_cache(true);
if (post_id >= 0)