Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Unified Diff: chrome/browser/tab_contents/render_view_context_menu.cc

Issue 12569007: Remove URL fragment from referrer HTTP header when opening link using "Open Link in New Tab" option. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync up to rev 193385 Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/tab_contents/render_view_context_menu.cc
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
index 3898e341c004dac057e7e0498059212ebd9c784e..63081add0895620e2aabd6aabe084fe24c21d981 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -1940,9 +1940,21 @@ void RenderViewContextMenu::OpenURL(
const GURL& url, const GURL& referrer, int64 frame_id,
WindowOpenDisposition disposition,
content::PageTransition transition) {
+ // Ensure that URL fragment, username and password fields are not sent
+ // in the referrer.
+ GURL sanitized_referrer(referrer);
+ if (sanitized_referrer.is_valid() && (sanitized_referrer.has_ref() ||
+ sanitized_referrer.has_username() || sanitized_referrer.has_password())) {
+ GURL::Replacements referrer_mods;
+ referrer_mods.ClearRef();
+ referrer_mods.ClearUsername();
+ referrer_mods.ClearPassword();
+ sanitized_referrer = sanitized_referrer.ReplaceComponents(referrer_mods);
+ }
+
WebContents* new_contents = source_web_contents_->OpenURL(OpenURLParams(
- url, content::Referrer(referrer, params_.referrer_policy), disposition,
- transition, false));
+ url, content::Referrer(sanitized_referrer, params_.referrer_policy),
+ disposition, transition, false));
if (!new_contents)
return;
« no previous file with comments | « chrome/browser/predictors/resource_prefetcher.cc ('k') | chrome/browser/tab_contents/render_view_context_menu_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698