diff options
author | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-10 22:46:13 +0000 |
---|---|---|
committer | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-10 22:46:13 +0000 |
commit | 99ecf6eef0b28879e5b9dba05da0c9d32691c0be (patch) | |
tree | c02057a76f13e77ca167f3f1db149d16f2760eb2 /content/browser | |
parent | 3b617e991afabdac1bf69908b853af8ca847a5e9 (diff) | |
download | chromium_src-99ecf6eef0b28879e5b9dba05da0c9d32691c0be.zip chromium_src-99ecf6eef0b28879e5b9dba05da0c9d32691c0be.tar.gz chromium_src-99ecf6eef0b28879e5b9dba05da0c9d32691c0be.tar.bz2 |
Remove URL fragment from referrer HTTP header (to comply with rfc2616) when opening link using "Open Link in New Tab" option.
Change URLRequest::set_referrer to URLRequest::SetReferrer which sanitizes referrer by removing URL fragment, user name and password.
Remove URLRequest::GetSanitizedReferrer as URLRequest::referrer is now sanitized during set.
BUG=168213
TEST=net_unittests, browser_tests
Review URL: https://chromiumcodereview.appspot.com/12569007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193482 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
6 files changed, 8 insertions, 8 deletions
diff --git a/content/browser/android/download_controller_android_impl.cc b/content/browser/android/download_controller_android_impl.cc index 159d733..bd71d04 100644 --- a/content/browser/android/download_controller_android_impl.cc +++ b/content/browser/android/download_controller_android_impl.cc @@ -325,7 +325,7 @@ DownloadControllerAndroidImpl::DownloadInfoAndroid::DownloadInfoAndroid( request->extra_request_headers().GetHeader( net::HttpRequestHeaders::kUserAgent, &user_agent); - GURL referer_url(request->GetSanitizedReferrer()); + GURL referer_url(request->referrer()); if (referer_url.is_valid()) referer = referer_url.spec(); if (!request->url_chain().empty()) { diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc index 5fae57a..404e0e2 100644 --- a/content/browser/download/download_manager_impl.cc +++ b/content/browser/download/download_manager_impl.cc @@ -58,7 +58,7 @@ void BeginDownload(scoped_ptr<DownloadUrlParameters> params, params->resource_context()->GetRequestContext()->CreateRequest( params->url(), NULL)); if (params->referrer().url.is_valid()) - request->set_referrer(params->referrer().url.spec()); + request->SetReferrer(params->referrer().url.spec()); webkit_glue::ConfigureURLRequestForReferrerPolicy( request.get(), params->referrer().policy); request->set_load_flags(request->load_flags() | params->load_flags()); diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc index d69582e..8b655fc 100644 --- a/content/browser/loader/resource_dispatcher_host_impl.cc +++ b/content/browser/loader/resource_dispatcher_host_impl.cc @@ -465,7 +465,7 @@ net::Error ResourceDispatcherHostImpl::BeginDownload( base::debug::Alias(url_buf); CHECK(ContainsKey(active_resource_contexts_, context)); - request->set_referrer(MaybeStripReferrer(GURL(request->referrer())).spec()); + request->SetReferrer(MaybeStripReferrer(GURL(request->referrer())).spec()); int extra_load_flags = net::LOAD_IS_DOWNLOAD; if (prefer_cache) { // If there is upload data attached, only retrieve from cache because there @@ -953,7 +953,7 @@ void ResourceDispatcherHostImpl::BeginRequest( request->set_method(request_data.method); request->set_first_party_for_cookies(request_data.first_party_for_cookies); - request->set_referrer(referrer.url.spec()); + request->SetReferrer(referrer.url.spec()); webkit_glue::ConfigureURLRequestForReferrerPolicy(request, referrer.policy); net::HttpRequestHeaders headers; @@ -1269,7 +1269,7 @@ void ResourceDispatcherHostImpl::BeginSaveFile( scoped_ptr<net::URLRequest> request( request_context->CreateRequest(url, NULL)); request->set_method("GET"); - request->set_referrer(MaybeStripReferrer(referrer.url).spec()); + request->SetReferrer(MaybeStripReferrer(referrer.url).spec()); webkit_glue::ConfigureURLRequestForReferrerPolicy(request.get(), referrer.policy); // So far, for saving page, we need fetch content from cache, in the diff --git a/content/browser/loader/resource_dispatcher_host_unittest.cc b/content/browser/loader/resource_dispatcher_host_unittest.cc index 3a64c33..5c3faef 100644 --- a/content/browser/loader/resource_dispatcher_host_unittest.cc +++ b/content/browser/loader/resource_dispatcher_host_unittest.cc @@ -1288,7 +1288,7 @@ TEST_F(ResourceDispatcherHostTest, CalculateApproximateMemoryCost) { ResourceDispatcherHostImpl::CalculateApproximateMemoryCost(&req)); // Add 9 bytes of referrer. - req.set_referrer("123456789"); + req.SetReferrer("123456789"); EXPECT_EQ(4436, ResourceDispatcherHostImpl::CalculateApproximateMemoryCost(&req)); diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc index a88aa05..ad5dd53 100644 --- a/content/browser/loader/resource_loader.cc +++ b/content/browser/loader/resource_loader.cc @@ -529,7 +529,7 @@ void ResourceLoader::CompleteResponseStarted() { response->head.mime_type == "text/html" && !request_->url().SchemeIs(chrome::kChromeUIScheme) && !SiteInstance::IsSameWebSite(NULL, request_->url(), - request_->GetSanitizedReferrer())) { + GURL(request_->referrer()))) { response->head.mime_type = "application/browser-plugin"; } diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc index 0d4e075..74acbf1 100644 --- a/content/browser/renderer_host/render_message_filter.cc +++ b/content/browser/renderer_host/render_message_filter.cc @@ -815,7 +815,7 @@ void RenderMessageFilter::OnDownloadUrl(const IPC::Message& message, save_info->suggested_name = suggested_name; scoped_ptr<net::URLRequest> request( resource_context_->GetRequestContext()->CreateRequest(url, NULL)); - request->set_referrer(referrer.url.spec()); + request->SetReferrer(referrer.url.spec()); webkit_glue::ConfigureURLRequestForReferrerPolicy( request.get(), referrer.policy); RecordDownloadSource(INITIATED_BY_RENDERER); |